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