Re - ImageJで学ぶ!: 2015-08-23

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

2015年8月24日月曜日

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

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

第6回から連続してMTFを説明しました。今回は、前回に続き、デジタルMTFを測定する場合のエリアシングのオーバーラップを避けるための論拠に基づく矩形波チャートを用いたImageJでのMTF測定方法を説明します。

2015/8/24現在、デジタルチャートの入手ができておらず、詳細な情報をまとめきれておりません。申し訳ございません。
プラグインのご紹介はさせていただきましたので、ご参考になれば幸いです。

既知のBar Patternについて基本周波数の振幅(MTF)が算出できるImageJプラグインに「measureMTF.java」プラグインがあります。
これはテキサス大学のJeffrey Kuhn氏によって作られたプラグインです。

http://rsb.info.nih.gov/ij/plugins/mtf.html

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

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

画像を生成するためのシステム、さらに視覚系のMTF(modulation transfer function:変調伝達関数)を用いた評価や測定法は50年以上も前から現在に至るまで、未だに盛んに検討されています(放射線科学の分野に応用した功績で名高いのは、シカゴ大学のロスマン教授という方だそうで、まったく知りませんでしたが、知れてよかったです)。

前回は、臨床でも利用可能なMTFを述べましたが、今回は、放射線技術を学ぶ基礎としてのMTFの詳細を述べます。

MTFの定義

オブジェクト(対象とする物体)のスペクトル分布において光学系の空間フィルタ効果が生じるとき、その応答(レスポンス)関数を光学伝達関数(optical transfer function:以下、OTF)といいます。
OTFは連続画像(この場合、アナログ画像と捉える)上で定義され、空間周波数領域は次の式で表されます。

I(u,v)=H(u,v)O(u,v)=|H(u,v)|exp[jθH(u,v)]O(u,v)

ここで、I(u,v)は画像のフーリエ変換でO(u,v)は対象物のフーリエ変換であり、そして、H(u,v)がOTFです。OTFの振幅項である|H(u,v)|がMTFです。
そして、θH(u,v)が位相を表す項であるので、位相伝達関数(phase transfer function:PSF)と呼ばれているそうです。

さて、ここで議論しているのは、画像のフーリエ変換の結果ではなく、OTFの絶対値(MTF)です。連続画像によるOTFは点像強度分布(point spread function:以下、PSF)のフーリエ変換(これをインパルス応答という)として定義できます(第8回参照)。

このPSFが、離散的にサンプリングされると、空間の不変性が失われます。画像をサンプリングする場合のサンプリングの相対位置が変化すると、当然、PSFのサンプリングしたときの強度分布も異なってしまいます。

これが、デジタル画像のMTFの問題点です。

PSFが高い周波数を持つとき、サンプリング間隔の幅や位置によってエリアシング誤差が生じます(第6回参照)。このオーバーラップ効果によってPSFのMTFは真値を示すことができません。しかし、多くの標本化された画像システムでは、連続空間上の不変システムのモデルをそのまま用いています。なぜなら、画像センサなどの検出器の有限な開口幅によるサンプリングが空間前フィルタの役割になり、このフィルタ効果によって、離散系においても、エリアシング誤差が生じないような工夫が可能という考えに則っているからです。

ここで強調したいことは、単にPSFのフーリエ変換でMTFが求まるといっても、デジタル化される前の検出器のサンプリングアパーチャなどによるボケを含んだ、デジタル化される前のMTF(プリサンプリングMTFという)が正確に求められて、初めて次のサンプリング(A/D変換)の正確なMTFの計算ができるということになります


(藤田広志,小寺吉衛:ディジタル放射線画像,内田勝監修,東京,オーム社, 102,2000.より

今回は理論攻めで筆者もついていけているか微妙です、、、(やっとのこと数式を理解していく努力をしました!)

次回は実際にImageJを使ってMTFを測定していきます!

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