我有一个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文件的好方法。
非常感谢。
答案 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)