图像位置(患者)和图像方向(患者)是计算切片间距离时您应该使用的
唯一两个属性。有关更多详细信息,请参见
此处或
此处。要查看实际实现,请参见
此处,该实现还考虑了参考框架UID以及旋转角度(Gantry/Detector Tilt)。
这个问题是在comp.protocols.dicom上最常问的问题之一。
请参见
ImageJ bug。
我认为@Matt的答案是错误的,让我在这里澄清一些事情。
- 不:'DICOM没有一个叫做“Spacing Between Slices”的属性。那是非常错误的(从技术上来说,它甚至没有任何意义)。
DICOM定义了IODs,这些IODs定义了SOP类实例中可用的必需属性集合。让我们考虑两种非常常见的情况:CT图像存储(传统)和MR图像存储(传统)。所以我们需要比较两者之间的属性集合:
1.
CT Image IOD Modules
2.
MR Image IOD Modules
现在假设我们想要检查MR图像存储是否支持“Spacing Between Slices”,很容易跳转到:
然而,对于CT图像存储来说,要找到这个属性要困难得多:因为这个属性在标准中并不存在。所以你只能在扩展的SOP类(某些供应商可能认为切片间距属性在他们的扩展的SOP类实例中是有意义的)中找到这个属性。
- 在同一个答案中混合使用切片间距和切片厚度(0018,0050)对新用户来说非常令人困惑。
我同意切片厚度在标准中已经完美定义了,无论是CT图像存储还是MR图像存储,因为它们都包括图像平面模块属性,但我们不要把一个换成另一个。
我在这里找到了一个关于切片厚度与切片间距的很好的总结(如果你滚动到该部分,甚至可以播放小演示):
在逐步拍摄CT中,切片厚度和切片之间的间距是相同的,因此这里没有大问题。然而,在螺旋CT中,这些值并不相同,可以在任何方向上变化(它们是独立的)。
切片厚度由探测器宽度和螺距确定,
而重建间隔(=切片间间隔)可以任意选择。[...]
总之,为了(安全地!)计算切片间间隔(=重建间隔),最好使用图像定位(患者)和图像位置(患者),因为它们在MR图像存储或CT图像存储实例中都是可用的。
在CP-2061之前,所有上述内容都是针对将属性移动到图像平面模块并使其现在可用于CT的情况进行编写的。