我正在尝试吡咯烷酮中的查询/检索示例(吡咯烷酮),但是当我们搜索时,它对病人的名字很有效。但我需要在studyDate和studyTime的基础上进行研究。
注意:这里有些用于DICOM的SOP是可用的。所以我试着用StudyRootFindSOPClass
我试着用:
print "DICOM FindSCU ... ",
d = Dataset()
d.StudyDate = args.searchstring
d.QueryRetrieveLevel = "STUDY"
d.StudyID = "*"
study = [x[1] for x in assoc.StudyRootFindSOPClass.SCU(d, 1)][:-1]
print 'done with status "%s"' % st
print "\n\n\n Cont...", study但它给出了错误
Request association
Association response received
DICOM Echo ... done with status "Success "
DICOM FindSCU ...
Traceback (most recent call last):
File "studyqrscu.py", line 104, in <module>
study = [x[1] for x in assoc.StudyRootFindSOPClass.SCU(d, 1)][:-1]
File "/usr/local/lib/python2.7/dist-packages/pynetdicom-0.8.1-py2.7.egg/netdicom/applicationentity.py", line 90, in __getattr__
raise Exception("SOP Class %s not supported as SCU" % attr)
Exception: SOP Class StudyRootFindSOPClass not supported as SCU请帮助我用学习的日期和时间来取书房。
发布于 2016-08-12 06:20:36
我不太熟悉python,也不太熟悉您正在使用的特定DICOM工具包。我敢回答,因为异常似乎非常清楚-工具包似乎不支持学习根查询信息模型。
DICOM查询有四种形式,称为信息模型:
来源:DICOM PS3.4
顾名思义,患者根和学习根在后续查询中开始从层次结构(Patient -> Study -> Series -> Image)中搜索的根元素不同。患者根从患者级别开始,因此您首先在病人级别上搜索标准并获得病人级别的结果。使用从结果中获得的患者ID,您将进入学习级别,以查询对特定患者的研究。
学习根将病人级别的属性视为次要的学习属性,即您要求进行研究,并且收到每个研究所属于的患者的属性(这意味着您可以在不同的研究中接收到相同的病人两次,这对患者根的影响是不同的)。
我同意学习根目录是您想要的用例,但不幸的是,您使用的工具包显然只支持病人根。根据错误消息,这是客户机(SCU)端的一个问题,因此不应归咎于dcm4chee。
如何解决这个问题?
您可能会发现支持StudyRoot的不同工具包。实际上,对我来说,缺乏学习的根支持让我对实际使用的适用性产生了疑问。
您可能需要这样做,并尝试在病人根中形成一个非DICOM一致性的查询,如下所示:
- Q/R-Level = "STUDY"
- Patient-ID = "*" or empty
- Study Date = <your date range>这是一个公平的机会,但要记住,它不符合DICOM,因此它取决于SCP的实现,并可能不同的产品。
为了完整:您可以将一个查询放在病人级别上,对于每个收到的病人,在学习级别上放置一个后续查询,给出患者ID和您的学习日期范围作为匹配的标准。不值得一提的是,这将失败的性能问题,但这将是DICOM一致性的方式来解决这个问题。
https://stackoverflow.com/questions/38910755
复制相似问题