Common base class for all elastic registration functionals. More...
#include <cmtkImagePairNonrigidRegistrationFunctional.h>
Public Types | |
typedef ImagePairNonrigidRegistrationFunctional | Self |
This class. | |
typedef SmartPointer< Self > | SmartPtr |
Smart pointer to this class. | |
typedef ImagePairRegistrationFunctional | Superclass |
Superclass. | |
Public Member Functions | |
virtual | ~ImagePairNonrigidRegistrationFunctional () |
Virtual destructor. | |
cmtkGetSetMacroDefault (bool, AdaptiveFixParameters, true) | |
Set active and passive warp parameters adaptively. | |
cmtkGetSetMacro (double, AdaptiveFixThreshFactor) | |
Set threshold factor for selecting passive warp parameters adaptively. | |
cmtkGetSetMacroString (ActiveCoordinates) | |
Active coordinate directions. | |
cmtkGetSetMacroDefault (double, JacobianConstraintWeight, 0) | |
Weight of the Jacobian constraint relative to voxel similarity measure. | |
cmtkGetSetMacroDefault (double, GridEnergyWeight, 0) | |
Weight of the grid energy relative to voxel similarity measure. | |
virtual void | SetWarpXform (SplineWarpXform::SmartPtr &warp)=0 |
Set Warp transformation. | |
void | SetInverseTransformation (SplineWarpXform::SmartPtr &inverseTransformation) |
Set inverse transformation. | |
void | SetInverseConsistencyWeight (const double inverseConsistencyWeight) |
Set inverse consistency weight. | |
virtual Types::Coordinate | GetParamStep (const size_t idx, const Types::Coordinate mmStep=1) const |
Get parameter stepping in milimeters. | |
virtual size_t | ParamVectorDim () const |
Return the transformation's parameter vector dimension. | |
virtual size_t | VariableParamVectorDim () const |
Return the number of variable parameters of the transformation. | |
virtual void | GetParamVector (CoordinateVector &v) |
Return parameter vector. | |
Static Public Member Functions | |
static ImagePairNonrigidRegistrationFunctional * | Create (const int metric, UniformVolume::SmartPtr &refVolume, UniformVolume::SmartPtr &fltVolume, const Interpolators::InterpolationEnum interpolation) |
Constructor function. | |
Protected Member Functions | |
ImagePairNonrigidRegistrationFunctional (UniformVolume::SmartPtr &reference, UniformVolume::SmartPtr &floating) | |
Constructor. | |
Self::ReturnType | WeightedTotal (const Self::ReturnType metric, const SplineWarpXform &warp) const |
Return weighted combination of voxel similarity and grid energy. | |
void | WeightedDerivative (double &lower, double &upper, SplineWarpXform &warp, const int param, const Types::Coordinate step) const |
Return weighted combination of similarity and grid energy derivatives. | |
cmtkGetSetMacroDefault (bool, Regularize, false) | |
Regularize the deformation. | |
Protected Attributes | |
std::vector < SplineWarpXform::SmartPtr > | m_ThreadWarp |
Array of warp transformation objects for the parallel threads. | |
Vector3D ** | m_ThreadVectorCache |
Array of storage for simultaneously retrieving multiple deformed vectors. | |
size_t | m_NumberOfThreads |
Number of actual parallel threads used for computations. | |
size_t | m_NumberOfTasks |
Number of parallel tasks. | |
Types::DataItem * | m_WarpedVolume |
Baseline transformed volume. | |
DataGrid::IndexType::ValueType | m_DimsX |
Shortcut variables for x, y, z dimension of the reference image. | |
DataGrid::IndexType::ValueType | m_DimsY |
DataGrid::IndexType::ValueType | m_DimsZ |
DataGrid::IndexType::ValueType | m_FltDimsX |
Shorcut variables for x and y dimensions of the floating image. | |
DataGrid::IndexType::ValueType | m_FltDimsY |
SplineWarpXform::SmartPtr | m_Warp |
Pointer to the local warp transformation. | |
SplineWarpXform::SmartPtr | m_InverseTransformation |
Optional inverse transformation for inverse-consistent deformation. | |
double | m_InverseConsistencyWeight |
Weight for inverse consistency constraint. | |
size_t | Dim |
Dimension of warp parameter vector. | |
std::vector< Types::Coordinate > | m_StepScaleVector |
Parameter scaling vector. | |
DataGrid::RegionType * | VolumeOfInfluence |
Volume of influence table. | |
Vector3D | ReferenceFrom |
Coordinate of the beginning of the reference colume crop area. | |
Vector3D | ReferenceTo |
Coordinate of the end of the reference colume crop area. | |
Friends | |
class | SmartPointer< Self > |
Make smart pointer class friend so we can keep destructor protected. |
Common base class for all elastic registration functionals.
This class holds all members that are not related to the effective metric and therefore need not be present in the derived template class.
Definition at line 64 of file cmtkImagePairNonrigidRegistrationFunctional.h.
This class.
Reimplemented from cmtk::ImagePairRegistrationFunctional.
Reimplemented in cmtk::ImagePairNonrigidRegistrationFunctionalTemplate< VM >.
Definition at line 70 of file cmtkImagePairNonrigidRegistrationFunctional.h.
Smart pointer to this class.
Reimplemented from cmtk::Functional.
Reimplemented in cmtk::ImagePairNonrigidRegistrationFunctionalTemplate< VM >.
Definition at line 73 of file cmtkImagePairNonrigidRegistrationFunctional.h.
Superclass.
Reimplemented from cmtk::ImagePairRegistrationFunctional.
Reimplemented in cmtk::ImagePairNonrigidRegistrationFunctionalTemplate< VM >.
Definition at line 76 of file cmtkImagePairNonrigidRegistrationFunctional.h.
cmtk::ImagePairNonrigidRegistrationFunctional::cmtkGetSetMacro | ( | double | , |
AdaptiveFixThreshFactor | |||
) |
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::ImagePairNonrigidRegistrationFunctional::cmtkGetSetMacroDefault | ( | bool | , |
AdaptiveFixParameters | , | ||
true | |||
) |
Set active and passive warp parameters adaptively.
If this flag is set, the functional will adaptively determine active and passive parameters of the warp transformation prior to gradient computation.
cmtk::ImagePairNonrigidRegistrationFunctional::cmtkGetSetMacroDefault | ( | double | , |
JacobianConstraintWeight | , | ||
0 | |||
) |
Weight of the Jacobian constraint relative to voxel similarity measure.
If this is zero, only the voxel-based similarity will be computed.
cmtk::ImagePairNonrigidRegistrationFunctional::cmtkGetSetMacroDefault | ( | bool | , |
Regularize | , | ||
false | |||
) | [protected] |
Regularize the deformation.
cmtk::ImagePairNonrigidRegistrationFunctional::cmtkGetSetMacroDefault | ( | double | , |
GridEnergyWeight | , | ||
0 | |||
) |
Weight of the grid energy relative to voxel similarity measure.
If this is zero, only the voxel-based similarity will be computed. If equal to one, only the grid energy will be computed.
cmtk::ImagePairNonrigidRegistrationFunctional::cmtkGetSetMacroString | ( | ActiveCoordinates | ) |
Active coordinate directions.
virtual Types::Coordinate cmtk::ImagePairNonrigidRegistrationFunctional::GetParamStep | ( | const size_t | idx, |
const Types::Coordinate | mmStep = 1 |
||
) | const [inline, virtual] |
Get parameter stepping in milimeters.
Reimplemented from cmtk::Functional.
Definition at line 133 of file cmtkImagePairNonrigidRegistrationFunctional.h.
virtual void cmtk::ImagePairNonrigidRegistrationFunctional::GetParamVector | ( | CoordinateVector & | v ) | [inline, virtual] |
Return parameter vector.
Definition at line 151 of file cmtkImagePairNonrigidRegistrationFunctional.h.
virtual size_t cmtk::ImagePairNonrigidRegistrationFunctional::ParamVectorDim | ( | ) | const [inline, virtual] |
Return the transformation's parameter vector dimension.
Implements cmtk::Functional.
Definition at line 139 of file cmtkImagePairNonrigidRegistrationFunctional.h.
void cmtk::ImagePairNonrigidRegistrationFunctional::SetInverseConsistencyWeight | ( | const double | inverseConsistencyWeight ) | [inline] |
Set inverse consistency weight.
Definition at line 127 of file cmtkImagePairNonrigidRegistrationFunctional.h.
void cmtk::ImagePairNonrigidRegistrationFunctional::SetInverseTransformation | ( | SplineWarpXform::SmartPtr & | inverseTransformation ) | [inline] |
Set inverse transformation.
Definition at line 121 of file cmtkImagePairNonrigidRegistrationFunctional.h.
virtual size_t cmtk::ImagePairNonrigidRegistrationFunctional::VariableParamVectorDim | ( | ) | const [inline, virtual] |
Return the number of variable parameters of the transformation.
Reimplemented from cmtk::Functional.
Definition at line 145 of file cmtkImagePairNonrigidRegistrationFunctional.h.
Self::ReturnType cmtk::ImagePairNonrigidRegistrationFunctional::WeightedTotal | ( | const Self::ReturnType | metric, |
const SplineWarpXform & | warp | ||
) | const [inline, protected] |
Return weighted combination of voxel similarity and grid energy.
Definition at line 199 of file cmtkImagePairNonrigidRegistrationFunctional.h.
References cmtk::SplineWarpXform::GetGridEnergy(), cmtk::SplineWarpXform::GetInverseConsistencyError(), cmtk::SplineWarpXform::GetJacobianConstraint(), and cmtk::Xform::GetLandmarksMSD().
friend class SmartPointer< Self > [friend] |
Make smart pointer class friend so we can keep destructor protected.
Definition at line 260 of file cmtkImagePairNonrigidRegistrationFunctional.h.
size_t cmtk::ImagePairNonrigidRegistrationFunctional::Dim [protected] |
Dimension of warp parameter vector.
Definition at line 236 of file cmtkImagePairNonrigidRegistrationFunctional.h.
Shortcut variables for x, y, z dimension of the reference image.
Definition at line 184 of file cmtkImagePairNonrigidRegistrationFunctional.h.
Definition at line 184 of file cmtkImagePairNonrigidRegistrationFunctional.h.
Definition at line 184 of file cmtkImagePairNonrigidRegistrationFunctional.h.
DataGrid::IndexType::ValueType cmtk::ImagePairNonrigidRegistrationFunctional::m_FltDimsX [protected] |
Shorcut variables for x and y dimensions of the floating image.
Definition at line 187 of file cmtkImagePairNonrigidRegistrationFunctional.h.
DataGrid::IndexType::ValueType cmtk::ImagePairNonrigidRegistrationFunctional::m_FltDimsY [protected] |
Definition at line 187 of file cmtkImagePairNonrigidRegistrationFunctional.h.
double cmtk::ImagePairNonrigidRegistrationFunctional::m_InverseConsistencyWeight [protected] |
Weight for inverse consistency constraint.
Definition at line 196 of file cmtkImagePairNonrigidRegistrationFunctional.h.
SplineWarpXform::SmartPtr cmtk::ImagePairNonrigidRegistrationFunctional::m_InverseTransformation [protected] |
Optional inverse transformation for inverse-consistent deformation.
Definition at line 193 of file cmtkImagePairNonrigidRegistrationFunctional.h.
size_t cmtk::ImagePairNonrigidRegistrationFunctional::m_NumberOfTasks [protected] |
Number of parallel tasks.
Definition at line 178 of file cmtkImagePairNonrigidRegistrationFunctional.h.
size_t cmtk::ImagePairNonrigidRegistrationFunctional::m_NumberOfThreads [protected] |
Number of actual parallel threads used for computations.
All duplicated data structures are generated with the multiplicity given by this value. It is determined from Threads when the object is first instanced. It cannot be changed afterwards.
Definition at line 175 of file cmtkImagePairNonrigidRegistrationFunctional.h.
std::vector<Types::Coordinate> cmtk::ImagePairNonrigidRegistrationFunctional::m_StepScaleVector [protected] |
Parameter scaling vector.
This array holds the scaling factors for all warp parameters as returned by the transformation class. These factors can be used to equalized all parameter modifications during gradient computation etc.
Definition at line 243 of file cmtkImagePairNonrigidRegistrationFunctional.h.
Array of storage for simultaneously retrieving multiple deformed vectors.
Definition at line 168 of file cmtkImagePairNonrigidRegistrationFunctional.h.
std::vector<SplineWarpXform::SmartPtr> cmtk::ImagePairNonrigidRegistrationFunctional::m_ThreadWarp [protected] |
Array of warp transformation objects for the parallel threads.
Definition at line 165 of file cmtkImagePairNonrigidRegistrationFunctional.h.
Pointer to the local warp transformation.
Definition at line 190 of file cmtkImagePairNonrigidRegistrationFunctional.h.
Baseline transformed volume.
Definition at line 181 of file cmtkImagePairNonrigidRegistrationFunctional.h.
Coordinate of the beginning of the reference colume crop area.
Definition at line 254 of file cmtkImagePairNonrigidRegistrationFunctional.h.
Coordinate of the end of the reference colume crop area.
Definition at line 257 of file cmtkImagePairNonrigidRegistrationFunctional.h.
Volume of influence table.
This array holds the precomputed volumes of influence for all transformation parameters. Six successive numbers per parameter define the voxel range with respect to the reference colume grid that is affected by the respective parameter.
Definition at line 251 of file cmtkImagePairNonrigidRegistrationFunctional.h.