irtkSymmetricImageRegistration Class Reference

#include <irtkSymmetricImageRegistration.h>

Inheritance diagram for irtkSymmetricImageRegistration:

Inheritance graph
[legend]
Collaboration diagram for irtkSymmetricImageRegistration:

Collaboration graph
[legend]

List of all members.


Detailed Description

Generic for symmetric image registration based on voxel similarity measures.

This class implements a registration filter which takes two input images and calculates two transformation. The first maps the second image (denoted as source image) into the coordinate system of the first image (denoted as target image). The second transformation is defined in the opposite direction. This is the abstract base class which defines a common interface for arbitrary registration filters. Each derived class has to implement all abstract member functions.

Definition at line 32 of file irtkSymmetricImageRegistration.h.


Public Member Functions

 irtkSymmetricImageRegistration ()
 Constructor.
virtual ~irtkSymmetricImageRegistration ()
 Destructor.
virtual void SetInput (irtkGreyImage *, irtkGreyImage *)
 Sets input for the registration filter.
virtual void SetOutput (irtkTransformation *, irtkTransformation *)=0
 Sets output for the registration filter.
virtual void Run ()
 Runs the registration filter.
virtual double Evaluate ()=0
 Evaluates the similarity metric.
virtual double EvaluateGradient (float, float *)
 Evaluates the gradient of the similarity metric.
virtual const char * NameOfClass ()=0
 Returns the name of the class.
virtual void Debug (string)
 Prints debugging messages if debugging is enabled.
virtual void Print ()=0
 Prints information about the progress of the registration.
virtual void GuessParameter ()=0
 Guess parameters.
virtual void Read (char *)
 Read registration parameters from file.
virtual Bool Read (char *, char *, int &)
 Parse parameter line.
virtual void Write (char *)
 Write registration parameters to file.
virtual void Write (ostream &)
 Write parameters to stream.
virtual SetMacro (DebugFlag, int)
virtual GetMacro (DebugFlag, int)
virtual SetMacro (Padding, int)
virtual GetMacro (Padding, int)
virtual SetMacro (OptimizationMethod, irtkOptimizationMethod)
virtual GetMacro (OptimizationMethod, irtkOptimizationMethod)

Public Attributes

irtkEMClassification * classification
 Classification.

Protected Member Functions

virtual void Initialize ()
 Initial set up for the registration.
virtual void Finalize ()
 Final set up for the registration.
virtual void Initialize (int)
 Initial set up for the registration at a multiresolution level.
virtual void Finalize (int)
 Final set up for the registration at a multiresolution level.

Protected Attributes

irtkGreyImage * _target
 First input image.
irtkGreyImage * _source
 Second input image.
irtkTransformation_transformation1
 Outputs.
irtkTransformation_transformation2
irtkSimilarityMetric_metric1
 Histogram.
irtkSimilarityMetric_metric2
irtkInterpolateImageFunction_interpolator1
 Interpolator.
irtkInterpolateImageFunction_interpolator2
irtkSymmetricOptimizer_optimizer
 Optimizer.
double _TargetBlurring [MAX_NO_RESOLUTIONS]
 Blurring of target image (in mm).
double _TargetResolution [MAX_NO_RESOLUTIONS][3]
 Resolution of target image (in mm).
double _SourceBlurring [MAX_NO_RESOLUTIONS]
 Blurring of source image (in mm).
double _SourceResolution [MAX_NO_RESOLUTIONS][3]
 Resolution of source image (in mm).
int _NumberOfSteps [MAX_NO_RESOLUTIONS]
 Number of step sizes.
double _LengthOfSteps [MAX_NO_RESOLUTIONS]
 Length of steps.
int _NumberOfIterations [MAX_NO_RESOLUTIONS]
 Max. number of iterations per step size.
short _Padding
 Padding value of target image.
int _NumberOfLevels
 Number of levels of multiresolution pyramid.
int _NumberOfBins
 Max. number of bins for histogram.
irtkSimilarityMeasure _SimilarityMeasure
 Similarity measure for registration.
irtkOptimizationMethod _OptimizationMethod
 Optimization method for registration.
irtkInterpolationMode _InterpolationMode
 Interpolation mode to use during resampling and registration.
double _Epsilon
 Convergence parameter for optimization based on change in similarity.
double _Delta
 Convergence parameter for optimization based on change in the transformation.
int _DebugFlag
 Debugging flag.
double _source_x1
 Source image domain which can be interpolated fast.
double _source_y1
double _source_z1
double _source_x2
double _source_y2
double _source_z2
double _target_x1
 Target image domain which can be interpolated fast.
double _target_y1
double _target_z1
double _target_x2
double _target_y2
double _target_z2

Friends

istream & operator>> (istream &, irtkSymmetricImageRegistration *)
 Interface to input file stream.
ostream & operator<< (ostream &, const irtkSymmetricImageRegistration *)
 Interface to output file stream.

Member Function Documentation

virtual double irtkSymmetricImageRegistration::Evaluate (  )  [pure virtual]

Evaluates the similarity metric.

This function evaluates the similarity metric of the registration by looping over the target image and interpolating the transformed source image while filling the joint histogram. This function returns the value of the similarity measure using Similarity().

Implemented in irtkSymmetricImageFreeFormRegistration.

virtual double irtkSymmetricImageRegistration::EvaluateGradient ( float  ,
float *   
) [virtual]

Evaluates the gradient of the similarity metric.

This function evaluates the gradient of the similarity metric of the registration by looping over the target image and interpolating the transformed source image while filling the joint histogram. The partial derivatives are approximated using a finite difference scheme. The step size for the finite difference scheme is passed as a parameter to the function. The function returns the norm of the gradient vector as well as the gradient vector containing the partial derivatives.

Reimplemented in irtkSymmetricImageFreeFormRegistration.


Member Data Documentation

irtkGreyImage* irtkSymmetricImageRegistration::_target [protected]

First input image.

This image is denoted as target image and its coordinate system defines the frame of reference for the registration.

Definition at line 46 of file irtkSymmetricImageRegistration.h.

Referenced by SetInput().

irtkGreyImage* irtkSymmetricImageRegistration::_source [protected]

Second input image.

This image is denoted as source image. The goal of the registration is to find the transformation which maps the source image into the coordinate system of the target image.

Definition at line 52 of file irtkSymmetricImageRegistration.h.

Referenced by SetInput().


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