2016-06-09 30 views
1

我正在使用图像位置(0020,0032)计算切片之间的距离,并以毫米为单位获得距离,如何将它转换为像素?获取DICOM中切片之间的距离

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

+0

你使用的是什么类型的图像? x射线,CT,MRI – 2016-06-09 16:18:58

+2

http://stackoverflow.com/questions/14930222/how-to-calculate-space-between-dicom-slices-for-mpr –

+0

我正在使用CT图像 –

回答

0

PS3.3 C.7.6.2 Image Plane Module包含可用于计算切片间距的标签。一般来说,您可以使用切片厚度(0018,0050),并假定切片之间不存在死区。在实践中,我计算每个切片的图像位置患者(0020,0032)之间的距离。

+0

切片厚度和病人的位置是以毫米为单位。您使用了哪个比例将其转换为像素? –

0

我需要在这里重复自己:

  • 不,你不能使用层厚(0018,0050)来计算重建间隔。

看到一个深入的答案在这里:https://stackoverflow.com/a/15116116/136285

技术上这个问题是完全相同的副本:

但对于完整性,让我们再次在这里描述的算法:

DICOM标准是在线在http://dicom.nema.org/。 “图像 方向患者”标记给出了上面定义的三个轴的行和 列的方向余弦。典型的轴向切片 的值为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]; 

您只需要在卷中的所有分片做一次。

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

然后根据该值命令切片“:接着,对 每个切片,计算沿着使用IPP 标签层法线距离(“DIST”被读出第一切片之前初始化为零) DIST”。最后,一旦你读完了所有的切片,就计算z-间距,作为前两个切片的“dist”值之间的差值 (或者使用平均值或甚至更复杂的算法来检测缺失的切片) 。

原始参考: