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

cmtk::ImagePairAffineRegistrationFunctional Class Reference
[cmtkRegistration Library]

Base-class for affine registration functionals. More...

#include <cmtkImagePairAffineRegistrationFunctional.h>

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

List of all members.

Public Types

typedef
ImagePairAffineRegistrationFunctional 
Self
 This class type.
typedef
ImagePairRegistrationFunctional 
Superclass
 Superclass.
typedef SmartPointer< SelfSmartPtr
 Smart pointer to this class.

Public Member Functions

virtual void GetParamVector (CoordinateVector &v)
 Return parameter vector.
virtual Types::Coordinate GetParamStep (const size_t idx, const Types::Coordinate mmStep=1) const
 Return parameter stepping.
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.
 ImagePairAffineRegistrationFunctional (UniformVolume::SmartPtr refVolume, UniformVolume::SmartPtr modVolume, AffineXform::SmartPtr &affineXform)
 Constructor.
virtual ~ImagePairAffineRegistrationFunctional ()
 Destructor.

Static Public Member Functions

static
ImagePairAffineRegistrationFunctional
Create (const int metric, UniformVolume::SmartPtr &refVolume, UniformVolume::SmartPtr &fltVolume, const Interpolators::InterpolationEnum interpolation, AffineXform::SmartPtr &affineXform)
 Constructor function for affine voxel registration functionals.

Protected Member Functions

int ClipZ (const VolumeClipping &clipper, const Vector3D &origin, DataGrid::IndexType::ValueType &start, DataGrid::IndexType::ValueType &end) const
 Perform clipping/cropping in z-direction.
int ClipX (const VolumeClipping &clipper, const Vector3D &origin, DataGrid::IndexType::ValueType &start, DataGrid::IndexType::ValueType &end) const
 Perform clipping/cropping in x-direction.
int ClipY (const VolumeClipping &clipper, const Vector3D &origin, DataGrid::IndexType::ValueType &start, DataGrid::IndexType::ValueType &end) const
 Perform clipping/cropping in y-direction.

Protected Attributes

AffineXform::SmartPtr m_AffineXform
 Current coordinate transformation.
VolumeClipping Clipper
 Utility object for volume clipping.

Detailed Description

Base-class for affine registration functionals.

Definition at line 62 of file cmtkImagePairAffineRegistrationFunctional.h.


Member Typedef Documentation

Smart pointer to this class.

Reimplemented from cmtk::Functional.

Reimplemented in cmtk::ImagePairAffineRegistrationFunctionalTemplate< VM >.

Definition at line 74 of file cmtkImagePairAffineRegistrationFunctional.h.


Constructor & Destructor Documentation

cmtk::ImagePairAffineRegistrationFunctional::ImagePairAffineRegistrationFunctional ( UniformVolume::SmartPtr  refVolume,
UniformVolume::SmartPtr  modVolume,
AffineXform::SmartPtr affineXform 
) [inline]

Constructor.

Definition at line 246 of file cmtkImagePairAffineRegistrationFunctional.h.

virtual cmtk::ImagePairAffineRegistrationFunctional::~ImagePairAffineRegistrationFunctional (  ) [inline, virtual]

Destructor.

Definition at line 252 of file cmtkImagePairAffineRegistrationFunctional.h.


Member Function Documentation

int cmtk::ImagePairAffineRegistrationFunctional::ClipX ( const VolumeClipping clipper,
const Vector3D origin,
DataGrid::IndexType::ValueType start,
DataGrid::IndexType::ValueType end 
) const [inline, protected]

Perform clipping/cropping in x-direction.

This function computes the intersection of reference and floating data in x-direction. It determines the range of indices of those voxels in the current reference row that intersect the floating image. This is the range over which to for-loop during metric computation.

Compared to ClipZ and ClipY, this step has to operate very exact as there is no further level that would reduce remaining invalid voxels. Therefore, clipper.ClipX() is called with an extended initial range of indices and an explicitly open upper bound.

This is necessary to discriminate inside-boundary from on-boundary voxels. For the right, upper and back boundary, on-boundary voxels are already outside the allowed range as the upper boundaries of the volume are open in terms of interpolation.

