Доступ Pyvista к значениям файла VTK

У меня есть файл VTK, и я могу открыть его с помощью pyvista. Когда я открываю этот файл в любом приложении для 3D-просмотра (например, Paraview), я вижу точки и их значения (есть много точек, распределенных по X,Y,Z, и каждая точка имеет свое собственное значение).

В pyvista Я могу видеть только координаты точек и не знаю, как получить доступ к значениям (или меткам) в каждой координате.

import pyvista as pv
pd = pv.read('data.vtk')
pd.points

# UnstructuredGrid (0x20fef143e28)
#  N Cells: 0
#  N Points:    80851
#  X Bounds:    -2.570e+03, 2.550e+03
#  Y Bounds:    -1.280e+03, 1.280e+03
#  Z Bounds:    -1.075e+03, 2.048e+02
#  N Arrays:    0

1 ответ

Вы имеете в виду point_arrays свойство, которое можно использовать для доступа к скалярам, ​​связанным с каждой точкой.

Если вы присвоили значение каждой точке в сетке, вы можете получить к нему доступ с помощью point_arraysсвойство, которое ведет себя как словарь Python. Например, при создании Sphere в пределах pyvista, нормали включены в сетку и доступны с помощью:

>>> import pyvista as pv
>>> mesh =  pv.Sphere()
>>> mesh.point_arrays['Normals']
pyvista_ndarray([[ 0.        ,  0.        ,  1.        ],
                 [ 0.        ,  0.        , -1.        ],
                 [ 0.10811902,  0.        ,  0.99413794],
                 ...,
                 [ 0.31232402, -0.06638652, -0.9476532 ],
                 [ 0.21027282, -0.04469487, -0.97662055],
                 [ 0.10575636, -0.02247921, -0.99413794]], dtype=float32)

Дополнительные сведения см. В разделе " Базовое использование API".

Другие вопросы по тегам