我正在做一个带有DICOM图像的项目,我需要比较两个DICOM图像。问题是,一个是单色 1,另一个是单色 2(零分别表示白色和黑色(。如何转换这些像素强度以进行比较?我正在使用"pydicom"工具包。
您的主要问题不是光度解释(MONO1/2(。
您无法比较两个 DICOM 图像的像素强度,除非它们引用相同的比例(例如霍恩斯菲尔德单位(。
如果你有
(0028,1052) RescaleIntercept - present with any value
(0028,1053) RescaleSlope - present with any value
(0028,1054) RescaleType - present with value "OD" or "HU"
然后非常简单: 应用线性变换:
<measured value> = <pixel value> * RescaleSlope + RescaleIntercept
可以比较测量值。
如果在标头中将非线性模态 LUT 存储为查找表,则情况也是如此,但相同的限制适用于重定比例类型。
否则,我将避免比较像素值。当然,反转两张图像中的一张似乎很容易,但它们具有不同的光度解释这一事实告诉我,它们是通过不同的设备或技术获得的。这意味着,像素数据在视觉上是正确的和可比较的,但在数学上不相关。
如果有帮助,当使用 matplotlib.pyplot 进行可视化时,您可以使用
plt.imshow(image, cmap='gray_r')
将像素反转回单色 2 以进行视觉比较,而无需更改像素值。
也
np.invert(image)
可能是一种解决方法。