2017-03-20 129 views
0

我想使用python下的vtk庫來跟蹤數據集的流線。我需要沿着流線進行進一步計算。但是,我一直無法從vtk StreamLine對象中提取數據。如何從vtk StreamTracer對象提取流線數據

我正在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對象的任何位置找到它。現有的細胞數據似乎不同。

回答

1

這裏是你如何恢復數據:

servermanager.Fetch(streamTracer) 

請注意,這可能是非常costy,因爲需要將數據從pvserver到paraview包客戶端轉移。當然,內置它並不重要。

更多信息here