医療画像解析ソフト ゴブリンアイズ(12)「小波(ウェーブレット)」マニュアル

黒月解析研究所(9621Analysis)


ゴブリンアイズの使用権を販売します  ゴブリンアイズの注文書

医療画像解析ソフト ゴブリンアイズ ブランチページへもどる

 ウェーブレット解析

 ウェーブレット解析は20世紀の末ごろ、この地球世界に現れました。
 そのころ私は地質調査の会社にいて、現場で測定してきた弾性波(剛体中を伝わる波、地震波も)のデータ解析を行い、それを報告書にまとめて、依頼主(電力会社などの民間企業や地方公共団体の土木関係の部署)へ納める(もちろん、対価と引き換えに)という仕事についていました。
 測定された弾性波には、ノイズも含まれていますし、それらを無視しても、いろいろな周波数の波動が混じっています。その中から、高い周波数の波や、低い周波数の波を、もとの重ね合わさった波から分離する必要がありました。
 ウェーブレット解析というものが現われるまで、そのような解析を進めてゆく技法としてはフーリエ解析があるだけでした。これは、高い周波数や低い周波数のモデルとして、サイン波やコサイン波を用意しておいて、それらを使って逆解析という手続きで、観測波形の周波数成分を分離するというものです。
 このフーリエ解析を効率よく行う手法として高速フーリエ変換(FFT)というものが生み出されていました。このアルゴリズムはなかなかむつかしいものでしたが、これをプログラムにとりこみ、観測データを分割して、その単位データを自動的に取り込んで計算し、自動的に結果を保存できるようにしておいてから、コンピュータを何台も用意して、他社では一週間以上かかる解析を、ほぼ一日で行えるようにしました。
 やがて、多様な周波数の観測波形から、周波数成分を取り出すことを、もっと簡単に、逆解析ではなく、ほとんど順解析で行うことができるウェーブレット解析というものが現われだしました。
 私は、さっそく、ウェーブレット解析の専門書を、日本語のものはもちろん、英語で世界中に売られているものも探して集めまくり、入門書から順に読み込んでゆきました。
 これは数学の分野なので、英語といっても、その「地の文」はとてもシンプルです。問題は数学の内容を理解できるかどうか、でした。
 このころ学んだウェーブレット解析は、時系列関数y=f(t)というものでした。
 それから15年ほど経過し、その間に、そのときの仕事とはリストラで離れ、いつしか、数学的な知識なぞ何もいらない仕事しか見つからない、地方で働くことになりました。
 そのような、生活のための仕事を続けながら、何か科学的な研究対象はないかと、自分の時間を使って、このtreeman9621.comのツリーページ(樹木にたとえた全体のこと)を発育させてきたわけです。
 そして、C言語(C++, turboC)を独学でマスターし、さらに、「猫でも分かる…」シリーズの本をテキストとして画像解析へと進み、時系列関数y=f(t)だけではなく、画像という平面関数z=f(x, y) を取り扱うことができるようになりました。
 そこで、時系列関数y=f(t)について生み出されていたウェーブレット関数を、どのようにすれば、平面関数z=f(x, y) へと拡張できるか、ということを考え、さまざまなタイプの2次元ウェーブレット離散関数を生み出すこととなったのです。
 それを使ってやったことは、この世界に広がり始めた、偽物UFO画像の駆逐です。
 コンピュータの画像ソフトが発達するにつれて、本物か偽物か分からない、UFO画像がウェブ上に氾濫するようになっていました。
 なかなかに手ごわい対象でしたが、1年半かけて、ほぼ、そのような判別が可能な状態となってきました。
 この「小波(ウェーブレット)」解析ページは、そのようにして生まれたものです。
 ここで使っている2次元ウェーブレット離散関数は、3×3の配列から始まって、5×5、7×7、9×9と奇数で続き、17×17の配列のものまで作ってあります。なぜ奇数かと言うと、中心の画素を一つ決めることができやすいからです。偶数だとアルゴリズがむつかしくなってしまうのです。配列の数が小さいものが高周波数、大きいものが低周波数ということになります。
 実は、これらの2次元ウェーブレット離散関数の具体的な内容は(企業秘密として)明かせませんが、従来の数学的な取り扱いから離れて、コンピュータソフトならではの、if-then-else 文(C言語では、if(a==b){c=d;} else {c=e;}なのでthenは{ }のこと)などを複雑に使って、重厚な処理を組み込んでいます。
 また、いろいろな2次元ウェーブレット離散関数を作り、それらの効果を実験してゆく過程で、レリーフ解析といって、解析画像が、まるで西洋の寺院の壁などに飾られている半彫刻(レリーフ)のように、浮き上がって見えるものを見出すことができました。あるいは、宝石の輝きのような色合いを生み出すクリスタル解析、後光のような輝きを生み出すハロー解析というものもあります。
 そのような、特殊な画像変換を行うとで、偽物UFO画像の「尻尾」をつかんできたわけです。
 長くなってしまいました。ここのところは一回だけ読んだら、後は毎回飛ばしてもらってかまいません。

 「小波(ウェーブレット)」解析ページのスイッチ群

 「小波(ウェーブレット)」解析ページのスイッチは、かなり複雑になっています。
 まず、スイッチカラムの高さの中央あたりにある「分類」の行にある、[H]と[M]と[L]のどれを選択するかによって、カラムの下方の様子が変わってきます。
 これらの3種ですべての種類のスイッチを満たしているのですが、[H][M][L]の下の行にある[3]〜[17]を選ぶと、それぞれのウェーブレット配列に対応する種類だけが選ばれて表示されます。これらの違いについては、もっと後の方で説明します。
 まず、この図1のあとは、これらのカラムの上のほうの共通部分から説明します。

