У меня есть короткий скрипт, который помещает несколько VTK
файлов в объект glob
, загружает их в конвейер Mayavi и строит графики их поверхностей. Отлично. Проблема в том, что я хотел бы добавить другие модули для визуализации, такие как модуль outline
, но в пределах for
l oop, который у меня есть, только строится один контур. Мне бы хотелось, чтобы результатом было второе изображение.
У меня много VTK
файлов, поэтому загружать их по одному и применять модуль структуры для каждого из них не вариант.
Использование python3.7
и mayavi 4.6.2
#!/usr/bin/env python3
from mayavi import mlab
from mayavi.modules.surface import Surface
from mayavi.modules.outline import Outline
from glob import glob
files = sorted(glob("/path/to/files/*file.vtk"))
# create a new figure, grab the engine that's created with it
fig = mlab.figure()
engine = mlab.get_engine()
outline = Outline()
for fyle in files:
# open the vtk file, let mayavi figure it all out
vtk_file_reader = engine.open(fyle)
surface = Surface()
surface.actor.property.representation = 'surface'
engine.add_filter(surface, vtk_file_reader)
engine.add_filter(outline, vtk_file_reader)
mlab.show()
Что я получаю
![what I get](https://i.stack.imgur.com/EIJ1P.png)
Что я хочу
![What I want](https://i.stack.imgur.com/MzJr5.png)