我使用图像位置(0020,0032)计算切片之间的距离,我得到以毫米为单位的距离,如何将其转换为像素?
"像素间距" DICOM中的标记表示像素之间的物理距离,但它仅适用于图像的行和列。如果我想计算像素之间的距离,我应该使用这个标签中的哪个值?
答案 0 :(得分:1)
我需要在这里重复一遍:
请在此处查看深入答案: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)之间的距离。