我正在尝试运行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:在使用movescu替换findscu后,我收到有关语法的错误:
"(300c,0002)[0].ReferencedSOPInstanceUID= ...
movecu不支持这种语法吗?
给定一个RTPLAN对象,您如何查询相应的RTDOSE?
谢谢。
GT
答案 0 :(得分:2)
您的C-FIND请求(使用findscu)不符合标准:在研究根信息模型中查询IMAGE级别时,您还必须指定系列实例UID。此外,您应确保SCP实际支持您的其他查询密钥。
movescu不支持这种语法吗?
此C-MOVE请求(使用movescu)也不符合标准:在研究根信息模型中的IMAGE级别检索DICOM对象时,您必须指定研究实例UID,系列实例UID和SOP实例UID。此服务/消息不支持引用的SOP实例UID(作为参考RT计划序列的一部分)。
有关查询/检索服务的详细信息,请参阅DICOM PS3.4。
于2016-01-09添加:
我忘了回答你的最后一个问题:
给定RTPLAN对象,您如何查询相应的RTDOSE?
我会检查参考剂量序列(300C,0080)是否存在于RT计划对象中,如果是,则使用所包含项目中的参考SOP实例UID进行后续检索(即C-MOVE请求)。