Меню Рубрики

Conquest dicom server настройка windows

Изменение настроек программ с сохранением персональных параметров

Предыстория

В одной медицинской организации внедряли решения на базе PACS-серверов Orthanc и DICOM-клиента Radiant. В ходе настройки выяснили, что каждый DICOM-клиент должен быть описан в PACS-серверах следующим образом:

  • Имя клиента
  • AE-имя (должно быть уникально)
  • TCP-порт, который автоматически открывается на стороне клиента и принимает DICOM-обследования от PACS-сервера (т.е. сервер как бы толкает их в сторону клиента – инициируя соединение первым)
  • IP-адрес

После настройки Radiant клиентов получили следующую информацию к размышлению – у каждого клиента настройка ПО с указанными выше параметрами приводила к заполнению файла pacs.xml, который располагался в профиле пользователя (путь: %APPDATA%\RadiantViewer\pacs.xml). При этом конфиг одного клиента от другого отличался минимум двумя параметрами (AE-имя у всех разное, а порт в основном одинаковый, кроме терминальных клиентов, работающих на одном и том же сервере – там порты тоже приходилось назначать разными).

Пример файла pacs.xml по ссылке:

Примерно полгода все было хорошо, система заработала…и тут до нас дошли «подводные камни»:

  • Нам нужно ввести в строй несколько новых PACS-серверов, которые подменят старые (где стало заканчиваться место на дисках). PACS сервера в виртуальных машинах, но речь не об этом;
  • Нам нужно как-то централизованно изменить уникальные конфигурации (двумя отличающимися параметрами) на 200 машинах (их количество регулярно увеличивалось);
  • Учитывая темпы роста объемов обследований, решение нужно не разовое, а тиражируемое и регулярное (например, 1 раз в 3-5 месяцев).

Решение ниже.

Выбор инструментария для решения задачи

Вначале были попытки найти какое-то решение, которое на стороне клиента изменяло файл pacs.xml, и вносило в него изменения в список PACS-серверов, не трогая настройки AE-имени и TCP-порта. Windows клиенты на тот момент были на базе как Windows XP, так и Windows 7 – поэтому были попытки написать что-то такое на базе VBScript. Но увы – осилить такую задачу не получилось, ввиду полного отсутствия опыта написания чего-либо сложного и комплексного на этом языке. Попытки же найти и переписать также не увенчались успехом (тут надо отметить, что в голове уже был другой план, поэтому я не долбился с VBScript больше 3-4 часов).

В итоге я остановился на следующем решении:

  • Собрать групповой политикой все файлы pacs.xml в одном месте на каком ни будь сервере в сетевом ресурсе;
  • Изменить файлы скопом (опыт решения таких задач уже был – с использованием Perl);
  • Также с помощью групповых политик обновить настройки клиентов.

Сбор файлов с помощью групповой политики

Самая простая часть – при входе клиента в свой профиль он со своими правами выполняет некий .bat файл, в котором прописано:

Таким образом на сервере в скрытом ресурсе будут накапливаться файлы pacs.xml, в имени которых есть информация с какого компьютера и с какого пользователя был скопирован данный конфиг.

Самое сложное было – дождаться, когда у всех пользователей отработает данная политика.

Изменение конфигураций с помощью Perl скрипта

Нам потребуется Active Perl под Windows от компании ActiveState, а также модуль XML::Writer, который можно установить с помощью команды ppm install XML-Writer.

Сам же скрипт получился довольно простой:

Принцип его работы:

  • Открываем каталог, в котором у нас собраны конфигурации pacs.xml от клиентов и помещаем список файлов в массив скаляров (@report_files);
  • В цикле обрабатываем по одному файлу и считываем его построчно;
  • С помощью split дробим каждую строку на 5 частей, используя кавычки как разделитель;
  • Находим строку с словом listener и помещаем в две переменные уникальные для каждого файла данные (AE-имя клиента и номер TCP-порта);
  • После этого просто формируем новый XML-файл, вписываем в него уникальные параметры и далее вставляем нужное количество PACS-серверов с их параметрами – т.е. то, ради чего все затевалось)
  • Переписываем новый XML-файл поверх старого.

