Данные VTK не отображаются в CellData или PointData (интерфейс numpy) - PullRequest
1 голос
/ 28 мая 2020

У меня есть файл VTK, который правильно заполняет данные в ParaView:

enter image description here

Однако, когда я открываю тот же файл с помощью 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', не отображаются как ключи?

1 Ответ

3 голосов
/ 28 мая 2020

Вам необходимо попросить читателя прочитать все данные.

reader.ReadAllScalarsOn()
reader.ReadAllVectorsOn()
...

В зависимости от того, какие данные вы пытаетесь загрузить. (скаляры, вектор, тензор ... См. весь список: https://vtk.org/doc/nightly/html/classvtkDataReader.html#a831f470c6fbfc6e7209a1243ccb546e2)

...