distance - 获取 DICOM 中切片之间的距离

标签 distance dicom

我正在使用图像位置(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/

相关文章:

dicom - 如何在 DICOM 研究中找到图像数量?

image - 修改或添加 dicom 标签

php - mysql 按第一列中的列排序

distance - 使用纬度和经度以度分秒格式查找两点之间的距离

python - 使用 python 在值列表上的余弦距离

javascript - 测量两个 HTML 元素中心之间的距离

dicom - 计算位图的窗口宽度和窗口中心

java - 通过 Dcm2dcm 进行 Dicom 解压缩

c++ - 如何通过 C++ 库读取多帧 DICOM 文件?

java - Solr 地理空间搜索返回错误的距离