マスクを調整する
不完全なマスクは、ピクセルの追加や削除によって調整できます。SciPy には、こうした操作に役立つメソッドがいくつか用意されています。
binary_dilation:端に沿ってピクセルを追加するbinary_erosion:端に沿ってピクセルを削除するbinary_opening:収縮してから膨張させ、端付近の領域を「開く」binary_closing:膨張してから収縮させ、穴を「埋める」
この演習では、ボーンマスクを作成し、さらにピクセルを追加して調整しましょう。
以降の演習では、次のインポートをあらかじめ実行しています。
import scipy.ndimage as ndi
この演習はコースの一部です
Python による生体医療画像解析
演習の手順
imから145以上のピクセルを選択して、ボーン(骨)領域を作成します。ndi.binary_dilation()を使ってmask_boneのサイズを拡大します。膨張を複数回行うために、iterationsを5に設定してください。ndi.binary_closing()を使ってmask_boneの穴を埋めます。最大10ピクセル幅の穴を埋めるために、iterationsを5に設定してください。- 元のマスクと調整後のマスクをプロットします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create and tune bone mask
mask_bone = ____
mask_dilate = ndi.binary_dilation(____, ____)
mask_closed = ____
# Plot masked images
fig, axes = plt.subplots(1,3)
axes[0].imshow(mask_bone)
axes[1].imshow(mask_dilate)
____
format_and_render_plot()