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

cmtk::VoxelMatchingAffineFunctional Class Reference
[cmtkRegistration Library]

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

#include <cmtkVoxelMatchingAffineFunctional.h>

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

List of all members.

Public Types

typedef
VoxelMatchingAffineFunctional 
Self
 This class type.
typedef VoxelMatchingFunctional 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.
 VoxelMatchingAffineFunctional (UniformVolume::SmartPtr refVolume, UniformVolume::SmartPtr modVolume, AffineXform::SmartPtr &affineXform)
 Constructor.
virtual ~VoxelMatchingAffineFunctional ()
 Destructor.

Static Public Member Functions

static
VoxelMatchingAffineFunctional
Create (const int metric, UniformVolume::SmartPtr &refVolume, UniformVolume::SmartPtr &modVolume, 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 61 of file cmtkVoxelMatchingAffineFunctional.h.


Member Typedef Documentation

This class type.

Reimplemented from cmtk::VoxelMatchingFunctional.

Reimplemented in cmtk::VoxelMatchingAffineFunctionalTemplate< VM >.

Definition at line 67 of file cmtkVoxelMatchingAffineFunctional.h.

Smart pointer to this class.

Reimplemented from cmtk::Functional.

Reimplemented in cmtk::VoxelMatchingAffineFunctionalTemplate< VM >.

Definition at line 73 of file cmtkVoxelMatchingAffineFunctional.h.

Superclass.

Reimplemented from cmtk::VoxelMatchingFunctional.

Reimplemented in cmtk::VoxelMatchingAffineFunctionalTemplate< VM >.

Definition at line 70 of file cmtkVoxelMatchingAffineFunctional.h.


Constructor & Destructor Documentation

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

Constructor.

Definition at line 245 of file cmtkVoxelMatchingAffineFunctional.h.

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

Destructor.

Definition at line 251 of file cmtkVoxelMatchingAffineFunctional.h.


Member Function Documentation

int cmtk::VoxelMatchingAffineFunctional::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 167 of file cmtkVoxelMatchingAffineFunctional.h.

References cmtk::VolumeClipping::ClipX().

int cmtk::VoxelMatchingAffineFunctional::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 217 of file cmtkVoxelMatchingAffineFunctional.h.

References cmtk::VolumeClipping::ClipY().

int cmtk::VoxelMatchingAffineFunctional::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 122 of file cmtkVoxelMatchingAffineFunctional.h.

References cmtk::VolumeClipping::ClipZ().

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

Return parameter stepping.

Reimplemented from cmtk::Functional.

Definition at line 82 of file cmtkVoxelMatchingAffineFunctional.h.

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

Return parameter vector.

Definition at line 76 of file cmtkVoxelMatchingAffineFunctional.h.

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

Return the transformation's parameter vector dimension.

Implements cmtk::Functional.

Definition at line 88 of file cmtkVoxelMatchingAffineFunctional.h.

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

Return the number of variable parameters of the transformation.

Reimplemented from cmtk::Functional.

Definition at line 94 of file cmtkVoxelMatchingAffineFunctional.h.


Member Data Documentation

Utility object for volume clipping.

Definition at line 104 of file cmtkVoxelMatchingAffineFunctional.h.

Current coordinate transformation.

Definition at line 101 of file cmtkVoxelMatchingAffineFunctional.h.


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