前回紹介した、LPIXEL社のImageJ registration pluginに引き続き、今回は、FijiというImageJの拡張版ソフトを使った画像位置合わせを紹介しようと思います。ちなみに、FijiでもImageJと同じくpluginやマクロを自作して追加することができます。
まず、位置合わせしたい2つの画像を開いてから、plugins > Registration > Rigid Registrationを選択します(図1)。Rigid Registrationとは、画像の平行移動と回転を組み合わせた位置合わせのことです。
今回は、元画像を時計周りに30度回転+縦横方向にそれぞれ20(pixels)平行移動させた処理画像を準備します(図2)。
まず、元画像を処理画像にRigid Registrationするためのパラメータを図2のように設定します。
- Transforming: 動かす画像(ここでは元画像:original.raw)
- Template: ターゲット画像(ここでは処理画像:After.raw)
- Measure: 画像の類似度の評価関数(ここでは相互情報量:mutual information)
- show transformed: 移動後の画像を表示します
- show DifferenceImage: 移動後の画像とターゲット画像の差分を表示します
図3のように、元画像が、処理画像にRigid Registrationされた(左下)のが分かると思います。
また、右下に処理画像とregistration画像の差分画像が表示されています。多少の誤差はありますが、精度よく位置合わせが行われていることが分かります(参考までに差分画像のヒストグラムも表示しました)
内部で行われているプロセスは、画像類似度と移動・回転量の対応関係を表す分布を作り、その分布に基づいて、最も類似度が高い場所に画像を移動・回転する、ということです。
このように、任意の平行・回転移動は、このpluginで容易に行うことができます。
また、この機能の拡張版として、複数の画像を一度にregistrationしてしまう機能もあります。
同じくRegistrationの中の “Register Virtual Stack Slices” というpluginです(図4)。
このpluginを選択すると、図5のような画面が表示されるので、sourceフォルダとoutputフォルダの場所を入力します。
sourceフォルダに、位置合わせしたい画像群を入れます。今回は元画像を含めて10種類の異なる移動・回転処理を施した画像(.png)を入れました(図6)。
図5で[OK]をクリックすると、sourceフォルダが開くので、リファレンス画像(ターゲット画像)をsourceフォルダから1つ選びます。つまり、残り9つの画像がその選択された画像に向けてregistrationされます。今回は、元画像(original.png)をリファレンス画像として選びました(図7)。
その結果、outputフォルダに、位置合わせ後の画像群(.tif)が出力されました。9つの画像が全て、元画像に位置合わせされたことが分かります(図8)。
但しこの場合、sourceフォルダに入れる画像の形式は、tif, .jpg, .png, .gif, .tiff, .jpeg, .bmp, .pgm, .imaに限られることに注意して下さい。
このように、平行・回転移動による画像位置合わせ(Rigid Registration)は、これらのPluginを用いて簡単に行うことができます。
次回は、アフィン変換による位置合わせを紹介しようと思います。
*今回用いた脳MRI画像は、McConnell Brain Imaging Centerが公開しているBrain Webという脳MRIのデータベースからダウンロードしました。(http://brainweb.bic.mni.mcgill.ca)