如何计算MPR的dicom切片之间的空间?

Omi*_*ifi 5 dicom slice

由于显示基于Dicoms的MPR视图.我从一系列dicom文件中制作了一个3D数组.我从CoronalSagittal那边展示它.

My 3D array includes: 

 - z = count of dicoms
 - c = column value for every dicoms
 - r = Row value for every dicoms
Run Code Online (Sandbox Code Playgroud)

但我有一个问题.当切片之间存在一些空间时,通过这种方式制作图像不会显示正确的视图.因为我无法想到它们之间的模拟距离!

我不知道如何计算切片之间的空间?我想在切片之间添加额外的空间.例如,如果切片之间的空间是4.我必须添加4个时间z内切片.

我希望能达到我的意思.

mal*_*lat 16

图像位置(患者)和图像方向(患者)是计算切片之间距离时应使用的两个唯一属性.有关详细信息,请参阅此处此处.对于实际实现,请参见此处,此实现也会考虑Frame Of Reference UID.

这个问题是关于comp.protocols.dicom的问题#1.

请参阅ImageJ错误


我相信@Matt的答案是错误的,让我在这里澄清一些事情.

  • :"DICOM并不能有一个叫做间距切片之间的属性".这是非常错误的(从技术上讲,它甚至没有任何意义).

DICOM定义了IOD,它定义了SOP类实例中可用的必需属性集.让我们考虑两种非常常见的情况:CT图像存储(传统)和MR图像存储(传统).所以我们需要比较两者之间的属性集:

  1. CT图像IOD模块
  2. MR Image IOD模块

现在让我们说我们要检查MR Image Storage支持Spacing Between Slices,很容易跳转到:

但是,为CT Image Storage找到这个属性要困难得多:只是因为这个属性不存在(按标准).因此,唯一一次您会发现这样的属性将在扩展的 SOP类中(某些供应商可能会认为Slacing Between Slices属性在其扩展的 SOP类实例中有意义).

  • 在相同的答案中混合切片间距和切片厚度(0018,0050)对于新用户来说非常混乱.

我同意切片厚度在CT图像存储和MR图像存储的标准中都是完美定义的,因为它们都包含 图像平面模块属性,但是不要让它们换另一个.

我在这里找到了切片厚度与切片间距的很好的总结(如果你滚动到该部分,你甚至可以播放小的演示):

在步进和拍摄CT中,切片厚度和切片之间的间距是相同的,因此这里没有大问题.然而,对于螺旋CT,这些值不相同,并且可以在任何方向上变化(它们是独立的).

[...]切片厚度由检测器宽度和间距决定,而重建间隔(=切片间距)可以任意选择.[...]

总之,计算(安全!)切片之间的间距(=重建间隔),使用图像方向(患者)和图像位置(患者)更安全,因为它们在MR图像存储或CT图像存储实例中可用.


Mat*_*att 15

DICOM具有称为间隔切片间距(0018,0088)的属性,其给出两个相邻切片之间的距离(垂直于图像平面),并且还具有称为切片厚度(0018,0050)的属性,其给出成像切片的厚度. (图像平面存在于切片的中心,一半体积在平面上方,一半在下面).图像位置(患者)(0020,0032)和图像方向(患者)(0020,0037)也是用于计算切片之间的空间关系的有用属性.

有关更详细的说明,请参阅DICOM标准第3部分的C.7.6.2节.(第409页)