Re - ImageJで学ぶ!: 第5回 Imagejを用いて医用画像の基本的な性質を知ろう(2)で学ぶ!

2015年7月28日火曜日

第5回 Imagejを用いて医用画像の基本的な性質を知ろう(2)で学ぶ!

前回はIMageJを用いて、画像の特徴を調べる簡単な方法(画像の大きさ、長さを測る方法や画像の濃度の分布を見る方法など)を紹介しました。今回も引き続き、画像の特徴を見るための諸量について説明します。

臨床応用として、病変の濃淡の程度が問題となる疾患(がんなど)や、病変の細かさの程度が問題となる病変(間質性肺疾患、中内耳疾患、乳がん微少石灰化など)を定量化することが可能となります。
基本を押さえることで、特徴量解析(ウェーブレットを応用した周波数解析、カオスやフラクタルを応用した複雑系による解析、ニューラルネットや遺伝的アルゴリズム、深層学習など)への応用も広がると思います。

画像間演算の使い方


実際に解析をはじめる前に、第3回で解説した通り、画像ファイルフォーマットには圧縮を行うものもあったことを思い出して下さい。解析に利用する画像がどのような画像なのかをしっかりと把握しておきましょう。
まず、画像間演算のウォームアップとして、この圧縮の違いでどの程度、濃淡値に差があるのか、画像を差分して調べてみましょう。
まず、任意のDICOM画像を準備(第4回参照)して、一旦ImageJを使ってJPEGで別名保存しておきます。そして、また、同じ被写体を映しているDICOMとJPEGをImageJで表示し直して、これらの画像を差分してみます。
全く同じ画像であれば、真っ黒(または真っ白)になるはずですが、圧縮の差異があるために画像に輪郭が残ることがわかります。

 (DICOM)
 (JPEG)
 (Process>Image Calcurator
Operationをいろいろ変えてみてください。)
(差分画像 ※WW/WLを強調しています。)

実は、このように輪郭部分に差異が生じるのはJPEG画像の特徴です。
基本的なJPEG圧縮では離散コサイン変換を8画素ブロックごとに施すことによって画像の細かいパターンから粗いパターンを並べ直す処理をします。ImageJでは、離散コサイン変換のプラグイン(DCT_.java)も用意されているため、深く理解したい場合には、ソースコードの中のブロックサイズを変更して比較するなど、処理の違いをみることもできます。

結論としては、JPEGなどの圧縮を行った画像では細かい構造などの情報が落ちてしまうので、病変の細かさの程度が問題となる病変の解析には向かないことが起こりうるということになります。

画像ノイズについて


前述の操作は2つの画像をシンプルに差分しただけでしたが、実際には、どの程度オリジナル画像(原画像)と比べて劣化したのかを定量情報として知りたいと思います。

この劣化の要因は画像生成の段階でもいろいろあり、結果画像として付加された画像劣化の成分はノイズ(雑音)と呼ばれます。画像を標本化(ピクセルごとに区画化する)・量子化(濃淡値の整数化の丸め)するときに原画像からの差が生じます。

この画像のノイズは画像濃度の振幅が関連することから、一般的に、その尺度として信号雑音比(S/N比)を利用します。
この値は電気工学的な表現として、デシベル(dB)として表すことができます。

SN = 10・log10S/N [dB]

しかし、ノイズは分散値(σ2乗)で計測するため、2乗値をとった実効値σでS/Nを計算すると、次の式で求められます。
SN = 20・log10σs/σn [dB]

ここで、σには最大値(8bit画像では"255"、16bit画像では"65535")やオリジナル画像の実効値(RMS値:root mean squared value)、σnには実効値が使われます。実際は、このRMS値として標準偏差が利用されます。

それでは、ImageJを用いてS/Nを求めてみましょう。
前述のオリジナル画像(DICOM)とそのJPEG圧縮画像の、同一の関心領域(ROI)において、画素のヒストグラムを表示し、標準偏差を表示してみます。
2つの画像を開き、どちらかの画像で四角ROIを作成します。そして、Analyze>Tools>ROI Managerを起動し、Addすると、アノテーション情報を記録できます。この状態でもう一方の画像を選択してROI Managerのアノテーションのリストをダブルクリックすると、ROIが複製されます。


この状態で、Analyze>Histogramからヒストグラムを表示してみましょう。今回は、JPEG画像に合わせてDICOM画像の濃淡値を8bitに変更しています(Image>Type>8-bit)。


明らかに両者のヒストグラムの分布形状が異なることがわかります。
そして、オリジナル画像の信号Sを標準偏差とみなして、両者の標準偏差を使ってS/NをGoogle計算器で求めてみると、

SN = 20・log10 (27.565)/(27.549)[dB]

S/Nは0.005[dB]と計算できます。

また、JPEGなどの圧縮画像のS/Nは算出時は、最大値S/N(PSNR)がよく利用されます。この場合、信号Sは最大濃度を入力します。計算してみると、

SN = 20 ・ log10 255/(標準偏差) [dB]

で、それぞれ、19.32程度であることがわかります。

次回も引き続きImageJを使った医用画像の特徴量の測定法について述べます。

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

1 件のコメント:

  1. 大変貴重な情報をありがとうございます。
    現在、カメラにおける放射線照射中のノイズの評価をしたく、参考にさせていただいております。
    疑問点があったため、質問させていただきます。

    文中にて、
    SN = 20・log10 (27.565)/(27.549)[dB]とありますが、
    SN = 20・log10 (変更後標準偏差)/(元データ標準偏差)[dB]で計算可能な原理が理解できません。

    下記以外にてご参考にされた資料等ございましたら、お教えいただけませんでしょうか。
    山本修司:ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(20・4) 2005, p94-96

    以上となります。

    返信削除