我有一个3D二进制图像。假设分辨率为dx,dy,dz
mm。如何将图像上的欧几里德距离转换为以mm为单位的距离。
如果我使用行进立方体算法计算了等值面。生成表面网格。两个网格顶点之间的欧几里德距离 - 如何将其转换为mm?
答案 0 :(得分:0)
如果我正确地阅读你的问题,你有一些以毫米为单位的体素大小,这不一定是各向同性的(即体素不是常规立方体)。
因此,如果每个体素都有尺寸dx * dy * dz
并且您在位置(x1, y1, z1)
和(x2, y2, z2)
处有两个体素,那么您希望找到这两个点之间的欧几里德(直线)距离。毫米。
因此,首先转换每个点以获得空间位置(称为s1
和s2
)
s1(x,y,z) = (x1 * dx, y1 * dy, z1 * dz)
和
s2(x,y,z) = (x2 * dx, y2 * dy, z2 * dz)
然后,以毫米为单位的这些点之间的距离d
就是向量的长度v
,从s1
到s2
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)
毫米。