Надо отметить, что на самом деле я использую данный скрипт не полностью автоматически – по сути я копирую собираемые конфиги в отдельный каталог и потом запуская скрипт изменяю их всем скопом. Далее выборочная проверка – и конфиги можно разливать обратно по машинам.

Распространение измененных pacs.xml файлов по клиентам

Самое простое, что пришло в голову – внести изменения в уже работающий .bat файл, который собирает конфигурации с клиентов и добавить строку:

Источник

Conquest dicom server настройка windows

Orthanc и eFilm

AndriyLL Дата: Вторник, 23.Янв.2018, 10:51 | Сообщение # 1

Здравствуйте, прошу помочь разобраться, установил Orthanc как сервер, снимки на него успешно идут , но почти все не читабельны яркость или контрастность на максимуме и выкрутить нормально не выходит
Так же не могу к Orthanc ничем подключится кроме вебинтерфейса eFilm его видит но поиском ничего на нем не находит
Radiant тоже сервер видит но без толку

Очень прошу помочь. а то уже второй день без толку, не могу понять где я что то пропустил

Файл конфигурации Orthanc

// The logical name of this instance of Orthanc. This one is
// displayed in Orthanc Explorer and at the URI «/system».
«Name» : «MyOrthanc»,

// Path to the directory that holds the heavyweight files (i.e. the
// raw DICOM instances). Backslashes must be either escaped by
// doubling them, or replaced by forward slashes «/».
«StorageDirectory» : «D:\\DICOM»,

// Path to the directory that holds the SQLite index (if unset, the
// value of StorageDirectory is used). This index could be stored on
// a RAM-drive or a SSD device for performance reasons.
«IndexDirectory» : «C:\\Orthanc»,

// Enable the transparent compression of the DICOM instances
«StorageCompression» : false,

// Maximum size of the storage in MB (a value of «0» indicates no
// limit on the storage size)
«MaximumStorageSize» : 0,

// Maximum number of patients that can be stored at a given time
// in the storage (a value of «0» indicates no limit on the number
// of patients)
«MaximumPatientCount» : 0,

// List of paths to the custom Lua scripts that are to be loaded
// into this instance of Orthanc
«LuaScripts» : [
],

// List of paths to the plugins that are to be loaded into this
// instance of Orthanc (e.g. «./libPluginTest.so» for Linux, or
// «./PluginTest.dll» for Windows). These paths can refer to
// folders, in which case they will be scanned non-recursively to
// find shared libraries. Backslashes must be either escaped by
// doubling them, or replaced by forward slashes «/».
«Plugins» : [ «../Plugins/» ],

/**
* Configuration of the HTTP server
**/

// Enable the HTTP server. If this parameter is set to «false»,
// Orthanc acts as a pure DICOM server. The REST API and Orthanc
// Explorer will not be available.
«HttpServerEnabled» : true,

// HTTP port for the REST services and for the GUI
«HttpPort» : 8042,

// When the following option is «true», if an error is encountered
// while calling the REST API, a JSON message describing the error
// is put in the HTTP answer. This feature can be disabled if the
// HTTP client does not properly handles such answers.
«HttpDescribeErrors» : true,

// Enable HTTP compression to improve network bandwidth utilization,
// at the expense of more computations on the server. Orthanc
// supports the «gzip» and «deflate» HTTP encodings.
«HttpCompressionEnabled» : true,

/**
* Configuration of the DICOM server
**/

// Enable the DICOM server. If this parameter is set to «false»,
// Orthanc acts as a pure REST server. It will not be possible to
// receive files or to do query/retrieve through the DICOM protocol.
«DicomServerEnabled» : true,

