DCM4CHEE如何存储DICOM图像的位分配信息 [英] How DCM4CHEE stores the bits allocation information of DICOM image

查看:443
本文介绍了DCM4CHEE如何存储DICOM图像的位分配信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们将DCM4CHEE用作PACS服务器的副本。我有跨多个研究的8位和16位图像。所有图像都存储在DCM4CHEE中。

We are using DCM4CHEE as replica of PACS server. I have 8 bit and 16 bit images spread across multiple studies. All the images are stored in DCM4CHEE.

我们在示例图像上运行DICOM DUMP [DCM2TXT]以标识位分配。

We are running DICOM DUMP [DCM2TXT] on sample images to identify the bits allocation. It is a lengthy process.

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

Does DCM4CHEE server stores the bits representation in DB?, if so where can I find the information about the bits allocated?

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

Please help me in finding the best solution for this.

谢谢

-Anil Kumar.C

-Anil Kumar.C

推荐答案

是的,它在数据库中并且可以非常快速地访问。在数据库/模式 pacsdb中,表名是 instance,列名是 inst_attrs。

Yes, it is in the database and can be accessed very fast. In the database/schema 'pacsdb' the table name is 'instance', the column name is 'inst_attrs'. Most probably you will have to make a select with joins involving study and series tables, depending on how you search/present your data.

现在,问题是inst_attrs是具有二进制数据的BLOB。在内部,您将需要查找以下十六进制字符串(来自DICOM传输语法)28 00 00 01 55 53 02 00 xx 00
这里,28 00 00 01实际上是(0028,0100)标签的十六进制(位已分配),则55 53 02 00会说 2字节长的无符号短(美国),然后通常是16位为10 00或8位图像为08 00。因此,实际上,您只需要上面字节中的 xx值即可。

Now, the problem is, inst_attrs is a BLOB with binary data. Inside, you would need to look for the following hex string (from DICOM transfer syntax) 28 00 00 01 55 53 02 00 xx 00 Here, 28 00 00 01 is actually hex for (0028, 0100) tag (Bits Allocated), 55 53 02 00 says "Unsigned Short (US) 2 bytes long", and after that there is usually 10 00 for 16 bit or 08 00 for 8 bit images. So, you really only need the "xx" value from the bytes above.

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

Depending on the database access tools you will be using to get this data, you can choose the best strategy. It can be a web app (.war) deployed along side with dcm4chee, probably just a bunch of jsp's will be enough; it can be a separate java app or even .NET - the tool of choice really depends on where and for what do you need it. For web access I would rather do a full .ear with stateless session bean to fetch the data and small, password-protected web app to present the data and provide JSON / WS access from the outside.

更新
下面是一个SQL示例(仅MySQL),该示例返回研究UID,系列UID和分配为16位的10位和分配给8位图像的08位:

Update Below is an SQL example (MySQL only) that returns study UID, series UID and bits allocated as 10 for 16-bit and 08 for 8-bit images:

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

这篇关于DCM4CHEE如何存储DICOM图像的位分配信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