Base-class for affine registration functionals. More...
#include <cmtkImagePairAffineRegistrationFunctional.h>
Public Types | |
typedef ImagePairAffineRegistrationFunctional | Self |
This class type. | |
typedef ImagePairRegistrationFunctional | 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. | |
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. |
Base-class for affine registration functionals.
Definition at line 62 of file cmtkImagePairAffineRegistrationFunctional.h.
This class type.
Reimplemented from cmtk::ImagePairRegistrationFunctional.
Reimplemented in cmtk::ImagePairAffineRegistrationFunctionalTemplate< VM >.
Definition at line 68 of file cmtkImagePairAffineRegistrationFunctional.h.
Smart pointer to this class.
Reimplemented from cmtk::Functional.
Reimplemented in cmtk::ImagePairAffineRegistrationFunctionalTemplate< VM >.
Definition at line 74 of file cmtkImagePairAffineRegistrationFunctional.h.
Superclass.
Reimplemented from cmtk::ImagePairRegistrationFunctional.
Reimplemented in cmtk::ImagePairAffineRegistrationFunctionalTemplate< VM >.
Definition at line 71 of file cmtkImagePairAffineRegistrationFunctional.h.
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.
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.
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 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.
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 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.
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 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.
Utility object for volume clipping.
Definition at line 105 of file cmtkImagePairAffineRegistrationFunctional.h.
Current coordinate transformation.
Definition at line 102 of file cmtkImagePairAffineRegistrationFunctional.h.