- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

- データ構造
- データ構造索引
- クラス階層
- データフィールド

Public 型 | Public メソッド | Protected 変数
クラス テンプレート mist::non_rigid::registration< TARGETTYPE >

非剛体レジストレーションエンジン [詳細]

`#include <registration.h>`

## Public 型
typedef TARGETTYPE | image_type
| レジストレーションする目標画像の型
typedef vector3< double > | vector_type
| 内部で利用する3次元ベクトルの型
typedef marray< array3 < vector_type > > | control_mesh_type
| 制御点の配列
typedef matrix< double > | matrix_type
| 内部で利用する行列の型
typedef image_type::size_type | size_type
| 内部で利用する符号なし整数型
typedef image_type::difference_type | difference_type
| 内部で利用する符号あり整数型

## Public メソッド
| registration (const image_type &tgt, size_type divW, size_type divH, size_type divD, size_type bin)
| 非剛体レジストレーションエンジンの初期化
template<class SOURCETYPE >
void | apply (const SOURCETYPE &source, double tolerance, size_type max_loop=3, size_type coarse_to_fine_step=1, size_type thread_num=0)
| 非剛体レジストレーションの実行
template<class SOURCETYPE , class Functor >
void | apply (const SOURCETYPE &source, double tolerance, size_type max_loop, size_type coarse_to_fine_step, size_type thread_num, Functor callback)
| 非剛体レジストレーションの実行
template<class SOURCETYPE , class SOURCETYPEA , class OUTTYPE , class OUTTYPEA >
void | transform (const array2< SOURCETYPE, SOURCETYPEA > &source, array2< OUTTYPE, OUTTYPEA > &out)
| 非剛体レジストレーション結果を画像に格納する
template<class SOURCETYPE , class SOURCETYPEA , class OUTTYPE , class OUTTYPEA >
void | transform (const array3< SOURCETYPE, SOURCETYPEA > &source, array3< OUTTYPE, OUTTYPEA > &out)
| 非剛体レジストレーション結果を画像に格納する
template<class SOURCETYPE , class SOURCETYPEA , class OUTTYPE , class OUTTYPEA >
void | transform (const array2< SOURCETYPE, SOURCETYPEA > &source, array2< OUTTYPE, OUTTYPEA > &out, typename array2< OUTTYPE, OUTTYPEA >::value_type value)
| 非剛体レジストレーション結果を画像に格納する
template<class SOURCETYPE , class SOURCETYPEA , class OUTTYPE , class OUTTYPEA >
void | transform (const array3< SOURCETYPE, SOURCETYPEA > &source, array3< OUTTYPE, OUTTYPEA > &out, typename array2< OUTTYPE, OUTTYPEA >::value_type value)
| 非剛体レジストレーション結果を画像に格納する

## Protected 変数
const image_type & | target
| レジストレーションする目標画像
control_mesh_type | control_mesh
| 制御点配列

## 説明

### template<class TARGETTYPE>
class mist::non_rigid::registration< TARGETTYPE >

非剛体レジストレーションエンジン

       @param TARGETTYPE  … レジストレーションする目標画像の型

       @code

mist::non_rigid::registration< 目標画像の型を入力 > r( 目標画像, X軸方向の制御点数, Y軸方向の制御点数, Z軸方向の制御点数, NMIを計算する際のビン幅 );

r.apply( ソース画像, レジストレーションの終了判定に用いる許容相対誤差 );

r.transform( ソース画像, 非剛体レジストレーションの結果を格納する画像 );

## コンストラクタとデストラクタ

template<class TARGETTYPE >

mist::non_rigid::registration< TARGETTYPE >::registration | ( | const image_type & | tgt,
|  | size_type | divW,
|  | size_type | divH,
|  | size_type | divD,
|  | size_type | bin
| ) |  |
| inline

非剛体レジストレーションエンジンの初期化

引数

  [in] | tgt | … 目標画像
  [in] | divW | … 制御点の初期分割数のX軸方向の個数
  [in] | divH | … 制御点の初期分割数のY軸方向の個数
  [in] | divD | … 制御点の初期分割数のZ軸方向の個数
  [in] | bin | … NMIを計算する際のビン幅

## 関数

template<class TARGETTYPE >
template<class SOURCETYPE >

void mist::non_rigid::registration< TARGETTYPE >::apply | ( | const SOURCETYPE & | source,
|  | double | tolerance,
|  | size_type | max_loop = `3`,
|  | size_type | coarse_to_fine_step = `1`,
|  | size_type | thread_num = `0`
| ) |  |
| inline

非剛体レジストレーションの実行

引数

  [in] | source | … 目標画像に向けて変形するソース画像
  [in] | tolerance | … レジストレーションの終了判定に用いる許容相対誤差
  [in] | max_loop | … 最適化処理の最大反復回数
  [in] | coarse_to_fine_step | … 何段階のメッシュ再分割処理を行うか
  [in] | thread_num | … 使用するスレッド数

