Image Registration and Transformation

Comparison, registration, and transformation of images. More...

## Data Structures

class | C2DFVectorfieldRegularizer
class | C2DFVectorfieldRegularizerKernel
class | C2DMultiImageNonrigidRegister
| A 2D non-rigid registration class for time-marching PDE based registration. More...
class | C2DPPDivcurlMatrix
| Precomputed matrix for the DivCurl regularization. More...
class | C2DRegTimeStep
| The time step class for time-marching registration algorithms. More...
class | C2DRigidRegister
| Linear Registration of 2D images. More...
class | C2DTransformation
| This is the generic base class for 2D transformations. More...
class | C3DFVectorfieldRegularizer
class | C3DFVectorfieldRegularizerKernel
class | C3DMultiImageRegister
| A 3D non-rigid image registration class. More...
class | C3DPPDivcurlMatrix
| Precomputed Matrix for the DivCurl regularization. More...
class | C3DRegTimeStep
| The time-step part of time-marching registration algorithms. More...
class | C3DRigidRegister
| 3D linear registration class More...
class | C3DTransformation
| This is the generic base class for 3D transformations. More...
class | CSplineParzenMI
| Implementation of mutual information based on B-splines. More...
struct | FDeformer3D
| A filter to transform an image. More...
class | TCost< T, V >
| The generic cost function interface. More...
class | TFullCost< Transform >
| Base class for a general cost function. More...
class | TFullCostList< Transform >
| A accumulation of cost functions that are weigted against each other. More...
class | TFullCostPlugin< Transform >
| the base class for the TFullCost cost function plug-ins. More...
class | TMaskedCost< T, M, V >
| The generic cost function interface. More...
class | TNonrigidRegister< dim >
| Class for image registration. More...
class | Transformation< D, I >
| generic base class for transformations More...
class | TRegModel< Dim >
| Base class for PDE model based registrations. More...
class | TTransformCreator< Transform >
class | TTransformCreatorPlugin< Transform >
| Factory class that is used to create the transformation creator. More...

## Typedefs

typedef TMaskedCost< C2DImage, C2DBitImage, C2DFVectorfield > | C2DMaskedImageCost
| the image-to-image cost function base class
typedef TFactory< C2DMaskedImageCost > | C2DMaskedImageCostPlugin
| plug-in for the image-to-image cost function base class
typedef THandlerSingleton< TFactoryPluginHandler< C2DMaskedImageCostPlugin > > | C2DMaskedImageCostPluginHandler
| plug-in handler for the image-to-image cost function base class
typedef TFactory< C2DRegModel > | C2DRegModelPlugin
| Plugin for the 2D registration model.
typedef TTransformCreator< C2DTransformation > | C2DTransformCreator
| The base class for 2D transformation creators.
typedef THandlerSingleton< TFactoryPluginHandler< C2DTransformCreatorPlugin > > | C2DTransformCreatorHandler
| The plugin handler to manage the transformation creators.
typedef TFullCost< C3DTransformation > | C3DFullCost
| 3D version of the TFullCost
typedef TFullCostPlugin< C3DTransformation > | C3DFullCostPlugin
| plugin base class for C3DFullCost objects
typedef THandlerSingleton< TFactoryPluginHandler< C3DFullCostPlugin > > | C3DFullCostPluginHandler
| plugin handler for C3DFullCost object creation
typedef TCost< C3DImage, C3DFVectorfield > | C3DImageCost
| the image-to-image cost function base class
typedef TFactory< C3DImageCost > | C3DImageCostPlugin
| plug-in for the image-to-image cost function base class
typedef THandlerSingleton< TFactoryPluginHandler< C3DImageCostPlugin > > | C3DImageCostPluginHandler
| plug-in handler for the image-to-image cost function base class
typedef TMaskedCost< C3DImage, C3DBitImage, C3DFVectorfield > | C3DMaskedImageCost
| the image-to-image cost function base class
typedef TFactory< C3DMaskedImageCost > | C3DMaskedImageCostPlugin
| plug-in for the image-to-image cost function base class
typedef THandlerSingleton< TFactoryPluginHandler< C3DMaskedImageCostPlugin > > | C3DMaskedImageCostPluginHandler
| plug-in handler for the image-to-image cost function base class
typedef std::shared_ptr< C2DMaskedImageCost > | P2DMaskedImageCost
| pointer type of the image-to-image cost function base class
typedef C2DTransformation::Pointer | P2DTransformation
| Pointer type for the 2D transformation.
typedef std::shared_ptr< C2DTransformCreator > | P2DTransformationFactory
| Pointer type to the transformation factory.
typedef C3DFullCost::Pointer | P3DFullCost
| pointer of the 3D version of the TFullCost
typedef std::shared_ptr< C3DImageCost > | P3DImageCost
| pointer type of the image-to-image cost function base class
typedef std::shared_ptr< C3DImageCost > | P3DImageCost
| A 3D non-rigid image registration class.
typedef std::shared_ptr< C3DMaskedImageCost > | P3DMaskedImageCost
| pointer type of the image-to-image cost function base class
typedef std::shared_ptr< C3DTransformation > | P3DTransformation
| pointer type for a 3D transformation