図1 「小波(ウェーブレット)」解析ページの[H][M][L]によるスイッチ群

 「小波(ウェーブレット)」解析ページの共通スイッチ

 「小波(ウェーブレット)」解析ページの共通スイッチを図2にまとめました。

図2 「小波(ウェーブレット)」解析ページの共通スイッチ

 (a) リセット 紺色のこのロゴマークはリセットスイッチです。
 (b) 呼出 「BMP File Open」と名づけられた、bmp画像を呼出す対アログボックスを開きます。
 (c) KEEP・保存・mx [KEEP] は画像データを内部配列のiso[ ] に記録し、外部のKEEP.bmpとして仮保存します。このKEEP.bmpはゴブリンアイズを閉じるときに削除されます。
 [保存] は「名前を付けて保存する」ダイアログボックスを呼び出します。KEEP.bmp, P.bmp, Q.bmp, G.bmp 以外の名前を付けて保存してください。このとき内部配列のiso[ ] は変えません。
 [mx] はmix画像についての保存スイッチです。
 (d) 解析 はじめ、[off] と [on] だけがあったのですが、原画像とウェーブレット解析画像との平均合成となるものをmix画像として表示するため、[mix] スイッチをくわえました。「分類」のところの、[H] [M] [L], [3]〜[17] をクリックして、分類スイッチのページを変えたときは、常に[off] となるようにしてあります。それまでの種類スイッチの、例えば [RT] は [H] か [3] のときにしか見えません。[H] から [M] などへ変えたのに、見えていない [RT] の解析が続いているのでは、何が起こっているのか、分からなくなるからです。
 [H][M][L], [3]〜[17] をクリックして、分類スイッチのページを変えたときは、あらためて [on] もしくは [mix] をクリックしてください。
 (e) 様式 [Nor] に対して [Ant] は、解析対象の色値の反転を意味します。通常は [Ant] を指定しておきます。
 [分解] と [NOT] が、「分解on」と「分解off」の役目を果たしています。
 [分解] を指定すると、(f) 色版の [Gray], [Blue], [Green], [Red], [Cyn], [Ylw], [Mznt] の意味が変わります。画像の色分解を行うときの指標となります。
 (f) 色版 [3C] は [Gray] と対応しています。[Gray] が解析のときの基準値を濃淡値(かんたんにgrayと表記しています)とするのですが、[3C] のときは、(r, g, b)の3色(3 Colors)について独自に基準値をとって解析します。[Blue], [Green], [Red], [Cyn], [Ylw], [Mznt] は、これらの分派となるもので、それぞれの色について基準値をとります。
 (g) 振幅と(h) 基礎(色) 振幅値と基礎色の値は、解析における2つの変数として組み込まれています。振幅は表現の強さに相当します。基礎色の値は、底上げのための値です。解析のシステムによって、暗くなったり明るくなったり、いろいろと変化します。
 これらのスイッチは、中央にある帯スイッチ(左右に三角スイッチ)と、その上下に、小さな数字で表示したクイックスイッチによって構成されています。このページには電卓はありませんので、表示窓をクリックして、電卓で値を変えるようにはなっていません。
 (i) 変化 これは色のパターンを変えるモードです。通常は [ I ] を使いますが、[ II ] や [ III ] を試してみると、うまく表現できるかもしれません。

 [on] と [mix] スイッチの違い

 [on] は通常のウェーブレット解析の結果を表示するためのものです。
 [mix] では、このウェーブレット解析の結果と、もとの原画像との、平均合成(5対5)を行うためのものです。

