在DICOM

时间:2016-06-09 15:50:27

标签: distance dicom

我使用图像位置(0020,0032)计算切片之间的距离,我得到以毫米为单位的距离,如何将其转换为像素?

"像素间距" DICOM中的标记表示像素之间的物理距离,但它仅适用于图像的行和列。如果我想计算像素之间的距离,我应该使用这个标签中的哪个值?

2 个答案:

答案 0 :(得分:1)

我需要在这里重复一遍:

  • 不能使用切片厚度(0018,0050)来计算重建间隔。

请在此处查看深入答案:https://stackoverflow.com/a/15116116/136285

从技术上讲,这个问题与以下内容完全相同:

但为了完整性,我们再次在这里描述算法:

DICOM标准在http://dicom.nema.org/上线。 "图像 方向患者" tag给出行的方向余弦和 上面定义的三个轴的列。你的典型轴向切片会 值为1/0/0/0/1/0:行从左向右增加列 从后向前增加。这是你的日常"向上看 从眼睛底部开始,眼球向上" 图像。

在您的图片中,IOP = 0.999794\0.000000\-0.020289\-0.020127\-0.126071\-0.991817。所以这是一个 略微旋转的冠状采集:行从左到右增加, 并且列从头到脚增加。

"Image Position Patient"标记给出了第一个坐标 " RAH"中的图像中的体素坐标系,相对于某些人而言 原点。

重建体积时所采取的步骤是:首先,根据IOP计算切片法线:

normal[0] = cosines[1]*cosines[5] - cosines[2]*cosines[4];
normal[1] = cosines[2]*cosines[3] - cosines[0]*cosines[5];
normal[2] = cosines[0]*cosines[4] - cosines[1]*cosines[3];

您只需对卷中的所有切片执行一次此操作。接下来,为 每个切片,使用IPP计算沿切片法线的距离 tag(" dist"在读取第一个切片之前初始化为零):

for (int i = 0; i < 3; ++i) dist += normal[i]*ipp[i];

然后根据值&#34; dist&#34;对切片进行排序。最后一次 您已在所有切片中读取,计算z间距作为差异 在&#34; dist&#34;之间前两个切片的值(或使用平均,甚至更复杂的算法来检测丢失的切片)。

原始参考:

答案 1 :(得分:0)

PS3.3 C.7.6.2 Image Plane Module包含可用于计算切片间距的标记。通常,您可以使用切片厚度(0018,0050)并假设切片之间没有死区。在实践中,我计算每个切片的图像位置患者(0020,0032)之间的距离。