VTK 数据未出现在 CellData 或 PointData 中(numpy 接口)
VTK Data does not appear in CellData or PointData (numpy interface)
我有一个 VTK 文件可以正确填充 ParaView 中的数据:
然而,当我用 VTK 的 Python API 打开同一个文件时,我似乎终究无法找到这些相同的标记数据集。这是我尝试过的:
import vtk
from vtk.numpy_interface import dataset_adapter as dsa
reader = vtk.vtkUnstructuredGridReader()
reader.SetFileName('test.vtk')
reader.Update()
adapter = dsa.WrapDataObject(reader.GetOutput())
print(adapter.PointData.keys()) # ['hu', 'disp']
print(adapter.CellData.keys()) # []
print(adapter.FieldData.keys()) # []
因此,ParaView 似乎能够识别除 'hu' 和 'disp' 之外的其他数据集,但我似乎无法在相应的 Python 对象中找到它们。
我假设它就在某处。任何人都知道为什么他们,例如 'meanstress',不作为键出现?
您需要让 reader 读取所有数据。
reader.ReadAllScalarsOn()
reader.ReadAllVectorsOn()
...
依赖于您尝试加载的数据类型。
(标量、向量、张量...查看整个列表:https://vtk.org/doc/nightly/html/classvtkDataReader.html#a831f470c6fbfc6e7209a1243ccb546e2)
我有一个 VTK 文件可以正确填充 ParaView 中的数据:
然而,当我用 VTK 的 Python API 打开同一个文件时,我似乎终究无法找到这些相同的标记数据集。这是我尝试过的:
import vtk
from vtk.numpy_interface import dataset_adapter as dsa
reader = vtk.vtkUnstructuredGridReader()
reader.SetFileName('test.vtk')
reader.Update()
adapter = dsa.WrapDataObject(reader.GetOutput())
print(adapter.PointData.keys()) # ['hu', 'disp']
print(adapter.CellData.keys()) # []
print(adapter.FieldData.keys()) # []
因此,ParaView 似乎能够识别除 'hu' 和 'disp' 之外的其他数据集,但我似乎无法在相应的 Python 对象中找到它们。
我假设它就在某处。任何人都知道为什么他们,例如 'meanstress',不作为键出现?
您需要让 reader 读取所有数据。
reader.ReadAllScalarsOn()
reader.ReadAllVectorsOn()
...
依赖于您尝试加载的数据类型。 (标量、向量、张量...查看整个列表:https://vtk.org/doc/nightly/html/classvtkDataReader.html#a831f470c6fbfc6e7209a1243ccb546e2)