## Functions

EXPORT_3D float | get_jump_level (const C3DImage &image)
| evaluate the noise-vs-gradient jump level for the normalized gradient field evaluation
EXPORT_3D float | get_jump_level (const C3DImage &image, float noise_level)
| evaluate the noise-vs-gradient jump level for the normalized gradient field evaluation
EXPORT_3D C3DFVectorfield | get_nfg (const C3DImage &image)
| evaluate normalized gradiend field of an image
EXPORT_3D C3DFVectorfield | get_nfg_j (const C3DImage &image, float jump_level2)
| evaluate normalized gradiend field of an image
EXPORT_3D C3DFVectorfield | get_nfg_n (const C3DImage &image, float noise_level)
| evaluate normalized gradiend field of an image
EXPORT_3D float | get_noise_level (const C3DImage &image)
| evaluate an approximation of the noise level of an image
EXPORT_2D bool | operator!= (const C2DTransformation::const_iterator &a, const C2DTransformation::const_iterator &b)
| Compare two transformation iterators.
EXPORT_3D bool | operator!= (const C3DTransformation::const_iterator &a, const C3DTransformation::const_iterator &b)
| Compare two transformation iterators.
C2DTransformation::const_iterator | operator+ (C2DTransformation::const_iterator i, size_t delta)
| Move an 2D transformation iterator forward by using its provided += operator don't use a reference to the iterator, because we use the created copy as result.

## Variables

NS_MIA_BEGIN typedef TFullCost< C2DTransformation > | C2DFullCost
| Base class for the full cost functions.
NS_MIA_BEGIN typedef TNonrigidRegister< 2 > | C2DNonrigidRegister
NS_MIA_BEGIN typedef TRegModel< 2 > | C2DRegModel
| the 2D time-marching registration model
NS_MIA_BEGIN typedef TFullCostList< C3DTransformation > | C3DFullCostList
| An accumulation of cost functions that are weigted against each other.
NS_MIA_BEGIN typedef TNonrigidRegister< 3 > | C3DNonrigidRegister
| Specialization of TNonrigidRegister for 3D data.
template<>
const char *const | TPluginHandler< C2DRegModelPlugin >::m_help
| Plugin handler for the 2D registration model.

## Detailed Description

Comparison, registration, and transformation of images.

## Typedef Documentation

## C2DMaskedImageCost

typedef TMaskedCost<C2DImage, C2DBitImage, C2DFVectorfield> C2DMaskedImageCost

the image-to-image cost function base class

Definition at line 35 of file 2d/maskedcost.hh.

## C2DMaskedImageCostPlugin

typedef TFactory<C2DMaskedImageCost> C2DMaskedImageCostPlugin

plug-in for the image-to-image cost function base class

Definition at line 47 of file 2d/maskedcost.hh.

## C2DMaskedImageCostPluginHandler

typedef THandlerSingleton<TFactoryPluginHandler<C2DMaskedImageCostPlugin> > C2DMaskedImageCostPluginHandler

plug-in handler for the image-to-image cost function base class

Definition at line 53 of file 2d/maskedcost.hh.

## C2DRegModelPlugin

typedef TFactory<C2DRegModel> C2DRegModelPlugin

Plugin for the 2D registration model.

Definition at line 58 of file 2d/model.hh.

## C2DTransformCreator

typedef TTransformCreator<C2DTransformation> C2DTransformCreator

The base class for 2D transformation creators.

Remarks
  should the name be C2DTransformFactory?

Definition at line 37 of file 2d/transformfactory.hh.

