2017-11-08 76 views
1

vtkライブラリをpython 2.7で使用して、vtk構造化されていないグリッドファイルからデータを抽出し、このデータをnumpyまたはpython list形式に変換します。次のようにVTKファイルが構成されていますPythonでvtkライブラリを使用して配列としてvtkデータを抽出する

ASCII 
DATASET UNSTRUCTURED_GRID 
POINTS  96 float 
CELLS  96  192 
CELL_TYPES  96 
POINT_DATA  96 
VECTORS vector1 float 
VECTORS vector2 float 
etc 

vtk library documentationは、その機能に正義を行うには表示されませんので、私は自分自身をいじっのビットをした:次に

import vtk 
Filename = 'test.vtk' 
reader = vtk.vtkUnstructuredGridReader() 
reader.SetFileName(FileName) 
reader.Update() 

何? readerdirを実行すると、さまざまなメソッド/属性が表示されます。たとえば、GetNumberOfVectorsInFileはASCIIファイルに含まれるベクターレイヤの数を取得し、GetVectorsNameInFile(5)はファイルに含まれるベクトル情報の5番目の配列の名前を正確に出力します。ファイル内の実際ののリストを取得するにはどうすればよいですか?

+0

ここで私の答えを使用する際に問題があった場合は教えてください。 –

答えて

1

PythonのVTK関数の名前は、C++のものと似ています。したがって、C++ Documentation for vtkUnstructuredGridReader

import vtk 
Filename = 'test.vtk' 
reader = vtk.vtkUnstructuredGridReader() 
reader.SetFileName(FileName) 
reader.ReadAllScalarsOn() 
reader.ReadAllVectorsOn() 
reader.Update() 
usg = reader.GetOutput() 

vec1 = usg.GetPointData().GetVector('vector1') 
関連する問題