次に,このCADの中核となる腫瘤陰影の検出処理を構築します.これは,先の
検出の方針は,つぎのようにします.
腫瘤陰影は,背景と比べて比較的明るい(白い)領域にあるので,あるしきい値で2値化(演習6)を行うことで検出する事とします.
ここの方針は,画像の平均値と標準偏差からしきい値を算出する手法とします.そして,2値化後の画像を保存することとします.
ここでは,しきい値は,画像の平均値と標準偏差から算出される値とします.平均をm,標準偏差をsdとするとき,しきい値:thは
th = m + α x sd
とする事とします.これで,αをパラメータとして,しきい値を変更できるようになります.
コンパイル方法
Makefileを用意してあるので,単に「make」と入力するだけで可能です.
実行方法
proc mammo01s.raw 512 512 mammo01sb.raw
procが実行ファイル名
mammo01s.rawが入力画像のファイル名
512 512は幅と高さ.演習Aで半分に再サンプリングしています.
mammo01sb.rawは出力のファイル名.2値画像になっている事に注意してください.
処理前の画像表示
x8view mammo01s.raw 512 512
処理後の画像表示
x8view mammo01sb.raw 512 512
演習B−1
しきい値を{平均+標準偏差の1.5倍,2倍と自由に変化させてみましょう.ポイントは,腫瘤陰影らしい領域ができるだけ孤立して白く表示されるような値を見つける事です.
まず,mphantoms.raw, nphantoms.rawの2枚の人工画像を使って実験してみましょう.
演習B−2
しきい値の変数を#defineを使ってmain関数の先頭部分に分かりやすく表示しましょう.
演習B−3
画像の画素値の平均値と標準偏差を画像の背景(真っ黒の部分)を無視して計算するように改造しましょう.
余裕のある人:演習B−4
画像全体からしきい値を求める事をやめて,中心領域がその周辺よりも一定値以上白い場合には白とするようなプログラムを作成しましょう.