template<class TARGETTYPE >
template<class SOURCETYPE , class Functor >

void mist::non_rigid::registration< TARGETTYPE >::apply | ( | const SOURCETYPE & | source,
|  | double | tolerance,
|  | size_type | max_loop,
|  | size_type | coarse_to_fine_step,
|  | size_type | thread_num,
|  | Functor | callback
| ) |  |
| inline

非剛体レジストレーションの実行

引数

  [in] | source | … 目標画像に向けて変形するソース画像
  [in] | tolerance | … レジストレーションの終了判定に用いる許容相対誤差
  [in] | max_loop | … 最適化処理の最大反復回数
  [in] | coarse_to_fine_step | … 何段階のメッシュ再分割処理を行うか
  [in] | thread_num | … 使用するスレッド数
  [in] | callback | … 現在の進行状況を表示するためのコールバック関数

参照先 mist::get_cpu_num(), mist::vector3< T >::x, mist::vector3< T >::y, と mist::vector3< T >::z.

template<class TARGETTYPE >
template<class SOURCETYPE , class SOURCETYPEA , class OUTTYPE , class OUTTYPEA >

void mist::non_rigid::registration< TARGETTYPE >::transform | ( | const array2< SOURCETYPE, SOURCETYPEA > & | source,
|  | array2< OUTTYPE, OUTTYPEA > & | out
| ) |  |
| inline

非剛体レジストレーション結果を画像に格納する

出力画像の解像度に合わせて，非剛体レジストレーション結果の画像を生成する

注意
  出力画像のサイズと解像度は事前に設定しておく必要あり

引数

  [in] | source | … 目標画像に向けて変形するソース画像
  [out] | out | … 出力結果の画像

template<class TARGETTYPE >
template<class SOURCETYPE , class SOURCETYPEA , class OUTTYPE , class OUTTYPEA >

void mist::non_rigid::registration< TARGETTYPE >::transform | ( | const array3< SOURCETYPE, SOURCETYPEA > & | source,
|  | array3< OUTTYPE, OUTTYPEA > & | out
| ) |  |
| inline

非剛体レジストレーション結果を画像に格納する

出力画像の解像度に合わせて，非剛体レジストレーション結果の画像を生成する

注意
  出力画像のサイズと解像度は事前に設定しておく必要あり

引数

  [in] | source | … 目標画像に向けて変形するソース画像
  [out] | out | … 出力結果の画像

template<class TARGETTYPE >
template<class SOURCETYPE , class SOURCETYPEA , class OUTTYPE , class OUTTYPEA >

void mist::non_rigid::registration< TARGETTYPE >::transform | ( | const array2< SOURCETYPE, SOURCETYPEA > & | source,
|  | array2< OUTTYPE, OUTTYPEA > & | out,
|  | typename array2< OUTTYPE, OUTTYPEA >::value_type | value
| ) |  |
| inline

非剛体レジストレーション結果を画像に格納する

出力画像の解像度に合わせて，非剛体レジストレーション結果の画像を生成し，制御点のメッシュを描画する

注意
  出力画像のサイズと解像度は事前に設定しておく必要あり

引数

  [in] | source | … 目標画像に向けて変形するソース画像
  [out] | out | … 出力結果の画像
  [in] | value | … 制御点メッシュの値

参照先 mist::draw_line(), mist::array1< T, Allocator >::reso1(), mist::array2< T, Allocator >::reso2(), mist::vector3< T >::x, と mist::vector3< T >::y.

template<class TARGETTYPE >
template<class SOURCETYPE , class SOURCETYPEA , class OUTTYPE , class OUTTYPEA >

void mist::non_rigid::registration< TARGETTYPE >::transform | ( | const array3< SOURCETYPE, SOURCETYPEA > & | source,
|  | array3< OUTTYPE, OUTTYPEA > & | out,
|  | typename array2< OUTTYPE, OUTTYPEA >::value_type | value
| ) |  |
| inline

非剛体レジストレーション結果を画像に格納する

出力画像の解像度に合わせて，非剛体レジストレーション結果の画像を生成し，制御点のメッシュを描画する

注意
  出力画像のサイズと解像度は事前に設定しておく必要あり

引数

  [in] | source | … 目標画像に向けて変形するソース画像
  [out] | out | … 出力結果の画像
  [in] | value | … 制御点メッシュの値

参照先 mist::draw_line(), mist::array1< T, Allocator >::reso1(), mist::array2< T, Allocator >::reso2(), mist::array3< T, Allocator >::reso3(), mist::vector3< T >::x, mist::vector3< T >::y, と mist::vector3< T >::z.

このクラスの説明は次のファイルから生成されました:

- registration.h