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 请求)。
我正在尝试 运行 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 请求)。