Generic multiresolution voxel-registration class. More...
#include <cmtkElasticRegistration.h>
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. | |
Functional * | MakeFunctional (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. |
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 57 of file cmtkElasticRegistration.h.
typedef VoxelRegistration cmtk::ElasticRegistration::Superclass [private] |
Convenience typedef.
Reimplemented in cmtk::ElasticRegistrationCommandLine.
Definition at line 210 of file cmtkElasticRegistration.h.
virtual cmtk::ElasticRegistration::~ElasticRegistration | ( | ) | [inline, protected, virtual] |
Destructor.
Free local objects for this class.
Definition at line 167 of file cmtkElasticRegistration.h.
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.
bool cmtk::ElasticRegistration::ForceSwitchVolumes [protected] |
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().
bool cmtk::ElasticRegistration::m_ForceOutsideFlag [private] |
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.
bool cmtk::ElasticRegistration::m_RelaxToUnfold [protected] |
Flag to turn on deformation unfolding before each level.
Definition at line 150 of file cmtkElasticRegistration.h.
bool cmtk::ElasticRegistration::RefineDelayed [private] |
Have we already run the current level before refining the grid?
Definition at line 216 of file cmtkElasticRegistration.h.
Referenced by ElasticRegistration().
int cmtk::ElasticRegistration::RefinedGridAtLevel [private] |
Level on which the last control grid refinement was performend.
Definition at line 204 of file cmtkElasticRegistration.h.
Referenced by ElasticRegistration().
int cmtk::ElasticRegistration::RefineGridCount [private] |
Number of refinements so far.
Definition at line 207 of file cmtkElasticRegistration.h.
Referenced by ElasticRegistration().
bool cmtk::ElasticRegistration::RelaxationStep [private] |
Are we currently doing a relaxation step?
Definition at line 213 of file cmtkElasticRegistration.h.
Referenced by ElasticRegistration().
const char* cmtk::ElasticRegistration::RestrictToAxes [protected] |
Restrict deformation to one or more coordinate axes.
Definition at line 104 of file cmtkElasticRegistration.h.
Referenced by ElasticRegistration().