z尺寸和厚度(0018,0050)的间距值在dicom系列中有何不同?

时间:2018-02-08 13:07:26

标签: image-processing dicom itk medical simpleitk

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

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

我在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()

我一直在搜索文档,但尚未发现类似答案的内容。谢谢!

====== Update1 ======

我已经检查了图像位置(患者)(0020,0032)值,它们确实每片1毫米。那厚度是什么意思?

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

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

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

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