问题描述
在DICOM中,以下是为研究根目录中的C-查找和C-移动定义的类。
In DICOM, following are the classes defined for C-Find and C-Move at Study Root.
Study Root Query/Retrieve Information Model - FIND: 1.2.840.10008.5.1.4.1.2.2.1
Study Root Query/Retrieve Information Model - MOVE: 1.2.840.10008.5.1.4.1.2.2.2
我已经在多个应用程序中实现了Query Retrieve SCP和SCU。在所有这些情况下,我总是实现这两个类。我首先进行C查找,以获取匹配数据的列表。然后根据结果,我(自动或手动)执行C-Move获取实例。所有这些实现都工作正常。
I have implemented Query Retrieve SCP and SCU in multiple applications. In all those cases, I always implemented both the classes. I do C-Find first to get the list of matching data. Then based on result, I do (automatically or manually) C-Move to get the instances. All those implementations are working fine.
最近,我正在开发一个将DICOM与其他私有协议结合起来以满足某些特定要求的应用程序。如果我可以直接进行C-Move而不用做C-Find作为SCU,这只是我的想法?
Recently, I am working on one application that combines DICOM with other private protocol to fulfill some specific requirements. It just stuck to my mind if it is possible to directly do C-Move without doing C-Find as SCU?
我已经知道要检索的标识符(StudyInstanceUID),我也知道
I already know the identifier (StudyInstanceUID) to retrieve and I also know that it does present on SCP.
我查看了规格,但没有发现任何结论。我知道SCU可以在不同的连接/关联上向SCP发布C-Find和C-Move。因此,乍看之下,我的想法似乎是可行的和合法的。
I looked into specifications but could not found anything conclusive. I am aware that C-Find and C-Move could be issued by SCU to SCP on different connections/associations. So in first glance, what I am thinking looks possible and legal.
我使用了许多第三方DICOM应用程序;他们都没有按照我的想法实施SCU。所有SCU都实现C-Find和C-Move。
I worked with many third party DICOM applications; none of them implements SCU the way I am thinking. All SCUs implement C-Find AND C-Move both.
实施Query Retrieve SCU C-Move是否合法?没有C-Find命令的命令?
Is it DICOM legal and practical to implement Query Retrieve SCU C-Move command without C-Find command? Please point me to the reference in specifications if possible.
推荐答案
简短答案:是的,这完全符合DICOM规范。
Short answer: Yes this is perfectly legal per DICOM specification.
长答案:让我们考虑DCMTK参考DICOM Q / R实现。它提供了一组基本的SCU命令行工具,分别是 findscu
和 movescu
。这个想法是将 findscu
的输出 pipe 输送到 movescu
来构造有效的C- MOVE(SCU)请求。
Long answer: Let's consider the DCMTK reference DICOM Q/R implementation. It provides a set of basic SCU command line tools, namely findscu
and movescu
. The idea is to pipe the output of findscu
to movescu
to construct a valid C-MOVE (SCU) request.
在您的需求中,您只需将 findscu
步骤替换为执行
In your requirement you are simply replacing the findscu
step with a private implementation that does not rely on the publicly defined C-FIND (SCU) protocol but by another mechanism (extension to DICOM).
所以是的,您的C-MOVE(SCU)实现是完美的有效,因为在此查询期间无需提供C-FIND(SCU)。
So yes your C-MOVE (SCU) implementation is perfectly valid, since there is no requirement to provide C-FIND (SCU) during this query.
我知道您不是试图使用C-MOVE(SCU)备份整个数据库,这只是一种可能的情况,即有人会尝试使用C-MOVE(SCU),而不先查询有效的C-FIND(SCU)结果。
I understand you are not trying to backup an entire database using C-MOVE (SCU), that was just a possible scenario where someone would be trying to use C-MOVE (SCU) without first querying with a valid C-FIND (SCU) result.
这篇关于DICOM:没有C查找的C移动(查询检索SCU)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!