Я пытаюсь использовать библиотеку vtk под python для отслеживания потоков для набора данных. Мне нужны позиции вдоль линий тока для дальнейших расчетов. Однако мне не удалось извлечь данные из объекта vtk StreamLine.
Я работаю под IPython (Python 2.7.12) с библиотекой paraview версии 5.0.1.
В настоящее время я загружаю данные, настраиваю семена и отслеживаю потоки:
import paraview.simple as pv
b0vtk = pv.LegacyVTKReader(FileNames=['B0.vtk'])
streamTracer = pv.StreamTracer(Input=b0vtk, SeedType='Point Source')
streamTracer.Vectors = ['POINTS', 'bfield']
streamTracer.MaximumStreamlineLength = 50
streamTracer.SeedType.Center = [0, 0, 0]
streamTracer.SeedType.NumberOfPoints = 1000
streamTracer.SeedType.Radius = 1.6
streamTracer.UpdatePipeline()
Последний шаг, кажется, фактически отслеживает линии тока.
В соответствии с документацией это должно создавать полилинии (данные ячеек) в качестве выходных данных, которые являются фактическими линиями поля и точечными данными с позициями вдоль линий поля. Однако я не смог найти это нигде в объекте StreamLine. Существующие данные ячейки кажутся другими.