Base-class for affine registration functionals. More...
#include <cmtkVoxelMatchingAffineFunctional.h>
Public Types | |
typedef VoxelMatchingAffineFunctional | Self |
This class type. | |
typedef VoxelMatchingFunctional | Superclass |
Superclass. | |
typedef SmartPointer< Self > | SmartPtr |
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. |
Base-class for affine registration functionals.
Definition at line 61 of file cmtkVoxelMatchingAffineFunctional.h.
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.
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.
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.
clipper | A volume clipping object with clipping boundaries and grid orientation set. |
origin | Starting point of the current row in the reference volume. |
start | Upon return, this reference is set to the index of first voxel in the reference that intersects the floating image. |
end | Upon return, this reference is set to one plus the index of the last voxel in the reference that intersects the floating image. |
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.
clipper | A volume clipping object with clipping boundaries and grid orientation set. |
origin | Starting point of the current plane in the reference volume. |
start | Upon return, this reference is set to the index of first row in the reference that intersects the floating image. |
end | Upon return, this reference is set to one plus the index of the last row in the reference that intersects the floating image. |
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.
clipper | A volume clipping object with clipping boundaries and grid orientation set. |
origin | Starting point of the reference volume. |
start | Upon return, this reference is set to the index of first plane in the reference that intersects the floating. |
end | Upon return, this reference is set to one plus the index of the last plane in the reference that intersects the floating. |
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.
Utility object for volume clipping.
Definition at line 104 of file cmtkVoxelMatchingAffineFunctional.h.
Current coordinate transformation.
Definition at line 101 of file cmtkVoxelMatchingAffineFunctional.h.