// The DICOM Application Entity Title
«DicomAet» : «dell»,

// Check whether the called AET corresponds to the AET of Orthanc
// during an incoming DICOM SCU request
«DicomCheckCalledAet» : false,

// The DICOM port
«DicomPort» : 4242,

// The default encoding that is assumed for DICOM files without
// «SpecificCharacterSet» DICOM tag, and that is used when answering
// C-Find requests (including worklists). The allowed values are
// «Ascii», «Utf8», «Latin1», «Latin2», «Latin3», «Latin4»,
// «Latin5», «Cyrillic», «Windows1251», «Arabic», «Greek», «Hebrew»,
// «Thai», «Japanese», and «Chinese».
«DefaultEncoding» : «Latin1»,

// The transfer syntaxes that are accepted by Orthanc C-Store SCP
«DeflatedTransferSyntaxAccepted» : true,
«JpegTransferSyntaxAccepted» : true,
«Jpeg2000TransferSyntaxAccepted» : true,
«JpegLosslessTransferSyntaxAccepted» : true,
«JpipTransferSyntaxAccepted» : true,
«Mpeg2TransferSyntaxAccepted» : true,
«RleTransferSyntaxAccepted» : true,

// Whether Orthanc accepts to act as C-Store SCP for unknown storage
// SOP classes (aka. «promiscuous mode»)
«UnknownSopClassAccepted» : false,

// Set the timeout (in seconds) after which the DICOM associations
// are closed by the Orthanc SCP (server) if no further DIMSE
// command is received from the SCU (client).
«DicomScpTimeout» : 30,

/**
* Security-related options for the HTTP server
**/

// Whether remote hosts can connect to the HTTP server
«RemoteAccessAllowed» : true,

// Whether or not SSL is enabled
«SslEnabled» : false,

// Path to the SSL certificate in the PEM format (meaningful only if
// SSL is enabled)
«SslCertificate» : «certificate.pem»,

// Whether or not the password protection is enabled
«AuthenticationEnabled» : false,

// The list of the registered users. Because Orthanc uses HTTP
// Basic Authentication, the passwords are stored as plain text.
«RegisteredUsers» : <
«alice» : «alicePassword»
>,

// The list of the known DICOM modalities
«DicomModalities» : <
/**
* Uncommenting the following line would enable Orthanc to
* connect to an instance of the «storescp» open-source DICOM
* store (shipped in the DCMTK distribution) started by the
* command line «storescp 2000».
**/
// «sample» : [ «STORESCP», «127.0.0.1», 2000 ]

/**
* A fourth parameter is available to enable patches for
* specific PACS manufacturers. The allowed values are currently:
* — «Generic» (default value),
* — «GenericNoWildcardInDates» (to replace «*» by «» in date fields
* in outgoing C-Find requests originating from Orthanc)
* — «GenericNoUniversalWildcard» (to replace «*» by «» in all fields
* in outgoing C-Find SCU requests originating from Orthanc)
* — «StoreScp» (storescp tool from DCMTK),
* — «ClearCanvas», «Dcm4Chee» and «Vitrea».
* This parameter is case-sensitive.
**/
// «clearcanvas» : [ «CLEARCANVAS», «192.168.1.1», 104, «ClearCanvas» ]
>,

// Whether the Orthanc SCP allows incoming C-Echo requests, even
// from SCU modalities it does not know about (i.e. that are not
// listed in the «DicomModalities» option above). Orthanc 1.3.0
// is the only version to behave as if this argument was set to «false».
«DicomAlwaysAllowEcho» : true,

// Whether the Orthanc SCP allows incoming C-Store requests, even
// from SCU modalities it does not know about (i.e. that are not
// listed in the «DicomModalities» option above)
«DicomAlwaysAllowStore» : true,

// Whether Orthanc checks the IP/hostname address of the remote
// modality initiating a DICOM connection (as listed in the
// «DicomModalities» option above). If this option is set to
// «false», Orthanc only checks the AET of the remote modality.
«DicomCheckModalityHost» : false,

