Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
orthanc [2019/04/12 07:31] sector создано |
orthanc [2022/02/01 02:25] sector |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | Раньше ничем таким не занимался, | + | Раньше ничем таким не занимался, |
- | На работе есть несколько медицинских устройств, | + | На работе есть несколько медицинских устройств, |
- | На каждом оборудовании есть своя программа и на станциях врачей своя. | + | На каждом оборудовании есть своя программа и на станциях врачей своя.\\ |
- | Решил попробовать сделать единое хранилище. | + | Решил попробовать сделать единое хранилище. |
- | Конечно, | + | Конечно, |
- | Поиск выдал Orthanc, система у меня Debian | + | Поиск выдал Orthanc, система у меня Debian |
<code | ini> | <code | ini> | ||
Строка 12: | Строка 12: | ||
</ | </ | ||
- | Установился, поправил конфиг для того что бы зайти в WEB, загрузил несколько картинок, по игрался... | + | Установил, |
- | Но что-то мне не совсем понравился стандартный web viewer... | + | |
- | Решил прикрутить | + | |
- | Прописал в конфиг плагин: | + | |
- | <code | ini > | + | В последних версиях пользователи хранятся тут : |
- | " | + | <code | ini> |
+ | credentials.json | ||
+ | |||
+ | { | ||
+ | /** | ||
+ | * Sensitive configuration options. This file must *not* be | ||
+ | * publicly-readable. It must only be readable by the users that run | ||
+ | * the " | ||
+ | **/ | ||
+ | |||
+ | // The list of the registered users. Because Orthanc uses HTTP | ||
+ | // Basic Authentication, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | Включение http сервера и авторизации тут: | ||
+ | |||
+ | <code | ini> | ||
+ | |||
+ | Orthanc.json | ||
+ | " | ||
+ | |||
+ | |||
+ | " | ||
+ | |||
+ | </ | ||
+ | |||
+ | Что-то мне не понравился стандартный web viewer...\\ | ||
+ | Решил прикрутить | ||
+ | |||
+ | скачиваем: | ||
+ | |||
+ | <code | ini> | ||
+ | wget http:// | ||
+ | </ | ||
+ | |||
+ | нужно посмотреть -> http:// | ||
+ | |||
+ | по умолчанию подгружаются все плагины находящиеся в папке / | ||
+ | поэтому директиву Plugins править не нужно.\\ | ||
+ | скаченную библиотеку надо поместить в папку: / | ||
+ | и перезапустить orthanc.\\ | ||
+ | |||
+ | |||
+ | <code | ini> | ||
+ | // Whether remote hosts can connect to the HTTP server | ||
+ | " | ||
+ | |||
+ | | ||
"/ | "/ | ||
] | ] | ||
+ | | ||
</ | </ | ||
- | И был послан, | ||
- | Решил | + | TITLE AE -сервера, |
+ | И кодировка в которую они будут преобразованы " | ||
- | Ставим необходимое: | ||
<code | ini> | <code | ini> | ||
- | sudo apt-get install build-essential unzip cmake mercurial uuid-dev libcurl4-openssl-dev liblua5.1-0-dev | + | // The DICOM Application Entity Title |
+ | " | ||
+ | |||
+ | // Check whether the called AET corresponds to the AET of Orthanc | ||
+ | // during an incoming DICOM SCU request | ||
+ | " | ||
+ | |||
+ | // The DICOM port | ||
+ | " | ||
+ | |||
+ | // The default encoding that is assumed for DICOM files without | ||
+ | // " | ||
+ | // C-Find requests (including worklists). The allowed values are | ||
+ | // " | ||
+ | // " | ||
+ | // " | ||
+ | // " | ||
+ | //" | ||
+ | " | ||
</ | </ | ||
- | скачиваем^ | + | <code | ini> |
+ | WEB-интерфейс тут http://ваш ip: | ||
+ | </ | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | Подключение к СУБД: | ||
<code | ini> | <code | ini> | ||
- | wget https:// | + | apt-get install default-mysql-server default-mysql-clietn defaultlt-libmysqlclient-dev |
+ | </code> | ||
+ | |||
+ | Увеличиваем размер блока данных: | ||
+ | |||
+ | <code | ini> | ||
+ | mcedit my.cnf | ||
+ | |||
+ | max_allowed_packet | ||
</ | </ | ||
- | распаковываем, собираем: | + | создаем пользователя и бд, подключаемся: |
<code | ini> | <code | ini> | ||
- | # cmake -DALLOW_DOWNLOADS=ON \ | + | mcedit / |
- | | + | |
- | | + | cat / |
- | -DDCMTK_LIBRARIES=dcmjpls \ | + | { |
- | -DCMAKE_BUILD_TYPE=Release \ | + | /** |
- | ~/Orthanc-1.5.6 | + | * Configuration to use MySQL or MariaDB instead of the default |
- | # make | + | * SQLite back-end of Orthanc. You will have to install the |
- | # make install | + | * " |
+ | **/ | ||
+ | " | ||
+ | // Enable the use of MySQL to store the Orthanc | ||
+ | " | ||
+ | |||
+ | // Enable the use of MySQL to store the DICOM files? | ||
+ | " | ||
+ | |||
+ | // Parameters of the MySLQ database | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | |||
+ | // Optional: Disable the locking of the MySQL database | ||
+ | " | ||
+ | } | ||
+ | } | ||
</ | </ | ||
- | Скачал и подкинул плагин: | + | Контроль доступа и отправка на другие модальности: |
+ | <code | ini> | ||
+ | Orthanc.json | ||
+ | |||
+ | " | ||
+ | "/ | ||
+ | "/ | ||
+ | ], | ||
+ | |||
+ | " | ||
+ | </ | ||
+ | Lua: | ||
+ | |||
+ | Разрешения выполнять запросы | ||
<code | ini> | <code | ini> | ||
- | wget http:// | + | |
+ | cat access.lua | ||
+ | function IncomingHttpRequestFilter(method, | ||
+ | -- Only allow GET requests for non-admin users | ||
+ | |||
+ | if method == ' | ||
+ | return true | ||
+ | | ||
+ | return true | ||
+ | | ||
+ | return false | ||
+ | end | ||
+ | end | ||
</ | </ | ||
- | все заработало. | ||
- | Конфиг был тут - / | + | Можно по ip |
- | Пока что в конфиге исправил только одну строчку, | + | |
<code | ini> | <code | ini> | ||
- | // Whether remote hosts can connect to the HTTP server | + | |
- | " | + | function IncomingHttpRequestFilter(method, uri, ip, username, httpHeaders) |
- | | + | if method == ' |
+ | | ||
+ | return true | ||
+ | elseif username == ' | ||
+ | -- Read-write access for administrator (any HTTP method is allowed on localhost) | ||
+ | return | ||
+ | else | ||
+ | -- Access is disallowed by default | ||
+ | return false | ||
+ | | ||
+ | end | ||
</ | </ | ||
- | | ||
- | WEB-морда тут http:// | ||
- | Запуск с нужным конфигом: | + | С помощью этого |
<code | ini> | <code | ini> | ||
- | # Orthanc / | + | cat send.lua |
+ | function OnStoredInstance(instanceId, | ||
+ | SendToModality(instanceId, | ||
+ | end | ||
</ | </ | ||
+ | С помощью этого скрипта можно разбирать изображение которые приходят на Orthanc и маршрутизировать их на другие сервера. | ||
+ | <code | ini> | ||
+ | cat / | ||
+ | function OnStoredInstance(instanceId, | ||
+ | local Modality = tags[' | ||
+ | if string.find(Modality, | ||
+ | SendToModality(instanceId, | ||
+ | elseif string.find(Modality, | ||
+ | SendToModality(instanceId, | ||
+ | end | ||
+ | end | ||
+ | </ | ||
+ | |||
+ | |||
+ | перезапускаем: | ||
+ | |||
+ | <code | ini> | ||
+ | services orthanc restart | ||
+ | </ | ||
- | Будем курить дальше. | + | |
- | Продолжение скоро. | + | |
- | В плане подключить MariaDB и собирать все снимки с устройств централизованно. | + | |