Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends

cmtk::ImagePairNonrigidRegistrationFunctional Class Reference
[cmtkRegistration Library]

Common base class for all elastic registration functionals. More...

#include <cmtkImagePairNonrigidRegistrationFunctional.h>

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

List of all members.

Public Types

typedef
ImagePairNonrigidRegistrationFunctional 
Self
 This class.
typedef SmartPointer< SelfSmartPtr
 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::DataItemm_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::Coordinatem_StepScaleVector
 Parameter scaling vector.
DataGrid::RegionTypeVolumeOfInfluence
 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.

Detailed Description

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.


Member Typedef Documentation

Smart pointer to this class.

Reimplemented from cmtk::Functional.

Reimplemented in cmtk::ImagePairNonrigidRegistrationFunctionalTemplate< VM >.

Definition at line 73 of file cmtkImagePairNonrigidRegistrationFunctional.h.


Member Function Documentation

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  ,
 
)

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  ,
 
)

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]

Friends And Related Function Documentation

friend class SmartPointer< Self > [friend]

Make smart pointer class friend so we can keep destructor protected.

Definition at line 260 of file cmtkImagePairNonrigidRegistrationFunctional.h.


Member Data Documentation

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.

Shorcut variables for x and y dimensions of the floating image.

Definition at line 187 of file cmtkImagePairNonrigidRegistrationFunctional.h.

Weight for inverse consistency constraint.

Definition at line 196 of file cmtkImagePairNonrigidRegistrationFunctional.h.

Optional inverse transformation for inverse-consistent deformation.

Definition at line 193 of file cmtkImagePairNonrigidRegistrationFunctional.h.

Number of parallel tasks.

Definition at line 178 of file cmtkImagePairNonrigidRegistrationFunctional.h.

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.

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.

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.


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