2015年8月25日火曜日

第11回 ImageJを用いて画像の周波数表現を理解する(その6)で学ぶ!

この記事は参考記事を援用して、筆者の考えも交えつつ、記述しています。


今回は画像のノイズが周波数領域でどのように関わっているかを説明していきます。

周波数の領域でのノイズ評価


デジタル画像のような周期的ノイズの解析にはウィナー(Wiener)スペクトルという定量値がしばしば用いられます。
これは、自己相関関数と称される関数のフーリエ変換で説明されます。
自己相関関数とは、画像であれば、画像の濃度プロファイルのある位置の値から、一定の離れた距離にある値を積算し、逐次、位置を並行移動しながら総和をとるものです。

このような自己相関関数のフーリエ変換は、Wiener-Khintchineの定理からウィナースペクトルを与えることができます。
ウィナースペクトルR(u,v)は、次の式で求められます。


ここで、画像のある一点からの相関距離を表すτとμがゼロであれば、RMS粒状度の2乗に等しくなります。
次に、点広がり関数を例に、ノイズの関係を解説していきます。

ノイズが加わった画像の劣化


ノイズが加わった画像g(x,y)は、次の式で表すことができます。

g(x,y) = h(x,y)*f(x,y)+n(x,y)

h(x,y)は原画像、f(x,y)はPSF(点広がり関数)、n(x,y)がノイズです。

これらを二次元フーリエ変換すると、次のように表すことができます。

G(u,v)=H(u,v)*F(u,v)+N(u,v)

このG(u,v)を原画像に戻す試みとしてのウィナーフィルタは、以下の式で表されます。


この分母で用いられるN(u,v)の絶対値の2乗は、ウィナースペクトルと等価になります。
このウイナーフィルタに適当な定数Γ(がんま)を用いると次の式のように表すことができます。



では実際に、このウィナーフィルタを用いてImageJのノイズ低減フィルタのプラグインを使ってみましょう。

ImageJによるウイナースペクトルを用いたデコンボリュージョン


PSFによる劣化をウイナーフィルタを用いて画像復元するプラグインはNick Linnenbrügger氏によって提供されています。


FFTJ.zipをダウンロードして、解凍して、そのままPluginsフォルダに保存しましょう。
さて、検証のために劣化画像を作りますが、この画像はImageJのGaussian Filterプラグインで生成できます。画像はImageJのサンプル画像(T1 Head 2.4Mの71スライス目)を使います。Sigma"1.0"設定で元画像にガウシアンフィルターをかけてみました。
これでボケ(Blur)画像が完成です。

次に、このボケ画像をどうにか元画像に戻したいと考え、ウイナーフィルタをかけていきましょう。
そのために、第8回で紹介したプラグインを使って、次のような設定でPSFをつくってみました。あまりPSFが大きいと、ボケが大きくなってしまうので、小さい点で試していきましょう。



これで、ボケ画像とPSFが準備できました。
早速、次のようなDeconvolutionを試みます。



ImageJに表示した状態のボケ画像、PSF画像をセットし、出力するマトリクス数を設定します。Resizing to 2^N-Formatは、計算時にマトリクスサイズを次の段階(例えば256→512)まで大きくして計算させるかどうかを選択します。Complex Number Precisionは計算時の有効桁数を設定できます。「Regularization Parameter(gamma)」は、前述のウィナーフィルタの式の「Γ(がんま)」です。
ここでは試しにΓ=0.01のデフォルトのまま試みてみると、次のような結果になりました。



まだボケがありますが、ボケ画像(Gaussian blur)よりもDeconvolution画像の方がくっきりはっきりしており、原画像に近いことがわかります。

このように、あらかじめ画像のボケがわかっている場合には、このプラグンでノイズを除去しながら復元画像を作成できます。顕微鏡の焦点ボケの補正にも使われているようです。

次回は、ImageJによる画像フィルタの解説を行っていきます!

Visionary Imaging Services, Inc.は、イメージング技術サポートを通じて、創薬研究や医療機器開発など、臨床研究(臨床試験)サポートサービスを展開しております。
お問い合わせはこちらまでお願いいたします。

参考記事:「山本修司:ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(20・11) 2005, p94-96

0 件のコメント:

コメントを投稿