irtkMultipleImageRegistration Class Reference

#include <irtkMultipleImageRegistration.h>

Inheritance diagram for irtkMultipleImageRegistration:

Inheritance graph
[legend]
Collaboration diagram for irtkMultipleImageRegistration:

Collaboration graph
[legend]

List of all members.


Detailed Description

Generic for multiple image registration based on voxel similarity measures.

This class implements a registration filter which takes two sets of input images and calculates the transformation which maps the second set of images (denote as source image) into the coordinate system of the first image set (denotes astarget image). 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 38 of file irtkMultipleImageRegistration.h.


Public Member Functions

 irtkMultipleImageRegistration ()
 Constructor.
virtual ~irtkMultipleImageRegistration ()
 Destructor.
virtual void SetInput (irtkGreyImage **, irtkGreyImage **, int)
 Sets input for the registration filter.
virtual void SetOutput (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 (TargetPadding, int)
virtual GetMacro (TargetPadding, 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 set of input image.
irtkGreyImage ** _source
 Second input image.
int _numberOfImages
 Number of images (must be equal for source and target images).
irtkTransformation_transformation
 Output.
irtkSimilarityMetric_metric
 Histogram.
irtkInterpolateImageFunction ** _interpolator
 Interpolator.
irtkOptimizer_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 _TargetPadding
 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 [MAX_NO_RESOLUTIONS]
 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

Friends

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

Member Function Documentation

virtual double irtkMultipleImageRegistration::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 irtkMultipleImageFreeFormRegistration.

virtual double irtkMultipleImageRegistration::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 irtkMultipleImageFreeFormRegistration.


Member Data Documentation

irtkGreyImage** irtkMultipleImageRegistration::_target [protected]

First set of input image.

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

Definition at line 59 of file irtkMultipleImageRegistration.h.

Referenced by SetInput().

irtkGreyImage** irtkMultipleImageRegistration::_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 65 of file irtkMultipleImageRegistration.h.

Referenced by SetInput().


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