使用Python编写和修改VTK polydata文件

时间:2014-10-24 20:10:22

标签: python vtk

我有一个vtk polydata文件 - 我正在编写一个Python代码来读取这个polydata文件,如下所示:

fullDirPath  = os.getcwd()
fullFileName = fullDirPath+'/'+fileName
reader = vtkPolyDataReader()
reader.SetFileName(vtkFileName)
reader.ReadAllScalarsOn()
reader.ReadAllVectorsOn()
reader.Update()

data        = reader.GetOutput()
velArray    = vtk_to_numpy(data.GetPointData().GetArray('velocity'))

我省略了vtk库的所有相关库导入语句。

我现在想对此速度数据velArray进行操作,并创建一个新的标量字段velParam,然后编写一个新的VTK polydata文件,其中velParam作为额外的标量领域。遗憾的是,到目前为止我还没有能够提出在Python中操纵vtkPolyDataWriter对象及其函数的正确方法 - 我没有找到很多例子来做同样的事情。我想知道从一组给定的点坐标,矢量数据字段和标量数据字段编写vtk Polydata文件的好方法。

非常感谢。

1 个答案:

答案 0 :(得分:0)

不是操纵编写器(它只需要文件名和聚合数据),而是必须创建所需的聚合数据,然后将其提供给编写器。 类似的东西:

velParam_numpy = 2*velArray
velParam_vtk = numpy_to_vtk(velParam_numpy)
velParam_vtk.SetName('VelParam') #rememebr to give an unique name
data.GetPointData().AddArray(velParam_vtk)