我想将一个.VTK ASCII多边形数据文件转换成仅包含点坐标的numpy数组。我首先尝试了这个:https://dev59.com/amgt5IYBdhLWcg3w5xg_#11894302,但它存储了一个(3,3)的numpy数组,其中每个条目实际上是组成该特定单元格(在这种情况下是三角形)的三个点的坐标。然而,我不想要单元格,我想要每个点的坐标(不重复)。接下来,我尝试了这个:https://dev59.com/lmAg5IYBdhLWcg3w0Nze#23359921并进行了一些修改。这是我的最终代码。值被存储为元组而不是numpy数组,但我不确定该元组是否代表每个点。
请提出建议。
import sys
import numpy
import vtk
from vtk.util.numpy_support import vtk_to_numpy
reader = vtk.vtkPolyDataReader()
reader.SetFileName('Filename.vtk')
reader.ReadAllScalarsOn()
reader.ReadAllVectorsOn()
reader.Update()
nodes_vtk_array= reader.GetOutput().GetPoints().GetData()
print nodes_vtk_array
请提出建议。
vtk-8.1.0
和type(polydata) == <class 'vtkCommonDataModelPython.vtkPolyData'>
,会导致以下异常:AttributeError: 'NoneType' object has no attribute 'GetData'
。 - alkamid