2

我正在研究一个 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 文档可能有一些关于它的更多信息(第一个链接),但我一直找不到它。

4

1 回答 1

1

Command Group Length (0000,0000)是二进制编码消息的总字节数。这通常应该由您使用的工具包设置(参见 Scaramillion 的评论)。

您的命令类型是N-CREATE响应,通常它没有任何数据集。不知道 DVT 脚本,我假设您的脚本不希望将数据集附加到命令集。

SOP Class UID (0008, 0016)不应该存在(它已经是命令集的一部分Affected SOP Class UID (0000,0002)),并且Command Data Set Type (0000, 0800)应该设置0x0101为指示没有数据集跟随命令集。

至少这对成功的N-CREATE操作很重要。

于 2021-07-05T06:10:26.640 回答