2016年9月30日 更新

医用画像位置合わせの基礎⑧〜非線形変換を用いた画像位置合わせ〜

今回は、非線形な画像変換を用いた位置合わせをご紹介します。

33,840 view お気に入り 1
今回は、非線形な画像変換を用いた位置合わせを紹介します。

線形あるいは非線形な変換とは、どういう意味でしょうか?

まず、平行移動と回転だけを用いた位置合わせは、形が変わらない(剛体)ので、「剛体位置合わせ」と呼ばれます。また、平行移動と回転だけでなく、拡大・縮小等の変形も含まれるアフィン変換は、形が変わっている(非剛体)ので、「非剛体位置合わせ」と呼ばれます。しかし、両者とも変換前後の座標の関係は、下のような線形変換な表現行列(アフィン変換行列)で表されるので、「線形変換による位置合わせ」と言えます。
 (1926)

 (1927)

図1. 線形変換による座標変換を表す式(λは拡大・縮小率、θは回転角度、Tx, Tyはx, y方向の平行移動)

一方、上のような線形変換な表現行列で表すことができないような画像変換による位置合わせを「非線形変換による位置合わせ」と呼びます。もちろん、形が変わるので、「非剛体位置合わせ」になります(図2)。
 (1929)

図2. 原画像(左)に対して非線形な画像変換を施した画像(右)
非線形変換による位置合わせを実装できるplugin(bUnwarpJ)が、Fijiに搭載されています。
今回は、図2の2つの画像を用いて「非線形変換による位置合わせ」を実装してみようと思います。

非線形変換のアルゴリズムには、B-spline法が用いられています。
B-spline関数は、CGの分野などにおいても、空間の任意の位置における変位を記述する、自由形状変形(free form deformation)によく用いられます。

この手法では、画像上に制御点を格子状(間隔δ)に設定し、その点を移動させることで変形を行い、その他の点の移動は補間によって求めます(図3)。下式のように、任意の座標における変位場μ(x, y)は、近傍4点の制御点の変位場Φ(i, j)にB-spline関数を掛けたものの足し合わせで表わされます。これにより、なめらかな任意の変形が表現されます。
 (1932)

 (1933)

図3. 格子状に配置した制御点(黄色)を移動させて変形を行い、その他の点の移動は、B-spline関数で補間する。
では、位置合わせpluginを実装してみましょう。
まず、Fijiのplugins > Registration > bUnwarpJを選択します(図4)。
 (1936)

図4. Fijiの非線形変換による位置合わせplugin(bUnwarpJ)を選択
各パラメータを設定します。Source画像とTarget画像を選択し、registrationのモードは精度や速度の好みに合わせて選択できます。Verboseにチェックを入れると変形場や変形後の制御点の位置情報も取得できます(図5)。
 (1939)

32 件

関連する記事 こんな記事も人気です♪

LP-tech2周年記念#人気記事のまとめ#第20位〜第16位

LP-tech2周年記念#人気記事のまとめ#第20位〜第16位

LP-techが始まってから2周年を迎えました。ここまでLP-techを続けることができたのも読者の皆様のおかげだと思っています。そこで、LP-techの感謝祭ということで、人気の記事を第20位から第1位までをご紹介します。今回は第20位〜第16位までです。
医用画像位置合わせの基礎シリーズ①〜⑧まとめ

医用画像位置合わせの基礎シリーズ①〜⑧まとめ

今回は、「医用画像位置合わせの基礎シリーズ①〜⑧」の総まとめです。医用画像処理に興味を持ってもらえたり、ImageJに触れたり、研究を始めるきっかけになれば、幸いです。
木田智士 | 14,788 view
医用画像位置合わせの基礎⑤~Fiji pluginを用いた画像位置合わせ~

医用画像位置合わせの基礎⑤~Fiji pluginを用いた画像位置合わせ~

前回紹介した、LPixel社のImageJ registration pluginに引き続き、今回は、FijiというImageJの拡張版ソフトを使った画像位置合わせをご紹介します。
木田智士 | 22,496 view
医用画像位置合わせの基礎④ 〜LPixel ImageJ pluginを用いた画像位置合わせ〜

医用画像位置合わせの基礎④ 〜LPixel ImageJ pluginを用いた画像位置合わせ〜

今回は、ImageJという画像解析ソフトを使った画像位置合わせについてご紹介します。
木田智士 | 17,677 view
ImageJ Plugin で数値計算をしてみる #5

ImageJ Plugin で数値計算をしてみる #5

非情報科学研究者 (特に生物系研究者) が ImageJ plugin を作るために超えるべき壁やTipsをまとめます。今回は、面積の平均値や中央値、分散を出力するためのコードをご紹介します。
湖城 恵 | 10,223 view

この記事のキーワード

この記事のキュレーター

木田智士 木田智士