#include <irtkImageRegistration.h>
This class implements a registration filter which takes two input images and calculates the transformation which maps the second image (denotes as source image) into the coordinate system of the first image (denotes as target 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 irtkImageRegistration.h.
Public Member Functions | |
irtkImageRegistration () | |
Constructor. | |
virtual | ~irtkImageRegistration () |
Destructor. | |
virtual void | SetInput (irtkGreyImage *, irtkGreyImage *) |
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 input image. | |
irtkGreyImage * | _source |
Second input image. | |
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 &, irtkImageRegistration *) |
Interface to input file stream. | |
ostream & | operator<< (ostream &, const irtkImageRegistration *) |
Interface to output file stream. |
virtual double irtkImageRegistration::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 irtkImageFluidRegistration, irtkImageFluidRegistration2D, irtkImageFreeFormRegistration, irtkImageFreeFormRegistration2D, irtkImageRigidRegistration, and irtkImageRigidRegistration2D.
virtual double irtkImageRegistration::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 irtkImageEigenFreeFormRegistration, irtkImageEigenFreeFormRegistration2D, irtkImageFluidRegistration, and irtkImageFreeFormRegistration.
irtkGreyImage* irtkImageRegistration::_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 59 of file irtkImageRegistration.h.
Referenced by SetInput().
irtkGreyImage* irtkImageRegistration::_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 irtkImageRegistration.h.
Referenced by SetInput().