【医学影像数据处理】 Dicom 文件格式处理汇总一(数据转换原理)


如果你是在做医学影像类的工作,那么 DICOM(Digital Imaging and Communications in Medicine)数据格式肯定是经常的能够看到。那么,你会不会有个疑问:这是一个什么玩意的文件,怎么平时都没有看到过呢?

DICOM是医学影像存储中的标准格式,无论是X光、CT,还是MRI等等影像,采集的原理不同,但是存储的格式一般都是统一的。

本文就对DICOM文件的图像显示原理,做个介绍。帮助理解为什么.dcm文件,能够在专业的读取软件上面,随意尽情的变换了。

一、前言

要显示DICOM格式的医学图像,必须将原始图像数据经过一系列的转换,才能得到可直接在显示设备上显示的数据(称之为P Values)。

具体来说,DICOM医学图像显示需要经过Modality LUT、VOI LUT、Presentation LUT三个转换过程,最终输出的P Values才是可以直接显示的图像数据。

下图展示了从dicom中的pixel到显示的gray data的全过程,和相关需要的参数。
1
其中:

  • LUT:是Look Up Table查找表缩写
  • VOI:是Volume of Interest感兴趣区域缩写
  • P Values:是Presentation Values表现值缩写

为什么显示要经过这样繁琐的过程?

通常不同生产厂商的设备很难保证在一种设备上生成的图像和其他生产厂商的同类型设备上生成的图像在度量上是一致的,为此就需要将不同设备厂家产生的图像的原始数据转换到一个标准的度量空间, Modality LUT转换就是完成这个功能的。

CT成像技术为例,我们已经知道人体的灰度范围是-1000到+1000。但是因为设备厂家不同采集后的数据可能会有偏差,比如假设A组织标准范围是50到200,但是设备厂家1出来的可能是60到210,设备2出来的可能是40到190

如果每个厂家设备都有偏差那么我们就没有办法根据灰度值来评判组织(因为我这里的肺检测出来时150,到了你那里可能就变成140了)。

所以DICOM标准要求设备厂家在导出数据的时候要将自身设备出来的灰度范围变换到标准的-1000~1000范围内。也就是说Modality LUT是设备厂家自身与标准之间的一次变换映射

DICOM 分类上可以查到这四个 Tag 分成两个模组,以下举例几个相关的关键 Tag

  1. Modality LUT
- (0028,1052) Rescale Intercept
- (0028,1053) Rescale Slope
- (0028,1054) Rescale Type
- (0028,3000) Modality LUT Sequence
    - (0028,3002) LUT Descriptor
    - (0028,3003) LUT Explanation
    - (0028,3004) Modality LUT Type
    - (0028,3006) LUT Data
  1. VOI LUT
- (0028,1050) Window Center
- (0028,1051) Window Width
- (0028,1056) VOI LUT Function
- (0028,3010) VOI LUT Sequence
    - (0028,3002) LUT Descriptor
    - (0028,3003) LUT Explanation
    - (0028,3006) LUT Data

其中:

  • 窗位(Window Center):代表可视范围(或是感兴趣区域)的 CT 值范围中心
  • 窗宽(Window Width):可视范围大小
  • 调整斜率(Rescale Slope)
  • 调整截距(Rescale Intercept)

以上几个属性(Attribute)使用要注意几个规则:

  • Window Center (0028,1050) 与 VOI LUT Sequence (0028,3010) 选择一个使用
  • Window Center (0028,1050) 须与 Window Width (0028,1051) 搭配使用
  • Rescale Intercept (0028,1052) 与 Modality LUT Sequence (0028,3000) 选择一个使用
  • Rescale Intercept (0028,1052) 须与 Rescale Slope (0028,1053) 搭配使用

二、Modality LUT 是什么

看到这边就大概知道为什麽还要 Rescale Intercept Rescale Slope ,为了转换成 CT 值(HU)

这部分的属性值,需要设备厂商正确提供才能准确的把拍摄的图像数值转换成对照的 CT 值。常规转换公式如下:
在这里插入图片描述

当我们要将CT值映射到8-bit [0,255]萤幕上显示,可以用以下一元二次方程式来计算
在这里插入图片描述
在这里插入图片描述
1

上述公式要转换到16-bit/12-bit/10-bit值域,只要把255替换成欲转换值域的最大值即可。一般情况下,

  • Rescale Intercept(0028,1052)预设为 0;
  • Rescale Slope(0028,1053)预设为 1

这边补充一个网上对 InterceptSlope 的概念说明,为什么要引入这两个参数:

CT 生成的图像数值范围是 [-1024…+32768] 共 33793 阶,而 DICOM 的 CT 影像常用 12-bit 储存数据,最多储存 4096 阶,为了能将 CT 能表示的数值存入 DICOM 档案内,所以使用截距斜率进行转换

二、VOI LUT 是什么

