#include <irtkMultipleImageRegistration.h>
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. |
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.
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().