モルフォロジフィルタ



■ モルフォロジフィルタは、ボリュームデータの形状に基づいて特徴を抽出したり、ノイズ除去をしたりするフィルタです。


概念としてフォトショップでの、「ある領域を色選択して」「選択範囲の拡大縮小をして」「塗りつぶす」という操作に非常に似ています。

Dilation

ジェフの顔にDilation(領域の拡大)処理を施して、等値面を取ると領域が膨らんでいるのが分かります。

可哀想に顔面が腫れ上がっていますが…(アニメーションGIF)

Erosionn

その逆であるErosion(領域の縮小)処理を施すと、もとのサイズに戻ります。しかし、先ほど周囲から膨らんできてつぶれてしまった目の構造は、もはや元には戻らずふさがったままです。パラメータを大きくすると、鼻の穴もふさがります。

腫れ上がった目の詳細な構造はもう戻りません…(アニメーションGIF)

■ 一度 Dilation してつながった構造は、同じだけErosionをしても戻りません。
そのため、 Dilation-Erosionの組み合わせをすると、元の構造は残したまま、空隙や途切れ途切れの構造がつながることになります。
この2つの処理の組み合わせは、メニュー内ではClosing(空隙を埋める)となっています。
Opening(ノイズの除去)はこの逆で、ErosionとDilationを行って、飛び地のようなシグナルを除去します。

■ ジェフの顔の場合には、Closingをしても細かい構造が失われるだけで、メリットはありませんが、
途切れ途切れの血管や神経のシグナルを修復するのに非常に役に立つでしょう。

Closing 処理後の構造をオレンジで表示(アニメーションGIF)

よく見ると分かりますが、あまりパラメータを大きくすると、今度は隣の血管にペタペタとくっつき始めます。典型的な構造間の距離よりも離れているシグナルは、この操作では接続することはできません。

そういう場合はデータ処理を頑張るよりも、もっといいデータをとる方向で努力するほうが良さそう…


パラメータやサイズにもよるのですが、3次元データへのモルフォロジ処理は、Corei7の全コアで回しても相当重いので、可視化と同時に行おうとはせず、処理済データをExportで出力して、それを使って描画などの調整をするのが現実的です。

このフィルタの効果も、PovRayによる出力に反映されません。PovRayはファイルを読んでレンダリングをするので、レンダリングするにはフィルタを適用済みの.df3ファイルが必要になります。
inserted by FC2 system