dicom 文件接收服务器,SCU如何使用CGET从Dicom服务器接收dcm图像?

我看过pynetdicom的官方文档,但是我还没有合适的事件处理程序(用于SCU)来接收图像。在

首先,我创建了所需的.dcm文件数据集并使用了C-GET命令,该命令实际上应该提供.dcm文件,但我还没有指定图像在SCU上的存储位置。我需要使用C-MOVE命令来实际获取图像还是代码不完整(在某种意义上,没有为SCU onReceiveStore指定事件处理程序)?在from pydicom.dataset import Dataset

import pydicom

from pynetdicom import (

AE, evt, build_role,

PYNETDICOM_IMPLEMENTATION_UID,

PYNETDICOM_IMPLEMENTATION_VERSION

)

from pynetdicom.sop_class import (

PatientRootQueryRetrieveInformationModelGet,

CTImageStorage

)

ae = AE()

ae.add_requested_context(PatientRootQueryRetrieveInformationModelGet)

ae.add_requested_context(CTImageStorage)

role = build_role(CTImageStorage, scp_role=True)

ds = Dataset()

ds.QueryRetrieveLevel = 'SERIES'

ds.PatientID = '0009703828'

ds.StudyInstanceUID = '1.3.46.670589.5.2.10.2156913941.892665384.993397'

ds.SeriesInstanceUID = '1.3.46.670589.5.2.10.2156913941.892665339.860724'

assoc = ae.associate('127.0.0.1', 5678)

if assoc.is_established:

responses = assoc.send_c_get(ds, PatientRootQueryRetrieveInformationModelGet)

for (status,dataset) in responses:

if status:

print('C-GET query status: 0x{0:04x}'.format(status.Status))

# If the status is 'Pending' then `identifier` is the C-GET response

if status.Status in (0x0000, 0x1022):

print(dataset)

else:

print('Connection timed out, was aborted or received invalid response')

assoc.release()

else:

print('Association rejected, aborted or never connected')

我希望.dcm从DICOM服务器(在我的例子中是ConQuest服务器)发送,但是我只收到DICOM标记,确认这个数据集(作为对ConQuest服务器的查询)存在!我想知道如何使用此应用程序实体(ae)在SCU上接收图像

这是来自征服服务器的响应

^{pr2}$

征服服务器正在发送文件,但SCU无法接收!在