[scikit-image] 101. レベルセット法の初期レベルセット(ディスク)を作成するための関数(skimage.segmentation.disk_level_set)

matplotlib

はじめに

skimage.segmentation の disk_level_setでレベルセット法で行うセグメンテーションのためのディスク状の初期レベルセットを作成する方法について説明する。

解説

モジュールのインポートなど

バージョン

2Dデータの作成

要素が0で形状が(128,128)の2次元データを作成する。

diskの半径を変化

np.logspaceで配列を作成

ディスクの半径のための配列を作成する。np.logspaceでlogスケールで配列を作成することができ、(1,6,num=6,base=2)のようにすること範囲が21から26 で要素数6の配列が得られる。

disk_level_setの作成

disk_level_set(image.shape,radius=int(i))で前述のnp.logspaceで準備した配列の要素を使ってdisk画像を作成し、リストに加えていく。diskの半径の大きさの異なるdisk_level_set画像が得られる。

画像の表示

diskの中心を変化

np.linspaceで配列を作成

np.linspaceで2次元配列を作成する。

disk_level_setの作成

disk_level_set(image.shape,center=tuple(centers[i]))で前述のnp.linspaceで準備した配列の要素を使ってdisk画像を作成し、リストに加えていく。中心点の異なるdisk_level_set画像が得られる。

画像の表示

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

参考

skimage.segmentation — skimage 0.23.2rc2.dev0 documentation
Morphological Snakes — skimage 0.23.0rc3.dev0 documentation

コメント