Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes

cmtk::ElasticRegistration Class Reference
[cmtkRegistration Library]

Generic multiresolution voxel-registration class. More...

#include <cmtkElasticRegistration.h>

Inheritance diagram for cmtk::ElasticRegistration:
Inheritance graph
[legend]
Collaboration diagram for cmtk::ElasticRegistration:
Collaboration graph
[legend]

List of all members.

Protected Member Functions

 cmtkGetSetMacro (bool, MatchFltToRefHistogram)
 Flag whether to adjust floating image histogram to match reference image.
 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, RigidityConstraintWeight)
 Weighting of rigidity constraint relative to similairy measure.
 cmtkGetSetMacro (UniformVolume::SmartPtr, RigidityConstraintMap)
 Pixelwise weight map of rigidity 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.
 cmtkGetSetMacro (MatchedLandmarkList::SmartPtr, LandmarkList)
 Matched landmarks list.
virtual void SetForceOutside (const bool flag=true, const Types::DataItem value=0)
 Set flag and value for forcing values outside the floating image.
 ElasticRegistration ()
 Default constructor.
virtual ~ElasticRegistration ()
 Destructor.
SplineWarpXform::SmartPtr GetTransformation () const
 Return final transformation.
const UniformVolume::SmartPtr GetReformattedFloatingImage (Interpolators::InterpolationEnum interpolator=Interpolators::LINEAR)
 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.
bool ForceSwitchVolumes
 If this flag is set, reference and model volume are exchanged.
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 Types

typedef VoxelRegistration Superclass
 Convenience typedef.

Private Member Functions

const SplineWarpXform::SmartPtr MakeWarpXform (const Vector3D &size, const AffineXform *initialAffine) const
 Create warp transformation with current settings.
FunctionalMakeFunctional (UniformVolume::SmartPtr &refVolume, UniformVolume::SmartPtr &fltVolume, UniformVolume::SmartPtr &rigidityMap) const
 Create functional with all settings and two given volume objects.

Private Attributes

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?
bool m_ForceOutsideFlag
 Flag for forcing pixel values outside the floating image.
Types::DataItem m_ForceOutsideValue
 Value for forcing pixel values outside the floating image.

Detailed Description

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.

Version:
Revision:
2752
Date:
2011-01-17 11:33:31 -0800 (Mon, 17 Jan 2011)

Definition at line 57 of file cmtkElasticRegistration.h.


Member Typedef Documentation

Convenience typedef.

Reimplemented in cmtk::ElasticRegistrationCommandLine.

Definition at line 210 of file cmtkElasticRegistration.h.


Constructor & Destructor Documentation

virtual cmtk::ElasticRegistration::~ElasticRegistration (  ) [inline, protected, virtual]

Destructor.

Free local objects for this class.

Definition at line 167 of file cmtkElasticRegistration.h.


Member Function Documentation

cmtk::ElasticRegistration::cmtkGetSetMacro ( bool  ,
MatchFltToRefHistogram   
) [protected]

Flag whether to adjust floating image histogram to match reference image.

cmtk::ElasticRegistration::cmtkGetSetMacro ( int  ,
RefineGrid   
) [protected]

This value determines how often the control point grid is refined.

cmtk::ElasticRegistration::cmtkGetSetMacro ( Types::Coordinate  ,
GridSpacing   
) [protected]

Initial spacing of the control point grid.

cmtk::ElasticRegistration::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::ElasticRegistration::cmtkGetSetMacro ( MatchedLandmarkList::SmartPtr  ,
LandmarkList   
) [protected]

Matched landmarks list.

cmtk::ElasticRegistration::cmtkGetSetMacro ( float  ,
JacobianConstraintWeight   
) [protected]

Weighting of Jacobian constraint relative to similairy measure.

cmtk::ElasticRegistration::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::ElasticRegistration::cmtkGetSetMacro ( float  ,
RigidityConstraintWeight   
) [protected]

Weighting of rigidity constraint relative to similairy measure.

cmtk::ElasticRegistration::cmtkGetSetMacro ( UniformVolume::SmartPtr  ,
RigidityConstraintMap   
) [protected]

Pixelwise weight map of rigidity constraint relative to similairy measure.

cmtk::ElasticRegistration::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::ElasticRegistration::cmtkGetSetMacro ( float  ,
LandmarkErrorWeight   
) [protected]

Weighting factor of landmark registration error vs. image similarity.

cmtk::ElasticRegistration::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::ElasticRegistration::cmtkGetSetMacro ( float  ,
RelaxWeight   
) [protected]

Factor by which to relax constraint weights for a relaxation step.

cmtk::ElasticRegistration::cmtkGetSetMacro ( bool  ,
FastMode   
) [protected]

Flag for fast mode (less accurate) of spline deformations.

cmtk::ElasticRegistration::cmtkGetSetMacro ( float  ,
GridEnergyWeight   
) [protected]

Weighting of grid bending energy constraint relative to image similarity.

cmtk::ElasticRegistration::cmtkGetSetMacro ( bool  ,
AdaptiveFixParameters   
) [protected]

Flag for adaptive selection of active and passive parameters.

SplineWarpXform::SmartPtr cmtk::ElasticRegistration::GetTransformation (  ) const [inline, protected]

Return final transformation.

Definition at line 194 of file cmtkElasticRegistration.h.

Referenced by GetReformattedFloatingImage(), and cmtk::AtlasSegmentation::RegisterSpline().

virtual void cmtk::ElasticRegistration::SetForceOutside ( const bool  flag = true,
const Types::DataItem  value = 0 
) [inline, protected, virtual]

Set flag and value for forcing values outside the floating image.

Definition at line 153 of file cmtkElasticRegistration.h.


Member Data Documentation

If this flag is set, reference and model volume are exchanged.

By default, volume #1 is the reference and volume #2 the model image. However, a studylist for example may contain both volumes in the wrong order. This is caused by the fact that for CT to MRI registration, for instance, it does not make sense to warp the CT and leave MRI fixed.

Definition at line 74 of file cmtkElasticRegistration.h.

unsigned int cmtk::ElasticRegistration::IgnoreEdge [protected]

This counter determines how many edge control points are fixed.

Definition at line 100 of file cmtkElasticRegistration.h.

Referenced by ElasticRegistration(), and InitRegistration().

Initial deformation.

Definition at line 63 of file cmtkElasticRegistration.h.

Referenced by InitRegistration().

Optional inverse warp for inverse-consistent registration.

Definition at line 66 of file cmtkElasticRegistration.h.

Referenced by InitRegistration().

Flag for forcing pixel values outside the floating image.

Definition at line 219 of file cmtkElasticRegistration.h.

Value for forcing pixel values outside the floating image.

Definition at line 222 of file cmtkElasticRegistration.h.

Flag to turn on deformation unfolding before each level.

Definition at line 150 of file cmtkElasticRegistration.h.

Have we already run the current level before refining the grid?

Definition at line 216 of file cmtkElasticRegistration.h.

Referenced by ElasticRegistration().

Level on which the last control grid refinement was performend.

Definition at line 204 of file cmtkElasticRegistration.h.

Referenced by ElasticRegistration().

Number of refinements so far.

Definition at line 207 of file cmtkElasticRegistration.h.

Referenced by ElasticRegistration().

Are we currently doing a relaxation step?

Definition at line 213 of file cmtkElasticRegistration.h.

Referenced by ElasticRegistration().

Restrict deformation to one or more coordinate axes.

Definition at line 104 of file cmtkElasticRegistration.h.

Referenced by ElasticRegistration().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines