DCMTK findscu returns 多个结果,但预期只有一个结果

DCMTK findscu returns multiple results when one is expected

我正在尝试 运行 c-move 从给定的 RTPlan 中获取 RTDOSe,首先我试图找到引用我的 rtplan 的 rtdose。我希望结果是一个项目,但我得到了多个项目。这是我找到的 scu:

findscu -v -aet DCMTK -aec VMSDBD1 -S -k "0008,0052=IMAGE" -k "0008,0016=1.2.840.10008.5.1.4.1.1.481.2" -k "0020,000D=1.2.xxx.xxx.71.1.xxx173684671.xxxx20.20160817145909" -k "(300c,0002)[0].ReferencedSOPInstanceUID=1.2.xxx.xxx.71.5.xxxx73684671.xxxx31.2016092318xxxx" xx.xx.xx.20 5678 

我得到这样的结果:

W: Find Response: 1 (Pending)
(...)
W: Find Response: 2 (Pending)

I: ===================== INCOMING DIMSE MESSAGE ====================
I: Message Type                  : C-FIND RSP
I: Message ID Being Responded To : 1
I: Affected SOP Class UID        : FINDStudyRootQueryRetrieveInformationModel
I: Data Set                      : none
I: DIMSE Status                  : 0x0000: Success
I: ======================= END DIMSE MESSAGE =======================
I: Releasing Association

问题 1:为什么我得到多个结果而不是参考 RTpLAN 的一个剂量?

问题 2:将 findscu 替换为 movescu 后出现语法错误:

"(300c,0002)[0].ReferencedSOPInstanceUID= ...

movescu 不支持此语法吗?

给定一个 RTPLAN 对象,你将如何查询相应的 RTDOSE ?

谢谢。

GT

您的 C-FIND 请求(使用 findscu)不符合标准:在研究根信息模型中查询图像级别时,您还必须指定系列实例 UID。此外,您应该确保 SCP 实际上支持您的其他查询键。

Is this syntax not supported for movescu ?

此 C-MOVE 请求(使用 movescu)也不符合标准:在研究根信息模型中检索图像级别的 DICOM 对象时,您必须指定研究实例 UID、系列实例 UID 和 SOP 实例 UID .此服务/消息不支持引用的 SOP 实例 UID(作为引用的 RT 计划序列的一部分)。

有关 Query/Retrieve 服务的详细信息,请参阅 DICOM PS3.4

添加于 2016-01-09:

我忘了回答你的最后一个问题:

Given an RTPLAN object, how would you query the corresponding RTDOSE ?

我会检查参考剂量序列 (300C,0080) 是否存在于 RT 计划对象中,如果存在,则使用包含的项目中的参考 SOP 实例 UID 进行后续检索(即 C-MOVE 请求)。