2

我一直在研究一些dicom系列,发现厚度属性和itkimage.GetSpacing()[2]值并不总是一致的。

例如,dcm 文件中编码的厚度 (0018, 0050) 值为1.5 mm,但在 z 轴上表示 simpleITK 的相应间距为1.00。那我应该用什么值来表示z轴上相邻体素中心s之间的物理距离呢?如果它们是不同的东西,那么间距实际上意味着什么?

我在 python 中检索厚度和间距值,如下所示:

//thickness using dicom
thickness = dicom.read_file(dcm_file)[0x0018, 0x0050].value

//spacing using simpleITK
reader = sitk.ImageSeriesReader()
dicom_files = reader.GetGDCMSeriesFileNames(dicom_dir)
reader.SetFileNames(dicom_names)
itkImage= rader.Execute

spacing_x, spacing_y, spacing_z = itkImage.GetSpacing()

我一直在文档中搜索,但还没有找到类似的答案。谢谢!

====== 更新1 ======

我检查了 Image Position(Patient) (0020,0032)值,它们确实在每片 1mm 之外。那么叶子厚度是什么意思呢?

4

2 回答 2

4

扫描仪可以测量的最小切片厚度。并且相邻切片的测量位置之间存在距离。并且在创建图像时,扫描仪不必精确地测量一个厚度的下一个切片,它可以更少(使一些测量重叠)或更多(在测量中产生一些间隙)。对于相邻的体素中心,您需要间距。厚度是额外的信息,通常没有什么价值。

于 2018-02-08T14:33:30.710 回答
3

切片是根据扫描仪获取的连续信号计算得出的。您可以将计算想象为一种积分或平均值。在数学模型中,切片厚度无限小,但像素值是来自切片平面周围长方体的信号的平均值。

因此,切片厚度和相邻切片之间的距离彼此无关,并且可能独立变化。

我发现这张图片很有说明性:https ://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSWyeGrs-Ojdhg6GCn7obLfQ3j94c_sD0Hy8Oe1A-HdO6OZ-7H- (不幸的是它很小)

于 2018-02-08T16:34:42.643 回答