Создание файла vtk с использованием Python - PullRequest
0 голосов
/ 19 сентября 2019

Я не могу отобразить файл vtk, используя python.Анализ кода Spyder подсказывает мне, что vtkDataSetMapper является неопределенным именем.

Я знаю, что файл vtk в порядке, потому что я уже отобразил его с помощью Paraview.

Мой файл vtk выглядит следующим образом:

# vtk DataFile Version 2.0
 velocity field
 ASCII
 DATASET STRUCTURED_POINTS
 DIMENSIONS         108         103          31
 ORIGIN   0.0000000000000000        0.0000000000000000       -297.50000000000000     
 SPACING   15.465818554775332        12.565027060488859        10.000000000000000     
 POINT_DATA      344844
 SCALARS scalars float
 LOOKUP_TABLE default
 8.4405251
 8.4405251
...
...
...

После последней показанной строки в файле vtk содержится остальная информация, представляющая собой просто числа (~ 300000 значений)

Мой код выглядит следующим образом:

import vtk

# Read vtk file data 
reader = vtk.vtkDataSetReader()
reader.SetFileName("seaust.vtk")
reader.ReadAllScalarsOn()  # Activate the reading of all scalars
reader.ReadAllVectorsOn()  # Activate the reading of all vectors
reader.ReadAllTensorsOn()  # Activate the reading of all tensors
reader.Update()
data = reader.GetOutput()
scalar_range = data.GetScalarRange()

# Create the mapper that corresponds the objects of the vtk file
# into graphics elements
mapper = vtkDataSetMapper()
mapper.SetInput(data)

При попытке скомпилировать код python выдает мне следующую ошибку:

AttributeError: 'vtkRenderingCorePython.vtkDataSetMapper' object has no attribute 'SetInput'

Я ожидаю трехмерную визуализацию моих данных.

Не могли бы вы помочь мне получить ее?

1 Ответ

0 голосов
/ 20 сентября 2019

Полагаю, вам не хватает vtk.в mapper = vtk.vtkDataSetMapper()

и вам, вероятно, нужно использовать mapper.SetInputData(data)

...