Parameters:
clipperA volume clipping object with clipping boundaries and grid orientation set.
originStarting point of the current row in the reference volume.
startUpon return, this reference is set to the index of first voxel in the reference that intersects the floating image.
endUpon return, this reference is set to one plus the index of the last voxel in the reference that intersects the floating image.
Returns:
1 if there is an intersection of the current reference row and the floating, 0 if there isn't. The range of indices returned in "start" and "end" is only guaranteed to be valid if 1 is the return value.

Definition at line 168 of file cmtkImagePairAffineRegistrationFunctional.h.

References cmtk::VolumeClipping::ClipX().

int cmtk::ImagePairAffineRegistrationFunctional::ClipY ( const VolumeClipping clipper,
const Vector3D origin,
DataGrid::IndexType::ValueType start,
DataGrid::IndexType::ValueType end 
) const [inline, protected]

Perform clipping/cropping in y-direction.

This function computes the intersection of reference and floating data in y-direction. It determines the range of indices of those rows in the current reference plane that intersect the floating image. This is the range over which to for-loop during metric computation.

Parameters:
clipperA volume clipping object with clipping boundaries and grid orientation set.
originStarting point of the current plane in the reference volume.
startUpon return, this reference is set to the index of first row in the reference that intersects the floating image.
endUpon return, this reference is set to one plus the index of the last row in the reference that intersects the floating image.
Returns:
1 if there is an intersection of the current reference plane and the floating, 0 if there isn't. The range of indices returned in "start" and "end" is only guaranteed to be valid if 1 is the return value.

Definition at line 218 of file cmtkImagePairAffineRegistrationFunctional.h.

References cmtk::VolumeClipping::ClipY().

int cmtk::ImagePairAffineRegistrationFunctional::ClipZ ( const VolumeClipping clipper,
const Vector3D origin,
DataGrid::IndexType::ValueType start,
DataGrid::IndexType::ValueType end 
) const [inline, protected]

Perform clipping/cropping in z-direction.

This function computes the intersection of reference and floating data in z-direction. It determines the range of indices of those planes in the reference that intersect the floating. This is the range over which to for-loop during metric computation.

Parameters:
clipperA volume clipping object with clipping boundaries and grid orientation set.
originStarting point of the reference volume.
startUpon return, this reference is set to the index of first plane in the reference that intersects the floating.
endUpon return, this reference is set to one plus the index of the last plane in the reference that intersects the floating.
Returns:
1 if there is an intersection of reference and floating, 0 if there isn't. The range of indices returned in "start" and "end" is only guaranteed to be valid if 1 is the return value.

Definition at line 123 of file cmtkImagePairAffineRegistrationFunctional.h.

References cmtk::VolumeClipping::ClipZ().

virtual Types::Coordinate cmtk::ImagePairAffineRegistrationFunctional::GetParamStep ( const size_t  idx,
const Types::Coordinate  mmStep = 1 
) const [inline, virtual]

Return parameter stepping.

Reimplemented from cmtk::Functional.

Definition at line 83 of file cmtkImagePairAffineRegistrationFunctional.h.

virtual void cmtk::ImagePairAffineRegistrationFunctional::GetParamVector ( CoordinateVector v ) [inline, virtual]

Return parameter vector.

Definition at line 77 of file cmtkImagePairAffineRegistrationFunctional.h.

virtual size_t cmtk::ImagePairAffineRegistrationFunctional::ParamVectorDim (  ) const [inline, virtual]

Return the transformation's parameter vector dimension.

Implements cmtk::Functional.

Definition at line 89 of file cmtkImagePairAffineRegistrationFunctional.h.

virtual size_t cmtk::ImagePairAffineRegistrationFunctional::VariableParamVectorDim (  ) const [inline, virtual]

Return the number of variable parameters of the transformation.

Reimplemented from cmtk::Functional.

Definition at line 95 of file cmtkImagePairAffineRegistrationFunctional.h.


Member Data Documentation

Utility object for volume clipping.

Definition at line 105 of file cmtkImagePairAffineRegistrationFunctional.h.

Current coordinate transformation.

Definition at line 102 of file cmtkImagePairAffineRegistrationFunctional.h.


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