3

我正在尝试使用 Python(特别是 pynetdicom3)连接到 PACS 服务器,但是我无法使用文档中指定的方法来连接。我可以使用 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、port、serverIP与我在dcm4che中访问服务器时使用的相同,由管理员提供。

这是错误:

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

运行 dcm4che 命令的输出指定“称为 AE 标题”与我在命令和代码中使用的相同。这是在 pynetdicom3 中指定 AE 标题的正确方法吗?如果不是,是什么?

4

1 回答 1

5

您当前正在定义本地应用程序实体,即您自己的带有 AE 标题“AETitle”的 Python 代码。

基本上,您的应用程序现在说的是“我是 AETitle”,而不是“我想与 AETitle 交谈”,因为服务器无法识别被调用的 AE 标题。

您必须在关联方法调用中添加被调用的 AE 标题作为第三个参数。

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

否则 pynetdicom3 将对调用的 AE 标题使用某种内部默认值或空值。

于 2018-06-12T13:34:11.590 回答