Я хочу извлечь массивы данных из файла .vtu с помощью модуля Python VTK. Файл выглядит следующим образом (необработанные данные в конце файла опущены):
<?xml version="1.0"?>
<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian">
<UnstructuredGrid>
<Piece NumberOfPoints="10471" NumberOfCells="64892">
<PointData>
<DataArray type="Float64" Name="potential" NumberOfComponents="1" format="appended" offset="0"/>
<DataArray type="Float64" Name="electric field" NumberOfComponents="3" format="appended" offset="83772"/>
</PointData>
<CellData>
<DataArray type="Int32" Name="GeometryIds" format="appended" offset="335080"/>
</CellData>
<Points>
<DataArray type="Float64" NumberOfComponents="3" format="appended" offset="594652"/>
</Points>
<Cells>
<DataArray type="Int32" Name="connectivity" format="appended" offset="845960"/>
<DataArray type="Int32" Name="offsets" format="appended" offset="1865068"/>
<DataArray type="Int32" Name="types" format="appended" offset="2124640"/>
</Cells>
</Piece>
</UnstructuredGrid>
<AppendedData encoding="raw">
Я пытаюсь извлечь данные, используя следующий код Python:
import numpy
from vtk import vtkUnstructuredGridReader
from vtk.util import numpy_support as VN
reader = vtkUnstructuredGridReader()
reader.SetFileName("charged_wire.vtu")
reader.ReadAllVectorsOn()
reader.ReadAllScalarsOn()
reader.Update()
data = reader.GetOutput()
potential = data.GetPointData().GetScalars("potential")
print(type(potential))
К сожалению, эта программа печатает NoneType
как вывод, и я не совсем уверен, что мне нужно изменить, чтобы извлечь хранилища данных в массиве potential
?