在我将 ImageData 传递给它之后,行进立方体类不会生成任何东西。
我正在尝试从 3D numpy 数组生成表面。我使用 evtk 将数组导出到 .vti(结构化点)文件并存储为 pointData。然后,通过 vtkXMLImageDataReader 读取文件。将 Reader 的输出 (vtkImageData) 传递给 vtkMarchingCubes 类后,该类返回一个没有点或单元的 vtkPolyData,vtkImageData 在 vtk wiki 的示例中使用,MarchingCubes 类应该没有问题处理它。
我尝试导出Reader生成的ImageData,输出可以通过ParaView可视化没有任何问题。
我只是想知道 vtk 中的行进立方体生成表面是否有任何特殊要求?如果 3D numpy 可以直接转换为适合 MarchingCubes 的数据类型就更好了。
这是我读取 .vki 文件并将其传递给行进立方体的代码:
dataReader = vtk.vtkXMLImageDataReader()
dataReader.SetFileName('model_name.vti')
dataReader.Update()
contacts = vtk.vtkDiscreteMarchingCubes()
contacts.SetInputConnection(dataReader.GetOutputPort())
contacts.SetValue(0,1)
contacts.ComputeNormalsOn()
contacts.Update()
result = contacts.GetOutput()