我的问题有点连线。我正在研究包含 dicom 图像的前列腺 MRI数据集。当我使用 Simple ITK 加载 dicom 文件时,输出 numpy 数组的 dtype 将为 float64 。但是当我使用 pydicom 加载相同的 dicom 文件时,输出 numpy 数组的 dtype 将是 uint16 问题不只是这个。使用不同的模块时,像素强度会有所不同。所以我的问题是为什么它们看起来不同,哪一个是正确的,为什么这些模块以不同的方式加载数据?这是我用来加载 dcm 文件的代码。
import pydicom
import SimpleITK as sitk
path = 'dicoms/1.dcm'
def read_using_sitk():
reader = sitk.ImageFileReader()
reader.SetFileName(path)
image = reader.Execute()
numpy_array = sitk.GetArrayFromImage(image)
return numpy_array.dtype
def read_using_pydicom():
dataset = pydicom.dcmread(path)
numpy_array = dataset.pixel_array
return numpy_array.dtype