General 3D coordinate transformation. More...
#include <cmtkXform.h>
Public Types | |
typedef Xform | Self |
This class. | |
typedef SmartPointer< Self > | SmartPtr |
Smart pointer to this class. | |
typedef SmartConstPointer< Self > | SmartConstPtr |
Smart pointer-to-const for this class. | |
typedef FixedVector < 3, Types::Coordinate > | SpaceVectorType |
Three-dimensional vector type. | |
Public Member Functions | |
Xform (const Xform &other) | |
Copy constructor. | |
Xform () | |
Default constructor. | |
virtual | ~Xform () |
Virtual destructor. | |
virtual bool | InDomain (const Self::SpaceVectorType &) const |
Check whether coordinate is in domain of transformation. | |
virtual Types::Coordinate | GetGlobalScaling () const |
Get global scaling factor. | |
virtual Self::SpaceVectorType | Apply (const Self::SpaceVectorType &) const =0 |
Apply transformation to vector. | |
virtual void | ApplyInPlace (Self::SpaceVectorType &) const =0 |
Apply transformation to vector in-place. | |
virtual bool | ApplyInverse (const Self::SpaceVectorType &, Self::SpaceVectorType &, const Types::Coordinate=0.01) const =0 |
Return origin of warped vector. | |
virtual bool | ApplyInverseInPlace (Self::SpaceVectorType &, const Types::Coordinate=0.01) const =0 |
Return origin of warped vector. | |
virtual bool | ApplyInverseInPlaceWithInitial (Self::SpaceVectorType &v, const Self::SpaceVectorType &, const Types::Coordinate error=0.01) const |
Return origin of warped vector. | |
Self::SmartPtr | Clone () const |
Clone and return smart pointer. | |
virtual size_t | ParamVectorDim () const |
Return number of coefficients in parameter vector. | |
virtual size_t | VariableParamVectorDim () const |
Get number of variable parameters in parameter vector. | |
virtual void | SetParamVector (CoordinateVector &v) |
Set Xform by parameter vector. | |
virtual void | CopyParamVector (const Xform *other) |
Copy parameter vector from other transformation. | |
virtual void | SetParamVector (const CoordinateVector &v) |
Set the parameter vector. | |
virtual void | SetParameter (const size_t idx, const Types::Coordinate p) |
Set a single parameter value. | |
virtual Types::Coordinate | GetParameter (const size_t idx) const |
Get a single parameter value. | |
virtual CoordinateVector & | GetParamVector (CoordinateVector &v, const size_t targetOffset=0) const |
Copy parameter vector to existing vector object. | |
virtual Types::Coordinate | GetParamStep (const size_t, const Self::SpaceVectorType &, const Types::Coordinate step_mm=1) const |
Get parameter step given a transformed volume size. | |
virtual Types::Coordinate | GetJacobianDeterminant (const Self::SpaceVectorType &) const =0 |
Compute Jacobian determinant at a certain location. | |
virtual Types::Coordinate | GetLandmarksMSD (const MatchedLandmarkList *ll) const |
Return registration error for set of source/target landmarks. | |
virtual void | GetVolumeOfInfluence (const size_t idx, const Self::SpaceVectorType &, const Self::SpaceVectorType &, Self::SpaceVectorType &, Self::SpaceVectorType &, const int=-1) const |
Get volume influenced by one parameter. | |
Public Attributes | |
Types::Coordinate * | m_Parameters |
Pointer to warp parameter array. | |
size_t | m_NumberOfParameters |
Total number of parameters, ie. the values in Coefficients. | |
Protected Member Functions | |
void | AllocateParameterVector (const size_t numberOfParameters) |
Allocate parameter vector. | |
virtual Self * | CloneVirtual () const =0 |
Actual virtual clone constructor function. | |
Protected Attributes | |
CoordinateVector::SmartPtr | m_ParameterVector |
Encapsulated representation of the transformation parameters. |
General 3D coordinate transformation.
Definition at line 56 of file cmtkXform.h.
typedef Xform cmtk::Xform::Self |
This class.
Reimplemented in cmtk::AffineXform, cmtk::DeformationField, cmtk::SplineWarpXform, and cmtk::WarpXform.
Definition at line 62 of file cmtkXform.h.
Smart pointer-to-const for this class.
Reimplemented in cmtk::AffineXform, cmtk::SplineWarpXform, and cmtk::WarpXform.
Definition at line 68 of file cmtkXform.h.
typedef SmartPointer<Self> cmtk::Xform::SmartPtr |
Smart pointer to this class.
Reimplemented in cmtk::AffineXform, cmtk::DeformationField, cmtk::SplineWarpXform, and cmtk::WarpXform.
Definition at line 65 of file cmtkXform.h.
Three-dimensional vector type.
Definition at line 71 of file cmtkXform.h.
cmtk::Xform::Xform | ( | const Xform & | other ) | [inline] |
Copy constructor.
Definition at line 80 of file cmtkXform.h.
References cmtk::META_SPACE, and cmtk::AnatomicalOrientationBase::ORIENTATION_STANDARD.
cmtk::Xform::Xform | ( | ) | [inline] |
Default constructor.
Definition at line 90 of file cmtkXform.h.
References cmtk::META_SPACE, and cmtk::AnatomicalOrientationBase::ORIENTATION_STANDARD.
virtual cmtk::Xform::~Xform | ( | ) | [inline, virtual] |
Virtual destructor.
Definition at line 98 of file cmtkXform.h.
virtual Self::SpaceVectorType cmtk::Xform::Apply | ( | const Self::SpaceVectorType & | ) | const [pure virtual] |
Apply transformation to vector.
Implemented in cmtk::AffineXform, and cmtk::WarpXform.
Referenced by cmtk::VolumeInjectionReconstruction::VolumeInjectionAnisotropic().
virtual void cmtk::Xform::ApplyInPlace | ( | Self::SpaceVectorType & | ) | const [pure virtual] |
Apply transformation to vector in-place.
Implemented in cmtk::AffineXform, cmtk::DeformationField, and cmtk::SplineWarpXform.
Referenced by cmtk::WarpXform::GetInverseConsistencyError(), and cmtk::SplineWarpXform::GetInverseConsistencyError().
virtual bool cmtk::Xform::ApplyInverse | ( | const Self::SpaceVectorType & | , |
Self::SpaceVectorType & | , | ||
const Types::Coordinate | = 0.01 |
||
) | const [pure virtual] |
Return origin of warped vector.
Implemented in cmtk::AffineXform, cmtk::DeformationField, and cmtk::SplineWarpXform.
virtual bool cmtk::Xform::ApplyInverseInPlace | ( | Self::SpaceVectorType & | , |
const Types::Coordinate | = 0.01 |
||
) | const [pure virtual] |
Return origin of warped vector.
Implemented in cmtk::AffineXform, cmtk::DeformationField, and cmtk::SplineWarpXform.
virtual bool cmtk::Xform::ApplyInverseInPlaceWithInitial | ( | Self::SpaceVectorType & | v, |
const Self::SpaceVectorType & | , | ||
const Types::Coordinate | error = 0.01 |
||
) | const [inline, virtual] |
Return origin of warped vector.
Reimplemented in cmtk::SplineWarpXform.
Definition at line 122 of file cmtkXform.h.
Self::SmartPtr cmtk::Xform::Clone | ( | ) | const [inline] |
Clone and return smart pointer.
Reimplemented in cmtk::AffineXform, and cmtk::SplineWarpXform.
Definition at line 128 of file cmtkXform.h.
virtual Self* cmtk::Xform::CloneVirtual | ( | ) | const [protected, pure virtual] |
Actual virtual clone constructor function.
Implemented in cmtk::AffineXform, cmtk::DeformationField, and cmtk::SplineWarpXform.
virtual void cmtk::Xform::CopyParamVector | ( | const Xform * | other ) | [inline, virtual] |
Copy parameter vector from other transformation.
THERE ARE NO CHECKS WHETHER THE TWO TRANSFORMATIONS MATCH!!
Definition at line 159 of file cmtkXform.h.
References m_ParameterVector.
virtual Types::Coordinate cmtk::Xform::GetGlobalScaling | ( | ) | const [inline, virtual] |
Get global scaling factor.
Reimplemented in cmtk::AffineXform, and cmtk::WarpXform.
Definition at line 104 of file cmtkXform.h.
virtual Types::Coordinate cmtk::Xform::GetJacobianDeterminant | ( | const Self::SpaceVectorType & | ) | const [pure virtual] |
Compute Jacobian determinant at a certain location.
Implemented in cmtk::AffineXform, cmtk::DeformationField, and cmtk::SplineWarpXform.
virtual Types::Coordinate cmtk::Xform::GetParameter | ( | const size_t | idx ) | const [inline, virtual] |
Get a single parameter value.
Definition at line 175 of file cmtkXform.h.
virtual Types::Coordinate cmtk::Xform::GetParamStep | ( | const | size_t, |
const Self::SpaceVectorType & | , | ||
const Types::Coordinate | step_mm = 1 |
||
) | const [inline, virtual] |
Get parameter step given a transformed volume size.
Reimplemented in cmtk::AffineXform, cmtk::DeformationField, cmtk::SplineWarpXform, and cmtk::WarpXform.
Definition at line 184 of file cmtkXform.h.
virtual bool cmtk::Xform::InDomain | ( | const Self::SpaceVectorType & | ) | const [inline, virtual] |
Check whether coordinate is in domain of transformation.
Reimplemented in cmtk::WarpXform.
Definition at line 101 of file cmtkXform.h.
virtual size_t cmtk::Xform::ParamVectorDim | ( | ) | const [inline, virtual] |
Return number of coefficients in parameter vector.
Reimplemented in cmtk::AffineXform.
Definition at line 134 of file cmtkXform.h.
virtual void cmtk::Xform::SetParameter | ( | const size_t | idx, |
const Types::Coordinate | p | ||
) | [inline, virtual] |
Set a single parameter value.
Reimplemented in cmtk::AffineXform.
Definition at line 169 of file cmtkXform.h.
Referenced by cmtk::AffineXform::SetParameter().
virtual size_t cmtk::Xform::VariableParamVectorDim | ( | ) | const [inline, virtual] |
Get number of variable parameters in parameter vector.
The variable parameters are those that may be modified i.e. for an optimization. They are located at the beginning of the complete parameter vector.
Reimplemented in cmtk::AffineXform.
Definition at line 144 of file cmtkXform.h.
Total number of parameters, ie. the values in Coefficients.
Definition at line 77 of file cmtkXform.h.
Referenced by cmtk::SplineWarpXform::CloneVirtual(), and cmtk::ClassStream::PutWarp().
Pointer to warp parameter array.
Definition at line 74 of file cmtkXform.h.
Referenced by cmtk::AffineXform::CanonicalRotationRange(), cmtk::SplineWarpXform::CloneVirtual(), cmtk::AffineXform::ComposeMatrix(), cmtk::AffineXform::DecomposeMatrix(), cmtk::ParallelElasticFunctional< VM >::EvaluateGradientThread(), cmtk::ImagePairNonrigidRegistrationFunctionalTemplate< VM >::EvaluateGradientThread(), cmtk::SplineWarpXformUniformVolume::GetTransformedGrid(), cmtk::SplineWarpXformUniformVolume::GetTransformedGridRow(), cmtk::AffineXform::MakeInverse(), cmtk::AffineXform::Print(), cmtk::ClassStream::PutWarp(), cmtk::AffineXform::SetNumberDOFs(), and cmtk::AffineXform::SetUseLogScaleFactors().
Encapsulated representation of the transformation parameters.
This vector object contains the parameter array pointed at by the public member Coefficients. The latter is used for more efficient direct access to the parameters where necessary.
Definition at line 207 of file cmtkXform.h.
Referenced by cmtk::AffineXform::AffineXform(), cmtk::SplineWarpXform::CloneVirtual(), CopyParamVector(), cmtk::AffineXform::operator=(), and cmtk::AffineXform::SetParamVector().