如何显示来自 DICOM C-FIND 结果的系列数据?

How to display Series data from DICOM C-FIND results?

我是 DICOM 的新手,想知道我如何能够 return C-FIND 的结果类似于 Osirix 等应用程序在查询后显示它们的方式。

我在 Python 中使用 pynetdicom 严格执行此操作,并在 GUI 中显示结果。目前,我已经使用正则表达式分别提取每个标识符进行显示,但这并不能使我合并每个单独的系列。我的查询 运行 'STUDY' 级别。

我可以 query/retrieve 并显示来自其他 PACS 的标识符,但我不确定如何在研究级别显示来自其他 PACS 数据库的检查结果然后能够下拉并查看每个系列。

我即将完成这个测试项目,目前可以读取 DICOM 文件,在收到它们后添加到数据库,Query/retrieve 来自各种 PACS。显示接收到的图像并将其从本地文件夹传输到另一个存档。我只是无法弄清楚上面的内容,必须有比我当前配置的更好的方法来做到这一点。查看我目前 return 结果的图片。

我确信这可以通过 pynetdicom 实现,我只是不确定如何去做。

要从研究级扩展到系列级,您基本上会形成这样的请求:

(0008,0052) [SERIES]
(0020,000d) [<the study instance UID that you obtained from the Study-Level query>]
(0020,000e) []

这是您需要的最低限度。 QueryRetrieveLevel (0008,0052) 表明这是一个系列级别的查询。研究实例 UID (0020,000d) 是一个匹配键(唯一允许的键)来匹配特定研究的系列,而系列实例 UID (0020,000e) 是您需要以 C-MOVE 序列的方式用户要求或后续查询系列图片

更多属性 在 SERIES-Level(并且没有别的)可能包含在零长度中。通过这种方式,您可以指示 SCP 用数据库中的值填充它们,就像您已经为学习级别所做的那样。通常医生希望看到:

  • 模态 (0008,0060)
  • 系列日期 (0008,0021)
  • 系列时间 (0008,0031)
  • 系列说明 (0008,103E)

请注意,并非所有这些都是强制性的 return 密钥,这意味着 SCP 可能 return 它们具有零长度。

另请注意,此示例引用了 Study-Root Q/R 信息模型。对于 Patient-Root,您必须将 Patient ID (0010,0020) 作为匹配键(= 带值)并说“请给我该特定患者的特定研究系列”。

进一步推荐阅读 Query/Retrieve Service Class

的描述