由于显示了,MPR视图,基于字典的。我用一系列的dicom文件制作了一个3D数组。我从冠状面和矢状面展示。
My 3D array includes:
- z = count of dicoms
- c = column value for every dicoms
- r = Row value for every dicoms但我有个问题。当切片之间有一定的空间时,用这种方式生成的图像并不能显示正确的视图。因为我想不出他们之间的模拟距离!
我不知道如何计算切片之间的空间?我想在切片之间增加额外的空间。例如,如果切片之间的空间是4,我必须添加4倍z内部切片。
我希望能达到我的意思。
发布于 2013-02-18 19:51:58
DICOM有一个名为片间距(0018,0088)的属性,它给出两个相邻片之间的距离(垂直于图像平面),它还有一个名为片厚(0018,0050)的属性,它给出了成像片的厚度(图像平面存在于切片的中心,体积的一半在平面之上,一半在下面)。图像位置(病人) (0020,0032)和图像方向(病人) (0020,0037)也是计算片间空间关系的有用属性。
有关更详细的解释,请参见DICOM标准第3部分C.7.6.2节。(第409页)
警告:请注意,不同的供应商使用相同的 dicom标记来解决不同的问题。例如,片之间的属性间隔(0018,0088)意味着两个不同的(取决于供应商)。请参阅这张桌子以获得指南,而这条线则可获得解释。
发布于 2013-02-27 15:39:35
图像位置(病人)和图像定向(病人)是计算切片之间距离时应该使用的两个唯一的属性。有关详细信息,请参阅这里或这里。有关实际实现,请参阅这里,此实现还考虑了参考框架UID以及Gantry/Detector。
这个问题就是在comp.protocols.dicom上提出的问题#1。
请参阅ImageJ错误
我相信马特的回答是错误的,让我在这里澄清几点。
DICOM定义IOD,它定义SOP类实例中可用的一组必需属性。让我们考虑两个非常常见的情况: CT图像存储(遗留)和MR图像存储(遗留)。因此,我们需要在以下几个方面比较一组属性:
现在假设我们要检查MR映像存储是否支持Spacing Between Slices,很容易跳到:
然而,要在CT图像存储中找到这个属性要困难得多:仅仅因为这个属性不存在(每个标准)。因此,只有在扩展的 SOP类中才能找到这样的属性(一些供应商可能会决定,在他们的扩展 SOP类实例中,片属性之间的间隔是合理的)。
我同意在CT图像存储和MR图像存储的标准中都完美地定义了切片厚度,因为它们都包括图像平面模块属性,但是我们不要用一个来交换另一个。
我在这里找到了一份关于切片厚度与切片间距的很好的摘要(如果您滚动到该部分,甚至可以播放这个小演示):
在台阶和摄影CT中,切片的厚度和间距是相同的,所以这里没有什么大的问题。然而,对于螺旋CT,这些值是不一样的,可以在任何方向变化(它们是独立的)。
…切片厚度由探测器的宽度和螺距决定,而重建间隔(=片间距)可以任意选择。…
总之,要计算(安全!)由于切片间距(=重建间隔),在MR图像存储实例或CT图像存储实例中,使用图像定位(病人)和图像位置(患者)更为安全。
发布于 2017-08-04 20:38:08
正如前面的答案所讨论的,如何计算DICOM片之间的空间并不简单。让我们用不同的方式表达这个问题:如何将DICOM切片存储在一个3D卷中,即一个用于呈现的等距切片列表(猜测您想要上传到一个3D纹理中)。
这是因为CT切片被捕获的实际位置可能与放射科医生选择的位置不同。数据集可能已配置为捕获1mm切片,但CT切片返回位置0.0mm,0.997毫米,2.010毫米,.
如果使用诸如切片间距之类的属性来计算3D卷的大小,则很容易获得细微的舍入误差。别去那儿。
相反,重要的是使用图像位置(病人) (0020,0032),然后执行优化,以确定我们如何将切片放入网格中。
在实践中需要考虑的典型问题:
https://stackoverflow.com/questions/14930222
复制相似问题