【问题标题】:Get called_/calling_ae_title被叫_/calling_ae_title
【发布时间】:2021-12-19 09:00:42
【问题描述】:

我正在实施 SCP,但我不确定如何正确获取 call_/called_ae_title。 我想在服务器端连接(客户端发送 DICOM 图像)期间获取 call_/calling_ae_title。我不强制调用 called_ae_title(ae.require_call_aet = False),而是在 SCP 中设置默认 AE 标题。我想使用 called_/calling_ae_title 进行审计。 所以,我可以从 pytnetdicom SCP 的调试日志中看到,此信息在 A-ASSOCIATE-RQ PDU 中可用

D: Request Parameters:
D: ======================= INCOMING A-ASSOCIATE-RQ PDU ========================
D: Their Implementation Class UID:      1.2.276.0.7230010.3.0.3.6.1
D: Their Implementation Version Name:   OSIRIX_361
D: Application Context Name:    1.2.840.10008.3.1.1.1
D: Calling Application Name:    NO_CLIENT       
D: Called Application Name:     PYDS            
D: Their Max PDU Receive Size:  16384
D: Presentation Context:

据此文档https://pydicom.github.io/pynetdicom/dev/reference/generated/pynetdicom.pdu.A_ASSOCIATE_RQ.html?highlight=calling_ae_title#pynetdicom.pdu.A_ASSOCIATE_RQ.calling_ae_title

我在服务器端试过这个。

from pynetdicom.pdu import (A_ASSOCIATE_RQ, A_ASSOCIATE_AC)
...
...
pdu = A_ASSOCIATE_RQ()
print(type(pdu.calling_ae_title))
print(pdu.calling_ae_title)

我的输出在连接期间:

 <class 'bytes'>
b'Default         '

我总是得到“默认”值而不是实际值。

我做错了什么?或者它是一个错误?当我调用它时, calling_ae_title 和 called_ae_title 都会产生相同的“默认”输出。 非常感谢!

【问题讨论】:

    标签: python dicom pynetdicom


    【解决方案1】:

    当您创建一个新的A_ASSOCIATE_RQ 实例时,您将获得其默认值(即b'Default'),因为它尚未在任何关联中使用。

    如果您想要关联请求者使用的实际调用 AE 标题,则可以通过 Association.acceptorAssociation.requestor 属性获得有关本地和对等方的关联协商提案的信息:

    from pynetdicom import AE, evt
    from pynetdicom.sop_class import VerificationSOPClass
    
    def handle_requests(event):
        primitive = event.assoc.requestor.primitive
        print(type(primitive), primitive.calling_ae_title)
    
    ae = AE()
    ae.add_supported_context(VerificationSOPClass)
    ae.start_server(('', 11112), evt_handlers=[(evt.EVT_REQUESTED, handle_requests)])
    

    这里的primitiveA-ASSOCIATE primitive

    【讨论】:

      猜你喜欢
      • 2012-06-30
      • 1970-01-01
      • 1970-01-01
      • 2014-01-05
      • 1970-01-01
      • 1970-01-01
      • 2021-06-03
      • 2010-10-20
      • 1970-01-01
      相关资源
      最近更新 更多