vtk 网格生成是否改变坐标?

Does vtk mesh generation change coordinates?

我使用 python-实现的 vtk 将 nifti 文件转换为 vtk。主要功能是 vtkMarchingCubes。

contour=vtk.vtkMarchingCubes() 

结果 vtk 网格具有正确的形状,但它们的位置似乎发生了变化。 例如,当我在同一场景中使用不同的管道 (freesurfer) 使用完全相同的 nifti 图像制成的 pial 表面加载它们时,结果如下所示。

nifti 的 vtk 转换是否会改变顶点的坐标或以某种方式 'reset' 它们?

VTK 的 MarchingCubes 滤镜应在与体积相同的坐标系中生成三角形。唯一的问题是 Nifti 图像还包含图像的坐标系,而 VTK 可能没有正确使用它。我猜 Nifti 中有一个 VTK 没有正确使用的转换。

尝试使用 Slicer (slicer.org) 或 ITK-Snap (itksnap.org)。他们在维护医学图像坐标系方面做得更好。

是的,VTK读取nifti时改变了坐标。

-使用 GetQFormMatrix() 获取 Q 矩阵 - 使用 vtkTransform() 变换坐标 需要。