这里使用的仍然是pydicom和pynetdicom模块,在使用前需安装。
思路:首先初始化AE作为SCP,并创建数据集dataset,dataset中可以设定具体tag的值,此处可根据需要自行设定。然后和服务端SCU连接,用send_c_find来查询worklist,query_model为“W”表示"1.2.840.10008.5.1.4.31",即 “Modality Worklist Information - FIND”。Worklist 其实就是一个 C-Find 请求,不过这个 C-Find 请求指定了 SOP Class UID 为 【1.2.840.10008.5.1.4.31】。
#coding=utf-8
from pydicom.dataset import Dataset
from pydicom.uid import (
ImplicitVRLittleEndian,
ExplicitVRLittleEndian,
ExplicitVRBigEndian)
from pynetdicom import AE
from pynetdicom.sop_class import PatientRootQueryRetrieveInformationModelFind
from pynetdicom.sop_class import BasicWorklistManagementServiceClass
from pynetdicom import AE, BasicWorklistManagementPresentationContexts
# Initialise the Application Entity
ae = AE(ae_title=b'WHTM-116')
#VerificationSOPClas'1.2.840.10008.3.1.1.1'#
ae.add_requested_context('1.2.840.10008.5.1.4.31',
[ImplicitVRLittleEndian