TNonrigidRegister< dim > Class Template Reference
Image Registration and Transformation

Class for image registration. More...

`#include <mia/template/nonrigidregister.hh>`

## Public Types

typedef this_dim_traits::Filter | Filter
| filter type for the image data used in this non-rigid registration algorithm
typedef this_dim_traits::FilterPluginHandler | FilterPluginHandler
| the plug-in handler for the filters of the used dimensionality
typedef this_dim_traits::FullCostList | FullCostList
| the type of the cost function list
typedef this_dim_traits::Image | Image
| the type of the image data
typedef this_dim_traits::PImage | PImage
| the pointer type of the image data
typedef this_dim_traits::PTransformation | PTransformation
| the pointer type of the transformation
typedef this_dim_traits::PTransformationFactory | PTransformationFactory
| the pointer type of the transformation creation factory
typedef dimension_traits< dim > | this_dim_traits
| the trait to handle dimension based typedefs

## Public Member Functions

PTransformation | run () const
PTransformation | run (PImage src, PImage ref) const
void | set_refinement_minimizer (PMinimizer minimizer)
| TNonrigidRegister (FullCostList &costs, PMinimizer minimizer, PTransformationFactory transform_creation, size_t mg_levels, int idx=-1)
| ~TNonrigidRegister ()

## Detailed Description

template<int dim>
class TNonrigidRegister< dim >

Class for image registration.

Template Parameters

  dim | dimension of the input data

The registration approach of this class lies in the optimization of a weighted sum of cost functions. These cost functions may include image based cost functions, penalty functions on the transformation, and others. The registration makes use of a multi-resolution scheme and support various transformation models. All cost functions implement the CXDFullCost interface.

Todo
  the class name is misleading, depending on the given transformation, linear and non-linear registration can be achieved

Definition at line 51 of file template/nonrigidregister.hh.

## Member Typedef Documentation

## Filter

template<int dim>

typedef this_dim_traits::Filter TNonrigidRegister< dim >::Filter

filter type for the image data used in this non-rigid registration algorithm

Definition at line 73 of file template/nonrigidregister.hh.

## FilterPluginHandler

template<int dim>

typedef this_dim_traits::FilterPluginHandler TNonrigidRegister< dim >::FilterPluginHandler

the plug-in handler for the filters of the used dimensionality

Definition at line 76 of file template/nonrigidregister.hh.

## FullCostList

template<int dim>

typedef this_dim_traits::FullCostList TNonrigidRegister< dim >::FullCostList

the type of the cost function list

Definition at line 70 of file template/nonrigidregister.hh.

## Image

template<int dim>

typedef this_dim_traits::Image TNonrigidRegister< dim >::Image

the type of the image data

Definition at line 61 of file template/nonrigidregister.hh.

## PImage

template<int dim>

typedef this_dim_traits::PImage TNonrigidRegister< dim >::PImage

the pointer type of the image data

Definition at line 64 of file template/nonrigidregister.hh.

## PTransformation

template<int dim>

typedef this_dim_traits::PTransformation TNonrigidRegister< dim >::PTransformation

the pointer type of the transformation

Definition at line 58 of file template/nonrigidregister.hh.

## PTransformationFactory

template<int dim>

typedef this_dim_traits::PTransformationFactory TNonrigidRegister< dim >::PTransformationFactory

the pointer type of the transformation creation factory

Definition at line 67 of file template/nonrigidregister.hh.

## this_dim_traits

template<int dim>

typedef dimension_traits<dim> TNonrigidRegister< dim >::this_dim_traits

the trait to handle dimension based typedefs

Definition at line 55 of file template/nonrigidregister.hh.

## Constructor & Destructor Documentation

## TNonrigidRegister()

template<int dim>

TNonrigidRegister< dim >::TNonrigidRegister | ( | FullCostList & | costs,
|  | PMinimizer | minimizer,
|  | PTransformationFactory | transform_creation,
|  | size_t | mg_levels,
|  | int | idx = -1 )

Constructor for the registration tool

Parameters

  costs | cost function model
  minimizer | GSL provided minimizer
  transform_creation | string describing which transformation is supported
  mg_levels | multigrisd levels to be used
  idx | image index - only used in a multi-threading environment

## ~TNonrigidRegister()

template<int dim>

TNonrigidRegister< dim >::~TNonrigidRegister | ( |  | ) |

## Member Function Documentation

## run() [1/2]

template<int dim>

PTransformation TNonrigidRegister< dim >::run | ( |  | ) | const

Run the registration by optimizing whatever is given with the cost functions

Returns
  the transformation registering that minimizes the constructor given cost function

## run() [2/2]

template<int dim>

PTransformation TNonrigidRegister< dim >::run | ( | PImage | src,
|  | PImage | ref ) const

Run the registration of an image pair.

Parameters

  src | source (moving) image
  ref | reference (fixed) image

Returns
  the transformation registering src to ref that minimizes the constructor given cost function

## set_refinement_minimizer()

template<int dim>

void TNonrigidRegister< dim >::set_refinement_minimizer | ( | PMinimizer | minimizer | ) |

Set an additional minimizer to refine the initial result.

Parameters

  minimizer | the additional minimizer;

The documentation for this class was generated from the following file:

- template/nonrigidregister.hh