[scikit-image] 14. 3次元ボクセルデータをポリゴンデータに変換( measure.marching_cubes_lewiner)

python
スポンサーリンク

skimage.measure の marching_cubes_lewinerを用いてボクセルデータをポリゴンデータへ変換

コード

解説

この例では、マーチングキューブ法を用いた、ボクセルデータのポリゴンデータへの変換を検討する。医療分野では、CTやMRIのボクセルデータをポリゴンデータへ変換するのに用いられる。

マーチングキューブ法 - Wikipedia

モジュールのインポート

ボクセルデータの生成

以前作成したボクセルサボテンのデータを用いる。詳細は下記参照。

[matplotlib 3D] 47.ボクセルサボテン(Voxel Cactus)
3D形式のデータをもつstlファイルをボクセル形式に変換して、matplotlib のvoxelで表示する。

マーチングキューブ法の適用

最後の0は、levelfloatでボリューム内の等値面を検索するための等高線値のこと。

ポリゴンデータの生成と表示

verts[faces]で三角形のポリゴンデータを得ることができるので、それをPoly3DCollectionとする。
ax.add_collection3d(mesh)とすることで、図中にポリゴンデータを表示する。

軸、視点の設定

参考

Marching Cubes — skimage v0.15.0 docs

コメント