VOI LUT是将CT值,转化为灰度值,用于显示。其中

  • 窗位(Window Center/Window Level):代表可视范围(或是感兴趣区域)的 CT 值范围中心
  • 窗宽(Window Width):可视范围大小

用下面这张图就很好理解 WL WW 的功用,用来增强我们想关注的部位的呈现效果

在这里插入图片描述

像上图 AirDense BoneCT 灰阶值有 2001 阶,若要映射到用 8-bit 显示灰阶萤幕,只能使用 0~255256 阶 (比如 Windows 的 sRGB)

WL, WW 的设定好坏,关係到医生是否能准确的分析出病徵有很大关係。基于以上原因,那只要把关注几个部位的对应 CT 值框进 WL, WW 内,那就可以很清楚看出异常病灶处

以下列出几个换算公式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 窄窗宽 (Narrow Window Width)
  • 对比度(Contrast)增加
  • 适合有相似的衰减值(HU/CT)的部位,比如:软组织
  1. 宽窗宽 (Wide Window Width)
  • 对比度(Contrast)减少
  • 适合衰减值(HU/CT)明显不同的部位,比如:肺与支气管

Window Center控制影像的亮度(Brightness),而 Window Width 控制影像的对比度(Contrast)。调整窗位与窗宽的影响如下:

  • Window Center 越大亮度越暗,反之越小亮度越亮
  • Window Width 越大对比度越低,反之越小对比度越高

如下:垂直方向表示WC亮度变化(下到上→亮到暗);水平方向表示WW对比度变化(左到右→高到低)

在这里插入图片描述

总结可发现: WC, WW 是针对 CT 图像来设计,计算上都要把数值转换为 CT 值才能做窗位、窗宽调整。

这个转换包括把多余高位 bit 变成 0(最低灰阶值),低位 bit 变成最高灰阶值(8-bit: 255, 10-bit:1023, 12-bit: 4096, 14-bit: 16383, 16-bit: 65535),再用 Rescale Intercept 与 Rescale Slope 作单位换算。

四、总结

到此会发现都没说到最开始提到的 VOI LUT SequenceModality LUT Sequence,这两个主要是给非常规的转换而来,主要方法是用查表映射(Lookup Table)对应数值

  • VOI LUT Sequence 的几个属性就单纯查表对应使用

  • Modality LUT Sequence 除了查表用属性外,还有一个 Modality LUT Type(0028,3004) 来指明转换后的数值单位(除了 HU 也可能使用光电量测单位)

面对显示器往往只有 8-bit,而数据有 12-16 bit 的落差,过去的演算法把数据的 Max 到 Min 之间转换到 8-bit 的 0-255,过程是个有损转换,最终得到的图像常常突现一些噪声(Noise)

针对这些问题,研究学者提出几项要求来规范转换的演算法,目前转换方式便是基于以下这些要求设计出来:

  • 充分利用 0-255 之间的有效显示范围
  • 尽量减少数值压缩带来的损失
  • 不能损失应该凸显的组织部分

总结下,在DICOM文件存储标准中,Modality LUT、VOI LUT 和 Presentation LUT 是用于图像处理和显示的不同类型的查找表。它们在医学影像中的处理和呈现中起着重要的作用。

  1. Modality LUT(Modality Lookup Table):模态查找表
    Modality LUT 用于将图像数据从设备特定的原始单位(例如CT值、MR信号强度等)转换为更具有物理含义的单位。它可以用来调整图像的对比度和亮度等,以确保图像在显示时具有适当的视觉效果。Modality LUT 通常由设备厂商在图像采集时应用,以便在图像存储时进行修正。

  2. VOI LUT(VoiLookup Table):值域查找表
    VOI LUT 用于调整图像的值域,即图像中各像素的灰度值。它可以用于增强或减弱图像中不同结构的对比度,以更好地突显感兴趣的解剖结构。VOI LUT 可以在显示过程中应用,以适应不同的显示环境和需求。

  3. Presentation LUT(Presentation Lookup Table):呈现查找表
    Presentation LUT 用于将图像数据从原始的灰度值映射到显示设备的灰度范围。它用于确保图像在不同的显示设备上具有一致的外观。Presentation LUT 可以根据显示设备的特性进行调整,以便在各种显示条件下都能获得良好的图像质量。

总之,Modality LUT、VOI LUT 和 Presentation LUT 是在DICOM标准中定义的不同类型的查找表,用于处理和呈现医学影像。它们在图像的获取、处理和显示过程中相互配合,以确保图像的质量和一致性。

参考内容:

  1. https://dotblogs.azurewebsites.net/MemoryRecall/2021/07/17/170824
  2. https://www.cnblogs.com/grass-and-moon/p/16595919.html
  3. https://programming.vip/docs/dicom-image-display-dcmtk-three-conversions-of-pixel-data.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钱多多先森

你的鼓励,是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值