体素或像素到毫米之间的距离

时间:2013-06-24 22:01:43

标签: image-processing graphics vtk itk

我有一个3D二进制图像。假设分辨率为dx,dy,dz mm。如何将图像上的欧几里德距离转换为以mm为单位的距离。

如果我使用行进立方体算法计算了等值面。生成表面网格。两个网格顶点之间的欧几里德距离 - 如何将其转换为mm?

1 个答案:

答案 0 :(得分:0)

如果我正确地阅读你的问题,你有一些以毫米为单位的体素大小,这不一定是各向同性的(即体素不是常规立方体)。

因此,如果每个体素都有尺寸dx * dy * dz并且您在位置(x1, y1, z1)(x2, y2, z2)处有两个体素,那么您希望找到这两个点之间的欧几里德(直线)距离。毫米。

因此,首先转换每个点以获得空间位置(称为s1s2

s1(x,y,z) = (x1 * dx, y1 * dy, z1 * dz)
s2(x,y,z) = (x2 * dx, y2 * dy, z2 * dz)

然后,以毫米为单位的这些点之间的距离d就是向量的长度v,从s1s2

v(x,y,z) = (s2.x - s1.x, s2.y - s1.y, s2.z - s1.z)

距离d = sqrt(v.x^2 + v.y^2 + v.z^2)毫米。