Python 3.x 如何从vtp xml文件中读取数据
我正在尝试使用VTKFile type=“PolyData”从.vtp文件读取数据 在标准文本编辑器中打开的.vtp文件类似于Python 3.x 如何从vtp xml文件中读取数据,python-3.x,vtk,Python 3.x,Vtk,我正在尝试使用VTKFile type=“PolyData”从.vtp文件读取数据 在标准文本编辑器中打开的.vtp文件类似于 <?xml version="1.0"?> <VTKFile type="PolyData" version="0.1" ... > <PolyData> <Piece NumberOfPoints="99686" NumberOfVerts=
<?xml version="1.0"?>
<VTKFile type="PolyData" version="0.1" ... >
<PolyData>
<Piece NumberOfPoints="99686" NumberOfVerts="0" NumberOfLines="0"
NumberOfStrips="0" NumberOfPolys="199368" >
<PointData>
<DataArray type="UInt8" Name="name1" format="appended" ... />
<DataArray type="Int16" Name="name2" RangeMax="589" .../>
</PointData>
<CellData>
</CellData>
<Points>
<DataArray type="Float32" Name="Points" NumberOfComponents="3" ... />
</Points>
<Verts>
我可以通过
from vtk.util.numpy_support import vtk_to_numpy
polydata = reader.GetOutput()
points = polydata.GetPoints()
array = points.GetData()
point_coordinates = vtk_to_numpy(array)
但仅当vtk==8.1.2,而不是vtk==9.x时
现在我需要获取隐藏在PointData“name1”和“name2”中的数据作为numpy数组。我可以通过
pointData = polydata.GetPointData()
但是当我尝试用vtk_将其转换为numpy时,我得到了一个错误
AttributeError: 'vtkCommonDataModelPython.vtkPointData' object has no attribute 'GetDataType'
如何访问PoxDATA数据作为NUMPY数组或PyHton列表?< /P> < P>此时,您的代码是正确的,并且数据被读取并包含在VTKPoIDEATS类型的<代码> PultDaaDeals/Cuff>变量中,请参见这里C++ C++文档(Python作为同一API,参见这里:)/P> 然后,vtk代表
可视化工具包
,因此,如果您所说的显示是指三维视图,请看这里:
对于numpy集成,您可以使用dataset\u适配器
模块:
也可以将数据数组转换为NoMpy.<代码> vtkytotoNypy/<代码>模块(<代码>从VTK.UTI.NUPYPYORKION支持导入VTKYTotoNyPy < /C> >)/P> < P>此时您的代码是正确的,并且数据被读取并包含在VTKPoLTAdvt的
可视化工具包
,因此,如果您所说的显示是指三维视图,请看这里:
对于numpy集成,您可以使用dataset\u适配器
模块:
您还可以使用vtk\u to\u numpy
模块将数据数组转换为numpy(from vtk.util.numpy\u支持将vtk\u导入到numpy
)
似乎做了这笔交易
似乎做了这笔交易。您想如何处理这些数据?你的代码出了什么问题?@NicoVuaille我想以数组类型访问/查看它,现在我根本看不到它。比如numpy之类的。没有问题,因为没有错误消息,但我无法显示数据。我尝试了此操作,但找不到vtk.UTILS您想对数据做什么?你的代码出了什么问题?@NicoVuaille我想以数组类型访问/查看它,现在我根本看不到它。比如numpy之类的。没有问题,因为没有错误消息,但我无法显示数据。我试过了,但找不到vtk.utilsI。我目前只能访问vtk 8.1.2中的vtk.util,而不能访问vtk 9.x。点ID只是数组的索引,由vtk_到_numpy生成,对吗?我目前只能访问vtk 8.1.2中的vtk.util,而不能访问vtk 9.x。点ID只是数组的索引,由vtk_到_numpy生成,这对吗?
AttributeError: 'vtkCommonDataModelPython.vtkPointData' object has no attribute 'GetDataType'
name1 = pointData.GetArray('name1')
name1_array = vtk_to_numpy(name1)