Generic multiresolution voxel-registration class. More...
#include <cmtkImagePairNonrigidRegistration.h>
Classes | |
class | LevelParameters |
Base class for registration level parameters. More... | |
Public Types | |
typedef ImagePairNonrigidRegistration | Self |
This class. | |
typedef ImagePairRegistration | Superclass |
Parent class. | |
Protected Member Functions | |
cmtkGetSetMacro (bool, MatchFltToRefHistogram) | |
Flag whether to adjust floating image histogram to match reference image. | |
cmtkGetSetMacroDefault (bool, RepeatMatchFltToRefHistogram, true) | |
Flag for repeated application of histogram-based intensity matching. | |
cmtkGetSetMacro (int, RefineGrid) | |
This value determines how often the control point grid is refined. | |
cmtkGetSetMacro (bool, DelayRefineGrid) | |
Flag whether to delay grid refinement. | |
cmtkGetSetMacro (Types::Coordinate, GridSpacing) | |
Initial spacing of the control point grid. | |
cmtkGetSetMacro (bool, ExactGridSpacing) | |
Force exact grid spacing. | |
cmtkGetSetMacro (bool, FastMode) | |
Flag for fast mode (less accurate) of spline deformations. | |
cmtkGetSetMacro (bool, AdaptiveFixParameters) | |
Flag for adaptive selection of active and passive parameters. | |
cmtkGetSetMacro (float, AdaptiveFixThreshFactor) | |
Set threshold factor for selecting passive warp parameters adaptively. | |
cmtkGetSetMacro (float, JacobianConstraintWeight) | |
Weighting of Jacobian constraint relative to similairy measure. | |
cmtkGetSetMacro (float, GridEnergyWeight) | |
Weighting of grid bending energy constraint relative to image similarity. | |
cmtkGetSetMacro (float, RelaxWeight) | |
Factor by which to relax constraint weights for a relaxation step. | |
cmtkGetSetMacro (float, InverseConsistencyWeight) | |
Weight for inverse consistency weight. | |
cmtkGetSetMacro (float, LandmarkErrorWeight) | |
Weighting factor of landmark registration error vs. image similarity. | |
ImagePairNonrigidRegistration () | |
Default constructor. | |
virtual | ~ImagePairNonrigidRegistration () |
Destructor. | |
SplineWarpXform::SmartPtr | GetTransformation () const |
Return final transformation. | |
const UniformVolume::SmartPtr | GetReformattedFloatingImage (Interpolators::InterpolationEnum interpolator=Interpolators::LINEAR) const |
Get reformatted floating image. | |
Member functions to be overwritten. | |
virtual CallbackResult | InitRegistration () |
Initialize registration. | |
virtual void | EnterResolution (CoordinateVector::SmartPtr &, Functional::SmartPtr &, const int, const int) |
Enter resolution level. | |
virtual int | DoneResolution (CoordinateVector::SmartPtr &, Functional::SmartPtr &, const int, const int) |
Finish resolution level. | |
Protected Attributes | |
SplineWarpXform::SmartPtr | InitialWarpXform |
Initial deformation. | |
SplineWarpXform::SmartPtr | InverseWarpXform |
Optional inverse warp for inverse-consistent registration. | |
unsigned int | IgnoreEdge |
This counter determines how many edge control points are fixed. | |
const char * | RestrictToAxes |
Restrict deformation to one or more coordinate axes. | |
bool | m_RelaxToUnfold |
Flag to turn on deformation unfolding before each level. | |
Private Member Functions | |
SplineWarpXform::SmartPtr | MakeWarpXform (const UniformVolume::CoordinateVectorType &size, const AffineXform *initialAffine) const |
Create warp transformation with current settings. | |
virtual Functional * | MakeFunctional (const int level, const Superclass::LevelParameters *levelParameters) |
Create functional with current level settings. | |
Private Attributes | |
MatchedLandmarkList::SmartPtr | m_MatchedLandmarks |
(Optional) matched landmark list. | |
int | RefinedGridAtLevel |
Level on which the last control grid refinement was performend. | |
int | RefineGridCount |
Number of refinements so far. | |
bool | RelaxationStep |
Are we currently doing a relaxation step? | |
bool | RefineDelayed |
Have we already run the current level before refining the grid? |
Generic multiresolution voxel-registration class.
By implementing member functions to retrieve parameters and report results in derived classes, registration can be integrated into various environments.
Definition at line 56 of file cmtkImagePairNonrigidRegistration.h.
This class.
Reimplemented from cmtk::ImagePairRegistration.
Reimplemented in cmtk::ImagePairNonrigidRegistrationCommandLine.
Definition at line 62 of file cmtkImagePairNonrigidRegistration.h.
Parent class.
Reimplemented in cmtk::ImagePairNonrigidRegistrationCommandLine.
Definition at line 65 of file cmtkImagePairNonrigidRegistration.h.
virtual cmtk::ImagePairNonrigidRegistration::~ImagePairNonrigidRegistration | ( | ) | [inline, protected, virtual] |
Destructor.
Free local objects for this class.
Definition at line 156 of file cmtkImagePairNonrigidRegistration.h.
cmtk::ImagePairNonrigidRegistration::cmtkGetSetMacro | ( | bool | , |
MatchFltToRefHistogram | |||
) | [protected] |
Flag whether to adjust floating image histogram to match reference image.
cmtk::ImagePairNonrigidRegistration::cmtkGetSetMacro | ( | bool | , |
DelayRefineGrid | |||
) | [protected] |
Flag whether to delay grid refinement.
If this flag is set, a newly entered image resolution level is run with the previous, coarser deformation grid first before refining.
cmtk::ImagePairNonrigidRegistration::cmtkGetSetMacro | ( | bool | , |
AdaptiveFixParameters | |||
) | [protected] |
Flag for adaptive selection of active and passive parameters.
cmtk::ImagePairNonrigidRegistration::cmtkGetSetMacro | ( | float | , |
AdaptiveFixThreshFactor | |||
) | [protected] |
Set threshold factor for selecting passive warp parameters adaptively.
If the flag AdaptiveFixParameters is set, this value determines the threshold by which active vs. passive parameters are selected. All control points are set to passive for which the local region entropy is below this factor times sum of min and max region entropy. The default value is 0.5.
cmtk::ImagePairNonrigidRegistration::cmtkGetSetMacro | ( | Types::Coordinate | , |
GridSpacing | |||
) | [protected] |
Initial spacing of the control point grid.
cmtk::ImagePairNonrigidRegistration::cmtkGetSetMacro | ( | float | , |
JacobianConstraintWeight | |||
) | [protected] |
Weighting of Jacobian constraint relative to similairy measure.
cmtk::ImagePairNonrigidRegistration::cmtkGetSetMacro | ( | float | , |
GridEnergyWeight | |||
) | [protected] |
Weighting of grid bending energy constraint relative to image similarity.
cmtk::ImagePairNonrigidRegistration::cmtkGetSetMacro | ( | int | , |
RefineGrid | |||
) | [protected] |
This value determines how often the control point grid is refined.
cmtk::ImagePairNonrigidRegistration::cmtkGetSetMacro | ( | float | , |
LandmarkErrorWeight | |||
) | [protected] |
Weighting factor of landmark registration error vs. image similarity.
cmtk::ImagePairNonrigidRegistration::cmtkGetSetMacro | ( | float | , |
InverseConsistencyWeight | |||
) | [protected] |
Weight for inverse consistency weight.
If this is set to a value greater than 0, inverse consistency of the transformation is enforced. In fact, both forward and backward transformation are optimized simultaneously.
cmtk::ImagePairNonrigidRegistration::cmtkGetSetMacro | ( | bool | , |
ExactGridSpacing | |||
) | [protected] |
Force exact grid spacing.
If this flag is set, then the CPG will be spaced at exactly the distance given in the GridSpacing field. Otherwise, the grid spacing will be adjusted so that there is an integral number of CPG cells that cover the reference image domain.
cmtk::ImagePairNonrigidRegistration::cmtkGetSetMacro | ( | float | , |
RelaxWeight | |||
) | [protected] |
Factor by which to relax constraint weights for a relaxation step.
cmtk::ImagePairNonrigidRegistration::cmtkGetSetMacro | ( | bool | , |
FastMode | |||
) | [protected] |
Flag for fast mode (less accurate) of spline deformations.
cmtk::ImagePairNonrigidRegistration::cmtkGetSetMacroDefault | ( | bool | , |
RepeatMatchFltToRefHistogram | , | ||
true | |||
) | [protected] |
Flag for repeated application of histogram-based intensity matching.
If this flag is set, histogram-based intensity matching is repeatedly applied throughout the registration process to match the floating image intensities with consideration for changing volume proportions as the deformation progresses.
SplineWarpXform::SmartPtr cmtk::ImagePairNonrigidRegistration::GetTransformation | ( | ) | const [inline, protected] |
Return final transformation.
Definition at line 183 of file cmtkImagePairNonrigidRegistration.h.
Referenced by GetReformattedFloatingImage().
unsigned int cmtk::ImagePairNonrigidRegistration::IgnoreEdge [protected] |
This counter determines how many edge control points are fixed.
Definition at line 105 of file cmtkImagePairNonrigidRegistration.h.
Referenced by ImagePairNonrigidRegistration(), and InitRegistration().
Initial deformation.
Definition at line 69 of file cmtkImagePairNonrigidRegistration.h.
Referenced by InitRegistration().
Optional inverse warp for inverse-consistent registration.
Definition at line 72 of file cmtkImagePairNonrigidRegistration.h.
Referenced by InitRegistration().
(Optional) matched landmark list.
Definition at line 193 of file cmtkImagePairNonrigidRegistration.h.
Referenced by InitRegistration().
bool cmtk::ImagePairNonrigidRegistration::m_RelaxToUnfold [protected] |
Flag to turn on deformation unfolding before each level.
Definition at line 146 of file cmtkImagePairNonrigidRegistration.h.
bool cmtk::ImagePairNonrigidRegistration::RefineDelayed [private] |
Have we already run the current level before refining the grid?
Definition at line 205 of file cmtkImagePairNonrigidRegistration.h.
Referenced by ImagePairNonrigidRegistration().
int cmtk::ImagePairNonrigidRegistration::RefinedGridAtLevel [private] |
Level on which the last control grid refinement was performend.
Definition at line 196 of file cmtkImagePairNonrigidRegistration.h.
Referenced by ImagePairNonrigidRegistration().
int cmtk::ImagePairNonrigidRegistration::RefineGridCount [private] |
Number of refinements so far.
Definition at line 199 of file cmtkImagePairNonrigidRegistration.h.
Referenced by ImagePairNonrigidRegistration().
bool cmtk::ImagePairNonrigidRegistration::RelaxationStep [private] |
Are we currently doing a relaxation step?
Definition at line 202 of file cmtkImagePairNonrigidRegistration.h.
Referenced by ImagePairNonrigidRegistration().
const char* cmtk::ImagePairNonrigidRegistration::RestrictToAxes [protected] |
Restrict deformation to one or more coordinate axes.
Definition at line 109 of file cmtkImagePairNonrigidRegistration.h.
Referenced by ImagePairNonrigidRegistration().