図3 [on] と [mix] スイッチの違い

 [Nor] と [Ant] はウェーブレット解析上同じ効果を生み出す

 Norを通常の値としたときAnt = 255 ? Nor となります。つまり、Nor に対して Antでは、反転画像の処理をしているわけです。
 ここで始めたウェーブレット解析の性質上、Nor ではなく Ant のほうが分かりやすい結果画像が出てきたので、ほとんどAnt で解析するようにしています。
 しかし、解析法をいろいろと工夫してゆくうちに、Nor と Ant で、あまり違いが生じないようになってゆきました。

図4 [Nor] と [Ant] はウェーブレット解析上同じ効果を生み出す

 [分解] スイッチの使い方

 この [分解] の機能は、どちらかというと、トップページあたりに入っていてもよいものでした。しかし、ウェーブレット解析のページを発展させてゆくときに、これらの機能を加えたので、そのままにしてあります。
 [分解] を指定すると、(f) 色版の [Gray], [Blue], [Green], [Red], [Cyn], [Ylw], [Mznt] の色に対応した画像だけが取り出されます。Cynはシアンの、Ylwはイエローの、Mzntはマゼンタの、それぞれ略記号です。

図5 [分解] → [Gray], [Blue], [Green], [Red], [Cyn], [Ylw], [Mznt]

 [3C] と [Gray] で大きく異なるものがある

 [3C] は [Gray] と対応しています。[Gray] が解析のときの基準値を濃淡値(かんたんにgrayと表記しています)とするのですが、[3C] のときは、(r, g, b)の3色(3 Colors)について独自に基準値をとって解析します。
 このとき、解析の種類によっては、(これらの区別を組み込んでいないものも含めて)ほとんど同じ結果となるのですが、中にいくつか、解析結果が異なるものがあります。種類の記号で数字が前にきているもの(5Bなど)です。

図6 [3C] と [Gray] で大きく異なるものがある

 (g) 振幅と(h) 基礎(色)の組み合わせによる変化

 振幅値と基礎色の値は、解析における2つの変数として組み込まれています。振幅値は表現の強さに相当します。基礎色の値は、底上げのための値です。解析のシステムによって、暗くなったり明るくなったり、いろいろと変化します。
 これらの組み合わせを変えることによって、見たいものが、くっきりと浮かび上がることがあります。これは、画像や解析法によって、いろいろです。
 一般的な法則は語れません。
 そのつど、色々な組み合わせを試して、うまく見えそうなものを探し当てることになります。

