我正在使用图像位置(0020,0032)计算切片之间的距离,并且我得到的距离以毫米为单位,如何将其转换为像素?
DICOM中的“像素间距”标签表示像素之间的物理距离,但它仅适用于图像的行和列。如果我想计算切片之间的距离(以像素为单位),我应该使用此标签中的哪个值?
最佳答案
我需要在这里重复一遍:
- 不可以,您不能使用切片厚度 (0018,0050) 来计算重建间隔。
在这里查看深入的答案:https://stackoverflow.com/a/15116116/136285
从技术上讲,这个问题与以下问题完全相同:
但为了完整起见,让我们再次描述一下该算法:
DICOM 标准已上线 http://dicom.nema.org/ 。图片
Orientation Patient”标签给出了行的方向余弦,
上面定义的三个轴的列。您典型的轴向切片将
有一个值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 计算沿切片法线的距离 标签(“dist”在读取第一个切片之前初始化为零):
for (int i = 0; i < 3; ++i) dist += normal[i]*ipp[i];
然后根据值“dist”对切片进行排序。终于有一次 您已读入所有切片,计算 z 间距作为差异 前两个切片的“dist”值之间(或使用平均值,甚至更复杂的算法来检测丢失的切片)。
原文引用:
关于distance - 获取 DICOM 中切片之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37730772/