// The timeout (in seconds) after which the DICOM associations are
// considered as closed by the Orthanc SCU (client) if the remote
// DICOM SCP (server) does not answer.
«DicomScuTimeout» : 10,

// The list of the known Orthanc peers
«OrthancPeers» : <
/**
* Each line gives the base URL of an Orthanc peer, possibly
* followed by the username/password pair (if the password
* protection is enabled on the peer).
**/
// «peer» : [ «http://127.0.0.1:8043/», «alice», «alicePassword» ]
// «peer2» : [ «http://127.0.0.1:8044/» ]

/**
* This is another, more advanced format to define Orthanc
* peers. It notably allows to specify a HTTPS client certificate
* in the PEM format (as in the «—cert» option of curl), or to
* enable PKCS#11 authentication for smart cards.
**/
// «peer» : <
// «Url» : «http://127.0.0.1:8043/»,
// «Username» : «alice»,
// «Password» : «alicePassword»,
// «CertificateFile» : «client.crt»,
// «CertificateKeyFile» : «client.key»,
// «CertificateKeyPassword» : «certpass»,
// «Pkcs11» : false
// >
>,

// Parameters of the HTTP proxy to be used by Orthanc. If set to the
// empty string, no HTTP proxy is used. For instance:
// «HttpProxy» : «192.168.0.1:3128»
// «HttpProxy» : «proxyUser:proxyPassword@192.168.0.1:3128»
«HttpProxy» : «»,

// Set the timeout for HTTP requests issued by Orthanc (in seconds).
«HttpTimeout» : 10,

// Enable the verification of the peers during HTTPS requests. This
// option must be set to «false» if using self-signed certificates.
// Pay attention that setting this option to «false» results in
// security risks!
// Reference: http://curl.haxx.se/docs/sslcerts.html
«HttpsVerifyPeers» : true,

// Path to the CA (certification authority) certificates to validate
// peers in HTTPS requests. From curl documentation («—cacert»
// option): «Tells curl to use the specified certificate file to
// verify the peers. The file may contain multiple CA
// certificates. The certificate(s) must be in PEM format.»
«HttpsCACertificates» : «»,

// Dictionary of symbolic names for the user-defined metadata. Each
// entry must map an unique string to an unique number between 1024
// and 65535. Reserved values:
// — The Orthanc whole-slide imaging plugin uses metadata 4200
«UserMetadata» : <
// «Sample» : 1024
>,

// Dictionary of symbolic names for the user-defined types of
// attached files. Each entry must map an unique string to an unique
// number between 1024 and 65535. Optionally, a second argument can
// provided to specify a MIME content type for the attachment.
«UserContentType» : <
// «sample» : 1024
// «sample2» : [ 1025, «application/pdf» ]
>,

// Number of seconds without receiving any instance before a
// patient, a study or a series is considered as stable.
«StableAge» : 60,

// By default, Orthanc compares AET (Application Entity Titles) in a
// case-insensitive way. Setting this option to «true» will enable
// case-sensitive matching.
«StrictAetComparison» : false,

// When the following option is «true», the MD5 of the DICOM files
// will be computed and stored in the Orthanc database. This
// information can be used to detect disk corruption, at the price
// of a small performance overhead.
«StoreMD5ForAttachments» : true,

// The maximum number of results for a single C-FIND request at the
// Patient, Study or Series level. Setting this option to «0» means
// no limit.
«LimitFindResults» : 0,

// The maximum number of results for a single C-FIND request at the
// Instance level. Setting this option to «0» means no limit.
«LimitFindInstances» : 0,

// The maximum number of active jobs in the Orthanc scheduler. When
// this limit is reached, the addition of new jobs is blocked until
// some job finishes.
«LimitJobs» : 10,

