我正在研究 DICOM files(CT files)
。我想使用Rescaleslope
并将Rescaleintercept
我的数据转换为具有关系的 HU:
X_IMAGE(:,:,path.ImageIndex) = (dicomread(path))*path.RescaleSlope + path.RescaleIntercept;
但这些字段的值分别为 1 和 0。所以没有转换,价值观也不会改变。为什么Rescaleintercept
不等于-1024?谢谢你
我正在研究 DICOM files(CT files)
。我想使用Rescaleslope
并将Rescaleintercept
我的数据转换为具有关系的 HU:
X_IMAGE(:,:,path.ImageIndex) = (dicomread(path))*path.RescaleSlope + path.RescaleIntercept;
但这些字段的值分别为 1 和 0。所以没有转换,价值观也不会改变。为什么Rescaleintercept
不等于-1024?谢谢你
要从 CT 数据中的正常单位(典型的数据集范围从 0 到 4000 左右)进行转换,您必须对数据进行线性变换。方程是:
hu = 像素值 * 斜率 + 截距
在使用 pydicom 库的 python 中,我使用以下脚本转换为 HU:
import pydicom
dicom = pydicom.dcmread(filepath)
dicom_hu = dicom.pixel_array * dicom.RescaleSlope + dicom.RescaleIntercept