gpt4 book ai didi

java - DCM4CHEE如何存储DICOM图像的位分配信息

转载 作者:行者123 更新时间:2023-12-01 16:01:02 26 4
gpt4 key购买 nike

我们使用 DCM4CHEE 作为 PACS 服务器的副本。我有 8 位和 16 位图像分布在多项研究中。所有图像都存储在 DCM4CHEE 中。

我们正在示例图像上运行 DICOM DUMP [DCM2TXT] 以识别位分配。这是一个漫长的过程。

DCM4CHEE 服务器是否将位表示存储在数据库中?如果是,我在哪里可以找到有关分配的位的信息?

请帮助我找到最佳解决方案。

谢谢

-阿尼尔·库马尔.C

最佳答案

是的,它在数据库中,并且访问速度非常快。在数据库/架构“pacsdb”中,表名称为“instance”,列名称为“inst_attrs”。最有可能的是,您必须对涉及研究和系列表的联接进行选择,具体取决于您搜索/呈现数据的方式。

现在的问题是,inst_attrs 是一个带有二进制数据的 BLOB。在内部,您需要查找以下十六进制字符串(来自 DICOM 传输语法)28 00 00 01 55 53 02 00 xx 00这里,28 00 00 01实际上是十六进制的(0028, 0100)标签(分配的位),55 53 02 00表示“无符号短(US)2字节长”,之后通常是10 00表示16位或08 00 表示 8 位图像。因此,您实际上只需要上面字节中的“xx”值。

根据您将用于获取此数据的数据库访问工具,您可以选择最佳策略。它可以是与 dcm4chee 一起部署的 Web 应用程序 (.war),可能只需一堆 jsp 就足够了;它可以是一个单独的 Java 应用程序,甚至是 .NET - 选择的工具实际上取决于您需要它的位置和用途。对于 Web 访问,我宁愿使用无状态 session bean 来执行完整的 .ear 来获取数据,并使用受密码保护的小型 Web 应用程序来呈现数据并提供来自外部的 JSON/WS 访问。

更新下面是一个 SQL 示例(仅限 MySQL),它返回研究 UID、系列 UID 以及分配为 10(对于 16 位图像)和 08(对于 8 位图像)的位:

SELECT study_iuid as StudyUID, series_iuid as SeriesUID,
SUBSTRING(HEX(inst_attrs),
LOCATE('2800000155530200',HEX(inst_attrs))+16
,2) as BitsAllocatedHex
FROM instance i JOIN series s ON i.series_fk=s.pk
JOIN study st ON s.study_fk=st.pk

关于java - DCM4CHEE如何存储DICOM图像的位分配信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3923653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com