// If this option is set to «false», Orthanc will not log the
// resources that are exported to other DICOM modalities of Orthanc
// peers in the URI «/exports». This is useful to prevent the index
// to grow indefinitely in auto-routing tasks.
«LogExportedResources» : true,

// Enable or disable HTTP Keep-Alive (deprecated). Set this option
// to «true» only in the case of high HTTP loads.
«KeepAlive» : false,

// If this option is set to «false», Orthanc will run in index-only
// mode. The DICOM files will not be stored on the drive. Note that
// this option might prevent the upgrade to newer versions of Orthanc.
«StoreDicom» : true,

// DICOM associations are kept open as long as new DICOM commands
// are issued. This option sets the number of seconds of inactivity
// to wait before automatically closing a DICOM association. If set
// to 0, the connection is closed immediately.
«DicomAssociationCloseDelay» : 5,

// Maximum number of query/retrieve DICOM requests that are
// maintained by Orthanc. The least recently used requests get
// deleted as new requests are issued.
«QueryRetrieveSize» : 10,

// When handling a C-Find SCP request, setting this flag to «true»
// will enable case-sensitive match for PN value representation
// (such as PatientName). By default, the search is
// case-insensitive, which does not follow the DICOM standard.
«CaseSensitivePN» : false,

// Configure PKCS#11 to use hardware security modules (HSM) and
// smart cards when carrying on HTTPS client authentication.
/**
«Pkcs11» : <
«Module» : «/usr/local/lib/libbeidpkcs11.so»,
«Module» : «C:/Windows/System32/beidpkcs11.dll»,
«Pin» : «1234»,
«Verbose» : true
>
**/

// If set to «true», Orthanc will still handle «SOP Classes in
// Study» (0008,0062) in C-FIND requests, even if the «SOP Class
// UID» metadata is not available in the database (which is the case
// if the DB was previously used by Orthanc 0 with defaults to 1), possibly the maximum
// multiplicity (0 means arbitrary multiplicity, defaults to 1), and
// possibly the Private Creator (for private tags).
«Dictionary» : <
// «0014,1020» : [ «DA», «ValidationExpiryDate», 1, 1 ]
// «00e1,10c2» : [ «UI», «PET-CT Multi Modality Name», 1, 1, «ELSCINT1» ]
// «7053,1003» : [ «ST», «Original Image Filename», 1, 1, «Philips PET Private Group» ]
// «2001,5f» : [ «SQ», «StackSequence», 1, 1, «Philips Imaging DD 001» ]
>
>

Kuzma Дата: Вторник, 23.Янв.2018, 13:41 | Сообщение # 3

По качеству снимков.
На самом деле они просто такие, как есть. Программы получения и просмотра снимков могут использовать свои какие-то фильтры и алгоритмы постобработки, а также предустановки яркости/контрастности. А на сервер снимки отправляются такими, какими получены. Поэтому в штатных программах и сторонних вьюверах они выглядят по-разному.
Если хотите, вышлите несколько снимков мне на почту. Я посмотрю, как они будут смотреться с dcm4chee и conquest.
По просмотру.
Насколько я понимаю, AeTitle вьюверов должны быть также прописаны в конфиге ортханка.

Очень ВАЖНО проверить чтобы с «обеих» сторон НЕ БЫЛИ ВКЛЮЧЕНЫ БРАНДМАУЭРЫ.
Далее посмотреть установлено какое-либо антивирусное ПО. И отключить или удалить хотя бы на время тестирования!
Нескольо раз видал как тот же касперский «рубит» работу Efilma, хотя теоретически каспер как-бы только антивирус. А меж тем — как его отключили — все заработало.

Можете попробовать CONQUEST поставить — на нем хорошо экспериментировать и логи есть визуальные.

Источник

Добавить комментарий

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

  • Connection odbc windows 7
  • Connectify hotspot настройка windows 7
  • Connectify for windows xp
  • Connect to ftp windows
  • Connect 2 for windows lenovo