図7 (g) 振幅と(h) 基礎(色)の組み合わせによる変化(Ant Gray ##-## I)

 (i) 変化 [ I ] [ II ] [ III ] によってどう変わるか

図8 変化 [ I ] [ II ] [ III ] によってどう変わるか

 おおよそ、このような変化です。

 [3] = 3×3マトリックスのウェーブレット関数による解析

 このウェーブレット解析においては、あまりに多くの組み合わせによる種類の違いがありますから、とても、すべてを紹介するわけにはいきません。
 [3] から [17] までの各マトリックスの中から、X線画像につかえそうな、いわば、おすすめ解析を一つずつ取りあげることにします。
 しかし、これらが最もよいというわけではありません。好みもありますし、見たいものの対象の違いもあります。これらの解析法を参照して、うまくゆくものを見つけてください。

図9 [3] = 3×3マトリックスのウェーブレット関数 mix RT(Ant Gray 8-64 T)

 RT解析とRX解析は、初め、T解析とX解析でした。3×3マトリックスに関して、T解析では縦横について値が対称となるように、X解析では斜めの対角線について値が対称になるようにしました。それを図形的にシンボライズしたのがTとXです。
 この2つのウェーブレット解析が、最初に構成して利用したものです。
 この3×3マトリックスでは、RT解析とRX解析だけがレリーフ解析です。少し浮き上がって見えます。このときのRはレリーフ(relief)の頭文字です。
 PQ, LAP, NИ, GZ, HM, GA, ΓO, VA は、UFO画像などの、小さなものを拡大して調べるとき、その画像の性質を、いろいろに調べることができるものとなっています。
 撮影したままのX線画像では、いずれも、ごちゃごちゃと表示されて、こまかい砂模様のように見えるだけです。最下段のものも、特殊なものなので、X線画像にはあまり役立ちません。

 [5] = 5×5マトリックスのウェーブレット関数による解析

図10 [5] = 5×5マトリックスのウェーブレット関数 mix egg(Ant Gray 8-64 T)

 [5] = 5×5マトリックスのウェーブレット関数で、X線画像に使えるのは、[5F], [5B], [eel], [egg] の4つではないかと思われます。
 [Ξ], [Ψ], [Λ], [fΞ], [fΛ]などは、筆やペンで描かれた部分をもつ(偽物)UFO画像の「尻尾」をつかむのに効果的なものです。
 [ant]〜[cat]も、X線画像の解析には向かないのではないでしょうか。

 [7] = 7×7マトリックスのウェーブレット関数による解析

図11 [7] = 7×7マトリックスのウェーブレット関数 on Kar(Ant Gray 8-64 T)

 [7B] から [7H] までは、いずれもレリーフ解析です。8種類もありますが、それらの差異はわずかなものなので、こんなに用意する必要はなかったかもしれません。
 [Kar] は最初に生まれたクリスタル解析で、宝石の輝きのような色合いとなります。
 他のものは、やはり、偽物UFO画像などに適応したものですので、リアルなX線画像では役立ちません。

 [9] = 9×9マトリックスのウェーブレット関数による解析

図12 [9] = 9×9マトリックスのウェーブレット関数 mix swan(Ant Gray 8-64 T)

 この[9] = 9×9マトリックスのウェーブレット関数による解析の中で、なんといってもおすすめはswanです。図12はそのmix解析のものですが、これの解像度は抜群です。
 その近くにあるものも、クリスタル解析などですが、マトリックスが大きくなりかかっているので、緻密さに欠けるきらいがあります。
 次の行の [King] から [Jellyfish] までは、やはり、偽物UFO画像の性質をとらえるためのものです。人工的に制作したイラスト気味の偽物画像の場合、いろいろな特徴が浮かび上がるのです。
 しかし、緻密な解像度で、自然な対象を撮影した、ある種、自然なグラデーションを持っている歯科X線画像などでは、画像データを混乱させるだけです。

 [11] = 11×11マトリックスのウェーブレット関数による解析

図13 [11] = 11×11マトリックスのウェーブレット関数 mix 11N(Ant Gray 8-64 T)

 [11] = 11×11マトリックスのウェーブレット関数の解析においては、[11L] と [11N] がおすすめです。いずれもmix画像とすれば、見やすいものとなります。
 [R◆11](R black diamond 11)は低周波レリーフ解析なので、振幅を2か4に落としてやれば、少し風変わりな、鉛筆でラフスケッチしたかのような画像になります。

 [13] = 13×13マトリックスのウェーブレット関数による解析

図14 [13] = 13×13マトリックスのウェーブレット関数 mix X13(Ant Gray 1-64 T)

 この[13] = 13×13マトリックスは、どうやら位置づけが中途半端らしく、これまであまり使ってこなかったらしく、あまり役立ちそうなものがありません。図14は [X13] で振幅を1に落としてmix解析としたものです。

 [15] = 15×15マトリックスのウェーブレット関数による解析

図15 [15] = 15×15マトリックスのウェーブレット関数 mix 15B(Ant Gray 8-64 T)

 ここでのおすすめは [15L] と [15B] です。緻密なレリーフ解析となり、低周波なので細部が無視され、全体の様子が分かりやすくなります。
 Rがついている [RX15] と [RH15] はレリーフ解析ですが、木炭やコンテで描いたラフスケッチのようになります。

 [17] = 17×17マトリックスのウェーブレット関数による解析

図16 [17] = 17×17マトリックスのウェーブレット関数 mix 17X(Ant Gray 8-64 T)

 この[17] = 17×17マトリックスのウェーブレット関数も、おすすめは、mixの [17X] に落ち着きます。
 図13、図15、それとこの図16では、歯茎の中にできた丸い嚢胞のはしっこに何かがたまって境界ラインのようなものを形成しているようにとれる、緑の曲線が浮かんできています。
 図の番号が上がり、より低周波になるにつれて、細部のノイズのような描写が消えてゆきます。
 このX線画像でとらえられている、歯の奥のくさび型になった空洞部分の様子が、骨が詰まった周りの歯茎と、描写パターンが明らかにことなり、のっぺりとした感じとなっています。
 低周波による解析ならではの質感です。
 色づけだけでなく、質感においても、このような区別がつきそうです。
 やはり、患部は、何かが特別な状況になっているようです。
 (Written by KLOTSUKI Kinohito, August 9, 2016)

 

医療画像解析ソフト ゴブリンアイズ ブランチページへもどる