Невозможно получить доступ к PACS с помощью pynetdicom3 - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь подключиться к серверу PACS с помощью Python (в частности, pynetdicom3), однако я не могу сделать это, используя метод, указанный в документации.Я могу получить доступ к этому серверу с помощью dcm4che.Например, запуск findscu -c AETitle@serverIP:port в командной строке работает (при запуске из папки dcm4che).

Однако, когда я пытаюсь подключиться к серверу с помощью pynetdicom3, используя код из документации (слегка измененный, конечно),Я получаю сообщение об ошибке "Название AE".Это код:

from pynetdicom3 import AE, VerificationSOPClass

ae = AE(ae_title='AETitle',
        port=port,
        scu_sop_class=[VerificationSOPClass])

assoc = ae.associate(serverIP, port)

if assoc.is_established:
    print('Connection established')

Где AETitle, порт и serverIP такие же, как те, которые я использую для доступа к серверу в dcm4che, предоставленные администратором.

Этоошибка:

E: Association Rejected:
E: Result: Rejected Permanent, Source: Service User
E: Reason: Called AE title not recognised

В результате выполнения команды dcm4che указывается, что «вызываемый заголовок AE» совпадает с тем, который я использовал в команде и коде.Это правильный способ указать заголовок AE в pynetdicom3, и если нет, то что?

1 Ответ

0 голосов
/ 12 июня 2018

Вы в настоящее время определяете локальный объект приложения, то есть свой собственный код Python с названием AE "AETitle".

В основных терминах ваше приложение на данный момент говорит «Я - AETitle», а не «Я хочу поговорить с AETitle», как следует, потому что сервер не распознает вызываемый заголовок AE.

Вы должны добавить вызываемый заголовок AE в качестве третьего аргумента при вызове метода ассоциации.

assoc = ae.associate(serverIP, port, "AEtitle")

В противном случае pynetdicom3 будет использовать какое-либо внутреннее значение по умолчанию или пустое значение для вызываемого заголовка AE.

...