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_typetarget
 レジストレーションする目標画像
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.


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

Generated on Wed Nov 12 2014 19:44:29 for MIST by doxygen 1.8.1.2