Установка бесплатного PACS-сервера ORTHANC на Ubuntu 20.04

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-сервер.

2 комментария

  1. Доброго времени суток.
    Спасибо за статью, может подскажете как произвести настройку? Читаю документацию и не могу понять.
    Интересует как перенести БД на недефолтное место? Я примонтировал HDD, но как складывать на него снимки не знаю.

    1. Разобрался. Я думал, что СУБД автоматически ставится, но нет. Установил postgresql, создал БД и перенес её на HDD.
      Кстати, в новой версии orthanc пользователи создаются в другом файле -> /etc/orthanc/credentials.json

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *