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

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による画像フィルタの解説を行っていきます!

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

0 件のコメント:

コメントを投稿