【问题标题】:DICOM and DICOM overlay questionDICOM和DICOM叠加问题
【发布时间】:2011-01-31 02:37:19
【问题描述】:

我有一个 DICOM 图像,我正在使用 C# 读取并将其转换为 16 位位图。位图已创建,但图像具有 DICOM 覆盖。我想在创建最终的 dicom 位图时将叠加层刻录到位图中。我无法做到这一点。 有什么帮助吗?

一种方法是创建叠加数据的位图并合并 2 个位图,但我也无法将叠加数据作为位图获取。 我已经捕获了二进制叠加数据,但是如何刻录成位图?

谢谢

【问题讨论】:

  • 不太清楚您要完成什么:您需要一个带有叠加层的 DICOM 文件,还是一个准备好在其上带有叠加层显示的位图?
  • 我需要带有叠加层的 DICOM 文件的位图
  • 所以您需要知道如何将 OverlayDaya 解压缩为 Bitmap 等可用字节......??

标签: bitmap jpeg dicom overlays


【解决方案1】:

有两种类型的叠加层:

1) Burned-In: 是原版。它使用单色像素数据的更高位(超出像素范围,例如,当 BitsAllocated 为 16 且 BitsStored 为 12 时,每个像素有 4 个未使用的位(位 12..15),可用于覆盖。我不确定它是如何处理签名图像的。
请注意,没有标签指定图像是否具有此类覆盖。 (有一个标签叫做 Burned In Annotation (0028,0301),但它的意思是别的)。

2) 覆盖模块: 为覆盖保留一系列标签(组 0x600xx)。每个这样的组都包含多个标签以及每像素 1 位的位图,其中1 表示存在覆盖。
请注意,它不是标准的 GDI 位图,线条未在 DWORD 边界上对齐! (而且我不确定它是否使用相同的位字节序。)

一个 DICOM 图像可以有多个(最多 16 个?)这样的叠加层。请参阅标准的第 3 部分了解具体规格。

【讨论】:

  • 感谢 ruslik 花时间回答我的问题。我想要(2)一个覆盖模块,因为我可以在 Sante DICOM 查看器中看到标签(0x600xx)。
【解决方案2】:

DICOM 覆盖只是一个位图掩码。在渲染图像时,我建议只遍历像素,并且在将像素设置为白色的情况下。

对于灰度图像,您必须检查光度解释以查看它是 MONOCHROME1 还是 MONOCHROME2。然后,您必须检查分配的位以查看最大像素值是多少,并在 MONOCHROME1 图像的情况下强制将覆盖设置为该值的像素值。对于 MONOCHROME2 图像,您必须将启用叠加的像素设置为最小像素值。

如果是彩色图像,您可以将像素更改为特定颜色,或在必要时更改为白色以显示叠加层。

【讨论】:

  • 感谢史蒂夫花时间回答我的问题
【解决方案3】:

覆盖平面始终为每像素 1 位,其中Overlay Bits Allocated 为 1,Overlay Bits Position (60XX, 0102) 始终为 0。一位重叠数据与 Pixel Data 元素分开编码,Overlay Data (60XX, 3000) 元素用于存储数据。覆盖数据元素的值表示为 OW。但是,OB 可以用于显式 VR 编码。

根据PS 3.5 of DICOM standard section 8.1.2,“覆盖数据被编码为单个覆盖平面的位的直接串联,其中覆盖平面的第一位编码在最低有效位,紧随其后的是下一位下一个最高有效位的覆盖平面。当覆盖数据跨越 OW 情况下的字边界或 OB 情况下的字节边界时,它应继续被编码,分别在下一个字或字节中的最低有效位到最高有效位”。

2 字节字的字节顺序(OW 的 VR)由编码中使用的字节序决定。所以在行边界没有使用填充,它是从左到右和从上到下编码的,一次一行,其中覆盖位 1 是覆盖平面的第一位(左上像素)。

正式的覆盖数据被允许嵌入Pixel Data (7FE0, 0010)unused位,Overlay Bit Position (60XX, 0102)用于指示存储覆盖数据的像素数据中未使用的位。在这种类型的编码中,Overlay Bits Allocated (60XX, 0100) 应该与Image Pixel moduleBits Allocated (0028, 0100) 属性具有相同的值。 Overlay Bits Allocated 的值大于 1 表示覆盖数据嵌入在像素数据中。

偶数组 (6000-601F, eeee) 用于 Overlay Planes 编码,数据集每个图像最多可以有 16 个叠加层。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多