J'essaie d'utiliser la bibliothèque vtk sous python pour tracer des rationalisations pour un ensemble de données. J'ai besoin des positions le long des lignes de courant pour d'autres calculs. Cependant, je n'ai pas pu extraire les données de l'objet vtk StreamLine.Comment extraire des données de rationalisation à partir de l'objet StreamTracer de vtk
Je travaille sous IPython (Python 2.7.12) avec une librairie paraview version 5.0.1.
Actuellement, je suis chargement des données, la mise en place des semences et tracer les lignes de courant:
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()
La dernière étape semble tracer réellement les lignes de courant. Selon la documentation, cela devrait créer des polylignes (données de cellules) en sortie, qui sont les lignes de champ réelles, et des données ponctuelles avec les positions le long des lignes de champ. Cependant, je n'ai pas réussi à trouver cela n'importe où dans l'objet StreamLine. Les données cellulaires existantes semblent être différentes.