当我使用橡木 Dicom 从 Dicom.imaging.DicomImage.RenderImage() 获得 Drawing.image 时,该图像只有 RGB 值,但我需要 hounsfield 单位。
如何获得亨斯菲尔德单位?我需要一个示例代码。谢谢你。
如果您有 CT 图像,则有一种标准方法可以将像素值转换为 Hounsfield 单位。
首先,请注意几句。
首先,通常情况下,CT 图像应该包含灰度像素值,这就是您想要使用的。您可以通过检查 Photometric Interpretation (0028,0004) 标签来判断存储像素值的类型。希望它是“MONOCHROME2”,并且您的图像包含灰度像素值。(万一光度解释是“MONOCHROME1”,请检查图像的来源,看看您是否可以得到“MONOCHROME2”。)如果您看到 RGB 值,可能是您的工具包中的某些东西正在转换它们(可能用于展示),这不是你想要的。您想使用像素数据 (7FE0,0010) 中实际存储的像素。
其次,我所说的一切都与传统的 CT 图像信息对象 (IOD) 有关。如果您有增强 CT 图像,详细信息可能会发生变化。如果您有二次捕获图像,则所有赌注都已关闭。
对于 CT 图像,使用值 Rescale Slope (0028,1053) 和 Rescale Intercept (0028,1052) 将存储的像素值线性转换为 Hounsfield 单位:
Hounsfield units = (Rescale Slope * Pixel Value) + Rescale Intercept
(注意:其他类型的图像可以有一个查找表来代替它们的等效公式。对于 CT,您不必担心这一点。)
希望这可以帮助。