x 次元 - 384、y 次元 - 256、z 次元 64 の不規則なデータがあります。現在、これらの座標は 3 つの個別のバイナリ ファイルに格納されており、これらのポイントのデータ値を持つデータ ファイルがあります。そのようなデータをvtkで簡単に視覚化するにはどうすればよいか知りたいです。
これまでは、このようなデータを簡単に読み取ることができる fld ファイルを持つ AVS を使用していました。vtkでそれを行う方法がわかりません。この方向の指針をいただければ幸いです。
x 次元 - 384、y 次元 - 256、z 次元 64 の不規則なデータがあります。現在、これらの座標は 3 つの個別のバイナリ ファイルに格納されており、これらのポイントのデータ値を持つデータ ファイルがあります。そのようなデータをvtkで簡単に視覚化するにはどうすればよいか知りたいです。
これまでは、このようなデータを簡単に読み取ることができる fld ファイルを持つ AVS を使用していました。vtkでそれを行う方法がわかりません。この方向の指針をいただければ幸いです。
私の最善の答えは、ファイルを読み込んでvtkImageDataオブジェクトを埋め、vtkMetaImageWriterなどを使用して保存する小さなプログラムを作成することです。
vtkSmartPointer<vtkImageData> ImageData = vtkSmartPointer<vtkImageData>::New();
ImageData->SetDimensions(384,254,64);
ImageData->SetOrigin(0.0,0.0,0.0);
ImageData->SetSpacing(1.0,1.0,1.0);
ImageData->SetScalarTypeToDouble();
ImageData->AllocateScalars();
for(int i=0; i<z_dim-1; i++){
for(int j=0;j<y_dim-1;j++){
for(int k=0;k<x_dim-1;j++){
double pix= pixel from data file
double* pixel = static_cast<double*>(ImageData->GetScalarPointer(k,j,i));
pixel[0] = pix;
}
}
}
たぶん、ファイルをVTKネイティブ形式に変換する短いプログラムを書くことができます。それらは操作が簡単で、ASCIIとバイナリのフレーバーがあります。それらはこのドキュメントで説明されています:www.vtk.org/VTK/img/file-formats.pdf
これも役立つかもしれません:http : //www.rug.nl/cit/hpcv/visualisation/VTK/avs2vtk/man.html-ページを掘り下げると、AVSファイルをVTK形式に変換するスクリプトがあります。それは良い出発点かもしれません。
これがお役に立てば幸い、カルロス-