Orthanc — бесплатный и свободно распространяемый PACS-сервер, используется для хранения и просмотра медицинских DICOM-снимков. Устанавливать его мы будем на «чистый» Ubuntu Server 20.04.
Подключаемся к серверу и обновляем репозитории:
$ ssh root@pacs.koobik.lan
root@pacs.koobik.lan`s password:
root@pacs:~# apt update && apt upgrade
Устанавливаем пакеты Orthanc`а.
root@pacs:~# apt install orthanc orthanc-dicomweb orthanc-webviewer |
Запускаем сервер и проверяем, слушает ли он порты. Порт 8042 — для web-интерфейса и порт 4242 — для интеграции с другими приложениями (в частности, для удалённой загрузки снимков, об этом — в конце заметки).
root@pacs:~# service orthanc start
root@pacs:~# netstat -tulp | grep Orthanc
tcp 0 0 0.0.0.0:4242 0.0.0.0:* LISTEN 2020/Orthanc
tcp 0 0 0.0.0.0:8042 0.0.0.0:* LISTEN 2020/Orthanc
С этого момента сервер работает и доступен через браузер по адресу http://HOSTNAME_OR_IP:8042. Теперь создадим учетную запись пользователя и разрешим авторизацию на сервере, для этого откроем на редактирование конфигурационный файл orthanc.json.
root@pacs:~# nano /etc/orthanc/orthanc.json
Нас интересуют два параметра — RemoteAccessAllowed (меняем false на true) и RegisteredUsers (раскомментируем и задаём логины-пароли для авторизации).
<...>
"RemoteAccessAllowed" : true,
<...>
"RegisteredUsers" : {
"finist" : "KOOBIKnet",
"admin" : "koobikNET"
},
<...>
После сохранения перезапустим сервер и залогинимся по адресу http://HOSTNAME_OR_IP:8042 под одной из созданных учёток.
root@pacs:~# service orthanc restart
Если всё сделано правильно, появится интерфейс Orthanc`а.
На этом этапе сервер полностью работоспособен — позволяет загружать снимки, проcматривать их в браузере и искать. Единственное неудобство — веб-интерфейс Orthanc`a при загрузке исследований не позволяет выбрать директорию целиком, только файлы изображений; это неудобно, если исследование имеет вложенные директории. Для удобства можно пользоваться двумя способами.
Автоматическая загрузка исследования скриптом
Orthanc предлагает несколько способов загрузки DICOM-изображений. Речь пойдёт про скрипт ImportDicomFiles.py. Для работы должен быть установлен Python3. Синтаксис запуска скрипта:
# без авторизации
python3 ImportDicomFiles.py hostname_or_ip 8042 /dir_name
# с авторизацией
python3 ImportDicomFiles.py hostname_or_ip 8042 /dir_name login password
Нужно создать smb-шару и дать к ней доступ. В примере — доступ для всех без ограничений.
$ mkdir /import
$ chmod 777
# /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
security=user
guest account=user_login
map to guest=Bad Password
[import]
path=/import
read only=no
guest ok=yes
browsable=yes
Исследование следует загрузить в созданную шару, затем выполнить команду:
$ python3 ImportDicomFiles.py 127.0.0.1 8042 /import admin koobikNET
Скрипт самостоятельно проверяет все директории в /import на предмет dicom-снимков, при нахождении — загружает их к себе. Чтобы не тратить место и не заниматься чисткой, предлагаю использовать модифицированный ImportDicomFiles_custom.py — он не проверяет директории, которые «моложе» 10 минут (на случай, если исследование большое и ещё копируется) и после загрузки dicom-снимков удаляет их (не директории).
Теперь можно создать bash-крипт idf.sh, который запустит скрипт импорта файлов, затем проверит, все ли директории в /import «старше» 60 минут и если да — удалит их.
#!/bin/bash
python3 /root/ImportDicomFiles.py pacs.koobik.lan 8042 /import admin koobikNET
OLDDIRCOUNT=$(find /import/ -type d -mmin -60 -mindepth 1 -maxdepth 1 2>/dev/null | wc -l);
if [ $OLDDIRCOUNT -eq 0 ]; then
rm -r /import/*
fi
Скрипт можно поместить в cron для выполнения каждые 10 минут:
$ crontab -e
*/10 * * * * sh /root/idf.sh
Ручная загрузка исследования утилитой
Можно использовать утилиту PACS IW Migration Tool.
В конфигурации утилиты нужно указать адрес хоста с Orthanc и порт 4242.
После этого в основном интерфейсе программы нужно выбрать директорию, содержащую исследовани(е/я) и запустить отправку — утилита самостоятельно отберёт нужные файлы и загрузит их на PACS-сервер.
Доброго времени суток.
Спасибо за статью, может подскажете как произвести настройку? Читаю документацию и не могу понять.
Интересует как перенести БД на недефолтное место? Я примонтировал HDD, но как складывать на него снимки не знаю.
Разобрался. Я думал, что СУБД автоматически ставится, но нет. Установил postgresql, создал БД и перенес её на HDD.
Кстати, в новой версии orthanc пользователи создаются в другом файле -> /etc/orthanc/credentials.json
Orthanc — отличный Pacs-сервер. Нам в клинику компания Рентгениус все настроили и подключили несколько диагностических аппаратов различного производителя.
Привет. А как настроить очистку базы Orthanc?