2

PythonでMeshオブジェクトを作成しようとしています。次のWebページからインストールされているPythonバインディングを使用しています。C ++コードに関する限り、次のように実行できます。

      MeshType::Pointer mesh = MeshType::New();

私はITKでさえ使用するのは非常に新しいです。それを作成する方法がわかりません。c ++ドキュメントのMeshのコンストラクターでは、TPixelTypeという1つの必要な引数が示されています。それも見つけることができません。

誰かがこれで私を喜ばせるのを手伝ってもらえますか?

ありがとう

4

1 に答える 1

3

もし私があなたなら、ITK4.0に付属しているPythonバインディングを見てみようと思います。cmakeでオプションWRAP_ITK_PYTHONをオンにすると、それらにアクセスできます。

PythonバインディングをオンにしてITKをコンパイルすると、すぐに2つのメッシュタイプを作成できます。

import itk
meshType2D = itk.Mesh.D2Q.New()
meshType3D = itk.Mesh.D3Q.New()

または、次のようにクラスを明示的にインスタンス化することもできます。

import itk
meshType2D = itk.Mesh[itk.D, 2, itk.QuadEdgeMeshTraits.D2BBFF]
meshType3D = itk.Mesh[itk.D, 3, itk.QuadEdgeMeshTraits.D3BBFF]

これにより、デフォルトのメッシュ特性を持つダブルタイプのピクセル値の2次元および3次元メッシュが得られます。ITKのピクセルタイプに関する限り、これらは基本的なC ++変数タイプ(double、float、unsigned intなど)に相当します。これらの基本タイプはPythonでラップされ、ITK名前空間で見つけることができます:itk.D、itk.F 、itk.UIなど。

于 2011-09-28T15:52:55.797 に答える