使用ITK将物理点转换为索引

时间:2017-03-20 16:19:02

标签: c++ dicom itk

我试图沿轨迹获得HU值。使用Matlab在网格文件上计算目标坐标和该目标的切线(因此轨迹),给出一组xyz坐标和方向矢量(切线)。然后,我使用ITK在C ++中加载dicom文件(从中提取网格而不是用于获取网格的二进制掩码本身)。然后,我使用了函数image->TransformPhysicalPointToIndex(point, pixelIndex);。我读取了目标的目标x,y,z坐标,并构建了一个双[3]矢量,坐标距离目标每0.02毫米,距离目标2毫米。当我调用函数image->TransformPhysicalPointToIndex(point, pixelIndex);时,它总是返回false,因为点不在图像中。 因此,在默认值之后,我将图像的原点更改为元数据中的值,标签为(0020 | 0032)图像位置(患者)= -3.125-12 \ 13.125

这样,所有物理点都位于图像中,但HU值是错误的(像素索引位于左上角,而不是右下角)。 任何人都可以让我知道我需要遵循的步骤来完成这项任务吗?

1 个答案:

答案 0 :(得分:0)

您可以通过将每个行向量乘以-1来反转ImageDirections。但是您还需要将原点移动到右下角以保持物理图像范围相同。