## C2DTransformCreatorHandler

typedef THandlerSingleton<TFactoryPluginHandler<C2DTransformCreatorPlugin> > C2DTransformCreatorHandler

The plugin handler to manage the transformation creators.

Definition at line 51 of file 2d/transformfactory.hh.

## C3DFullCost

typedef TFullCost<C3DTransformation> C3DFullCost

3D version of the TFullCost

Definition at line 34 of file 3d/fullcost.hh.

## C3DFullCostPlugin

typedef TFullCostPlugin<C3DTransformation> C3DFullCostPlugin

plugin base class for C3DFullCost objects

Definition at line 46 of file 3d/fullcost.hh.

## C3DFullCostPluginHandler

typedef THandlerSingleton<TFactoryPluginHandler<C3DFullCostPlugin> > C3DFullCostPluginHandler

plugin handler for C3DFullCost object creation

Definition at line 52 of file 3d/fullcost.hh.

## C3DImageCost

typedef TCost<C3DImage, C3DFVectorfield> C3DImageCost

the image-to-image cost function base class

Definition at line 35 of file 3d/cost.hh.

## C3DImageCostPlugin

typedef TFactory<C3DImageCost> C3DImageCostPlugin

plug-in for the image-to-image cost function base class

Definition at line 47 of file 3d/cost.hh.

## C3DImageCostPluginHandler

typedef THandlerSingleton<TFactoryPluginHandler<C3DImageCostPlugin> > C3DImageCostPluginHandler

plug-in handler for the image-to-image cost function base class

Definition at line 53 of file 3d/cost.hh.

## C3DMaskedImageCost

typedef TMaskedCost<C3DImage, C3DBitImage, C3DFVectorfield> C3DMaskedImageCost

the image-to-image cost function base class

Definition at line 33 of file 3d/maskedcost.hh.

## C3DMaskedImageCostPlugin

typedef TFactory<C3DMaskedImageCost> C3DMaskedImageCostPlugin

plug-in for the image-to-image cost function base class

Definition at line 45 of file 3d/maskedcost.hh.

## C3DMaskedImageCostPluginHandler

typedef THandlerSingleton<TFactoryPluginHandler<C3DMaskedImageCostPlugin> > C3DMaskedImageCostPluginHandler

plug-in handler for the image-to-image cost function base class

Definition at line 51 of file 3d/maskedcost.hh.

## P2DMaskedImageCost

typedef std::shared_ptr<C2DMaskedImageCost > P2DMaskedImageCost

pointer type of the image-to-image cost function base class

Definition at line 41 of file 2d/maskedcost.hh.

## P2DTransformation

typedef C2DTransformation::Pointer P2DTransformation

Pointer type for the 2D transformation.

Definition at line 409 of file 2d/transform.hh.

## P2DTransformationFactory

typedef std::shared_ptr<C2DTransformCreator > P2DTransformationFactory

Pointer type to the transformation factory.

Definition at line 43 of file 2d/transformfactory.hh.

## P3DFullCost

typedef C3DFullCost::Pointer P3DFullCost

pointer of the 3D version of the TFullCost

Definition at line 40 of file 3d/fullcost.hh.

## P3DImageCost [1/2]

typedef std::shared_ptr<C3DImageCost > P3DImageCost

pointer type of the image-to-image cost function base class

Definition at line 41 of file 3d/cost.hh.

## P3DImageCost [2/2]

typedef std::shared_ptr<C3DImageCost > P3DImageCost

A 3D non-rigid image registration class.

A 3D non-rigid image registration class. Initialise it with the desired parameters and call it with the source (template) and reference image to obtain a vector field describing the registration.

Definition at line 44 of file 3d/register.hh.

## P3DMaskedImageCost

typedef std::shared_ptr<C3DMaskedImageCost > P3DMaskedImageCost

pointer type of the image-to-image cost function base class

Definition at line 39 of file 3d/maskedcost.hh.

## P3DTransformation

typedef std::shared_ptr<C3DTransformation > P3DTransformation

pointer type for a 3D transformation

Definition at line 43 of file 3d/transform.hh.

## Function Documentation

## get_jump_level() [1/2]

EXPORT_3D float get_jump_level | ( | const C3DImage & | image | ) |

evaluate the noise-vs-gradient jump level for the normalized gradient field evaluation

Parameters

  image | the input image

