使用 VTK 渲染分割,存储在 NumPy 数组中

Render segmentation, stored in a NumPy array, with VTK

我有一个 3D 分割 numpy.ndarray,我想将其渲染到 VTK 中。 [在这里看到类似的过程:https://pyscience.wordpress.com/2014/11/16/volume-rendering-with-python-and-vtk/ by@somada141]

我当前的(临时)解决方案包括: (1)用nib将NumPy数组保存到Nifiti文件中。 Nifti1图像 (2) 使用(vtkNIFTIImageReader())将Nifiti文件加载到vtk中 (3) 用vtkDiscreteMarchingCubes()渲染表面

我的问题:如何在没有中间文件的情况下将这个 3D NumPy 数组直接转换为 VTK。

您可以使用模块 numpy_support( https://github.com/Kitware/VTK/blob/master/Wrapping/Python/vtk/util/numpy_support.py) or the new vtk datasetadapter http://www.paraview.org/ParaView3/Doc/Nightly/www/py-doc/paraview.vtk.numpy_interface.dataset_adapter.html , http://kitware.com/blog/home/post/709

有关第一个解决方案的示例,请参阅 https://pyscience.wordpress.com/2014/09/06/numpy-to-vtk-converting-your-numpy-arrays-to-vtk-arrays-and-files/

实际上,在寻找示例时,我还发现了 http://www.vtk.org/Wiki/VTK/Examples/Python/vtkWithNumpy,这是我以前从未尝试过的!