필요에 의해서 DICOM 서버를 구축해야 했다. 필요한 이유는 많은 PACS 이미지를 전송 받아서 분석에 이용하기 위해서는 DICOM 포맷으로만 가능하다고 한다. 이게 단순히 dcm 파일로만 전송해 줄 수 있다는 것이 아니다. DICOM 이라는 규격을 준수하면 파일을 주고 받을 수 있다는 것이다. 즉, DICOM 서버가 필요하다는 소리이다. 인터넷 검색을 통하여 몇 개를 찾을 수 있었는데, 그 중에서 Orthanc 가 Rest API도 지원이 되고, 오픈 소스이기 때문에 사용을 해보았다.
처음에는 Docker에서 진행하여 보았다. 홈페이지에서도 도커를 언급하고 있으므로, 안되는 것은 아니다. 다만, 완전 초보인 경우에는 설정 파일을 수정하기 전까지는 localhost의 web에서 접속을 함으로써 성공 여부를 평가할 수 있다. 급한 것은 아니나 프로그램에 익숙해 진 이후에 하면 되는 것이라서 이럴 때마다 희생되는 나의 옛 데탑 PC에 Ubuntu Desktop을 설치한 이후에 프로그램을 실행하였다.
Debian이나 Ubuntu repository에 등록된 프로그램이기 때문에 설치는 간단하다. 일단은 관련 플러그인도 다 설치하여 보았다.
$ sudo apt install orthanc orthanc-*
기본 설정으로 DICOM 포트는 4242이며, web이나 rest api 포트는 8042이다. 병원 PACS에서 파일 전송을 위한 SCP 등록을 위해서 업체 관리자에게 부탁해서 등록을 했다. 알려주어야 하는 것은 이름(title), IP, 포트이다. 이렇게 등록이 되면 PACS에서 send 를 클릭하는 것으로 한 방에 보낼 수 있다.
기본 설치를 하게 되면 /usr/sbin 에 Orthanc라는 실행 파일이 설치가 된다. 그리고 이는 /etc/init.d/orthanc 라는 스크립트에 의하여 관리가 된다. 상태를 보면 다음과 같다.
$ sudo systemctl status orthanc
...
CGroup: /system.slice/orthanc.service
/usr/sbin/Orthanc --logdir=/var/log/orthanc /etc/orthanc/
Orthanc는 JSON 포맷으로 설정을 관리한다. 그리고 특정 파일을 지정할 수 있다. 폴더를 지정하면 폴더 내의 모든 파일을 합하여 인식이 된다고 한다. 즉, /etc/orthanc/ 에 있는 파일이 설정 파일이다. localhost 이외의 컴퓨터에서 접속을 하기 위해서는 /etc/orthanc/orthanc.json 파일을 수정해야 한다. 기본 설정인 상태에서 다음의 부분을 수정한다. 설정 파일에 보면 나와 있지만 사용자 계정과 비밀번호는 plain text로 저장이 되므로, 그냥 예시에서 주석을 해제하여 이용하였다. 그리고 서비스를 재시작하면 다른 PC에서도 접속할 수 있다.
...
"RemoteAccessAllowed" : true,
...
"AuthenticationEnabled" : true,
...
"RegisteredUsers": {
"ID": "PW"
}