我正在研究一个 MPPS SCP,如下所述: MPPS SCP as a basic framework。
我已经能够使用 DVTk 对其进行一些测试,这里有一些可用的工具: DVTk
其中大部分似乎工作正常,但我似乎遇到的问题是响应假设在“命令集”而不是返回的数据集本身中返回了组 0000 的标签:我实际上确实将它们设置在DataSet 只是为了验证我得到了正确的值,例如:
python_mpps_1 | (0000, 0000) Command Group Length ????
python_mpps_1 | (0000, 0002) Affected SOP Class UID UI: Modality Performed Procedure Step SOP Class
python_mpps_1 | (0000, 0100) Command Field US: 33088
python_mpps_1 | (0000, 0120) Message ID Being Responded To US: 2
python_mpps_1 | (0000, 0800) Command Data Set Type US: 0
python_mpps_1 | (0000, 0900) Status US: 0
python_mpps_1 | (0008, 0016) SOP Class UID UI: Modality Performed Procedure Step SOP Class
我不确定命令组长度、命令字段和命令数据集类型应该是什么,但更重要的是,我不知道如何正确设置它们。我认为它们不应该设置在数据集中,而是 N_CREATE 响应的命令集对象的一部分:
# 'N-CREATE-RSP': (
# 'CommandGroupLength', 'AffectedSOPClassUID', 'CommandField',
# 'MessageIDBeingRespondedTo', 'CommandDataSetType', 'Status',
# 'AffectedSOPInstanceUID',
# 'ErrorID', 'ErrorComment'
# ),
使用 DVTk 作为测试工具,MPPS.SCU 脚本在他们的示例脚本中,除了没有在响应中发送的命令集值之外,一切似乎都正常工作。经过一番挖掘,我认为这些必须以另一种方式设置,但我不确定如何。
pynetdicom 文档可能有一些关于它的更多信息(第一个链接),但我一直找不到它。