Returns
  the jump level

References EXPORT_3D.

## get_jump_level() [2/2]

EXPORT_3D float get_jump_level | ( | const C3DImage & | image,
|  | float | noise_level )

evaluate the noise-vs-gradient jump level for the normalized gradient field evaluation

Parameters

  image | the input image
  noise_level |

Returns
  the jump level

References EXPORT_3D.

## get_nfg()

EXPORT_3D C3DFVectorfield get_nfg | ( | const C3DImage & | image | ) |

evaluate normalized gradiend field of an image

Evaluate the normalized gradient field of an image. Noise level and jump level are estimated.

Parameters

  image | the input image

Returns
  the normalized gradient field

References EXPORT_3D, and NS_MIA_END.

## get_nfg_j()

EXPORT_3D C3DFVectorfield get_nfg_j | ( | const C3DImage & | image,
|  | float | jump_level2 )

evaluate normalized gradiend field of an image

Evaluate the normalized gradient field of an image using a pre-defined squared jump-level

Parameters

  image | the input image
  jump_level2 |

Returns
  the normalized gradient field

References EXPORT_3D.

## get_nfg_n()

EXPORT_3D C3DFVectorfield get_nfg_n | ( | const C3DImage & | image,
|  | float | noise_level )

evaluate normalized gradiend field of an image

Evaluate the normalized gradient field of an image using a pre-defined noise level

Parameters

  image | the input image
  noise_level |

Returns
  the normalized gradient field

References EXPORT_3D.

## get_noise_level()

EXPORT_3D float get_noise_level | ( | const C3DImage & | image | ) |

evaluate an approximation of the noise level of an image

Parameters

  image | the input image

Returns
  the noise level

References EXPORT_3D.

## operator!=() [1/2]

EXPORT_2D bool operator!= | ( | const C2DTransformation::const_iterator & | a,
|  | const C2DTransformation::const_iterator & | b )

Compare two transformation iterators.

Parameters

  a |
  b |

Returns
  true if iterators are not equal, false otherwise

References EXPORT_2D, and NS_MIA_END.

## operator!=() [2/2]

EXPORT_3D bool operator!= | ( | const C3DTransformation::const_iterator & | a,
|  | const C3DTransformation::const_iterator & | b )

Compare two transformation iterators.

Parameters

  a |
  b |

Returns
  true if iterators are not equal, false otherwise

References EXPORT_3D, and NS_MIA_END.

## operator+()

C2DTransformation::const_iterator operator+ | ( | C2DTransformation::const_iterator | i,
|  | size_t | delta )

inline

Move an 2D transformation iterator forward by using its provided += operator don't use a reference to the iterator, because we use the created copy as result.

Definition at line 418 of file 2d/transform.hh.

## Variable Documentation

## C2DFullCost

NS_MIA_BEGIN typedef TFullCost<C2DTransformation> C2DFullCost

Base class for the full cost functions.

This typedef is the base class of the full-cost cost funtions.

Definition at line 37 of file 2d/fullcost.hh.

## C2DNonrigidRegister

NS_MIA_BEGIN typedef TNonrigidRegister<2> C2DNonrigidRegister

Specialization of TNonrigidRegister for 2D data

Definition at line 37 of file 2d/nonrigidregister.hh.

## C2DRegModel

NS_MIA_BEGIN typedef TRegModel<2> C2DRegModel

the 2D time-marching registration model

The 2D time-marching registration model

Definition at line 49 of file 2d/model.hh.

Referenced by C2DMultiImageNonrigidRegister::C2DMultiImageNonrigidRegister(), and C2DMultiImageNonrigidRegister::operator()().

## C3DFullCostList

NS_MIA_BEGIN typedef TFullCostList<C3DTransformation> C3DFullCostList

An accumulation of cost functions that are weigted against each other.

Definition at line 30 of file 3d/multicost.hh.

## C3DNonrigidRegister

NS_MIA_BEGIN typedef TNonrigidRegister<3> C3DNonrigidRegister

Specialization of TNonrigidRegister for 3D data.

Definition at line 36 of file 3d/nonrigidregister.hh.

## TPluginHandler< C2DRegModelPlugin >::m_help

template<>

const char* const TPluginHandler< C2DRegModelPlugin >::m_help

Plugin handler for the 2D registration model.

Definition at line 65 of file 2d/model.hh.