FREE::ITKTransformControllerBase< TITKTransform, VDimension > Class Template Reference
[Transformation controller]

Basic controller class for translations based on itk::transform. More...

#include <freITKTransformControllerBase.h>

Inheritance diagram for FREE::ITKTransformControllerBase< TITKTransform, VDimension >:

Inheritance graph
FREE::BSplineDeformableTransformControllerBase\< itk::BSplineDeformableTransform\< double, VDimension, VSplineOrder \>, VDimension \>FREE::BSplineDeformableTransformControllerBase\< 2, 3 \>FREE::BSplineDeformableTransformControllerBase\< 3, 3 \>FREE::CenteredRigid3DTransformController\< itk::CenteredRigid3DTransform\< double \>, 3 \>FREE::ScaleTransformControllerBase\< itk::ScaleTransform\< double, iDimension \>, iDimension \>FREE::ScaleTransformControllerBase\< 2 \>FREE::ScaleTransformControllerBase\< 3 \>FREE::TranslationTransformControllerBase\< itk::TranslationTransform\< double, VDimension \>, VDimension \>FREE::TranslationTransformControllerBase\< 2 \>FREE::TranslationTransformControllerBase\< 3 \>FREE::TransformControllerBase\< TITKTransform, VDimension \>FREE::ComponentControllerBase\< TITKTransform \>FREE::ComponentControllerInterfaceFREE::ITKTransformControllerInterface\< TITKTransform::ScalarType, TITKTransform::InputSpaceDimension, TITKTransform::OutputSpaceDimension \>FREE::BSpline3rdOrder2DTransformControllerFREE::BSpline3rdOrder3DTransformControllerFREE::Scale2DTransformControllerFREE::Scale3DTransformControllerFREE::Translation2DTransformControllerFREE::Translation3DTransformController
[legend]
Collaboration diagram for FREE::ITKTransformControllerBase< TITKTransform, VDimension >:

Collaboration graph
FREE::TransformControllerBase\< TITKTransform, VDimension \>FREE::ComponentControllerBase\< TITKTransform \>FREE::ComponentControllerInterfaceFREE::CtrlProfile::ProfileInheritanceFREE::XMLStringMultiMapFREE::XMLStreamObjectFREE::ITKTransformControllerInterface\< TITKTransform::ScalarType, TITKTransform::InputSpaceDimension, TITKTransform::OutputSpaceDimension \>
[legend]

List of all members.

Public Types

typedef TITKTransform ComponentType
typedef
TransformControllerBase
< ComponentType,
VDimension > 
Superclass
typedef
ITKTransformControllerInterface
< typename
ComponentType::ScalarType,
ComponentType::InputSpaceDimension,
ComponentType::OutputSpaceDimension > 
InterfaceType
typedef
Superclass::GenericComponentType 
GenericComponentType
typedef
Superclass::GenericComponentPointer 
GenericComponentPointer
typedef
InterfaceType::TransformFunctionMediaType 
TransformFunctionMediaType
typedef
InterfaceType::TransformFunctionMediaPointer 
TransformFunctionMediaPointer
typedef
InterfaceType::TransformParametersType 
TransformParametersType

Public Member Functions

virtual const char * GetNameOfClass () const
virtual
GenericComponentPointer 
BuildInverseTransform (GenericComponentType *pTransformComponent) const
virtual
TransformFunctionMediaPointer 
GenerateTransformationFunction (SessionComponentCache *pTransformCache, const TransformParametersType &parameters) const
virtual
TransformFunctionMediaPointer 
GenerateInverseTransformationFunction (SessionComponentCache *pTransformCache, const TransformParametersType &parameters) const

Protected Member Functions

virtual void CopyFixedParameters (ComponentType *pOrigin, ComponentType *pDestination) const
 ITKTransformControllerBase ()


Detailed Description

template<class TITKTransform, unsigned int VDimension>
class FREE::ITKTransformControllerBase< TITKTransform, VDimension >

Basic controller class for translations based on itk::transform.

Definition at line 38 of file freITKTransformControllerBase.h.


Member Typedef Documentation

template<class TITKTransform, unsigned int VDimension>
typedef TITKTransform FREE::ITKTransformControllerBase< TITKTransform, VDimension >::ComponentType

The component class managed by the controller. The component class must be a derivation from itk::LightObject to ensure the ability to use the smartpointer concept of itk

Reimplemented from FREE::TransformControllerBase< TITKTransform, VDimension >.

Reimplemented in FREE::AffineTransformControllerBase< iDimension >, FREE::BSplineDeformableTransformControllerBase< VDimension, VSplineOrder >, FREE::CenteredAffineTransformControllerBase< iDimension >, FREE::CenteredEuler3DTransformController, FREE::CenteredRigid2DTransformController, FREE::CenteredRigid3DTransformController, FREE::Euler3DTransformController, FREE::MatrixOffsetTransformControllerBase< TMatrixOffsetTransform, VDimension >, FREE::Rigid2DTransformController, FREE::ScaleTransformControllerBase< iDimension >, FREE::Similarity2DTransformController, FREE::TranslationTransformControllerBase< VDimension >, FREE::VersorRigid3DTransformController, FREE::VersorTransformController, FREE::AffineTransformControllerBase< 2 >, FREE::AffineTransformControllerBase< 3 >, FREE::BSplineDeformableTransformControllerBase< 2, 3 >, FREE::BSplineDeformableTransformControllerBase< 3, 3 >, FREE::CenteredAffineTransformControllerBase< 2 >, FREE::CenteredAffineTransformControllerBase< 3 >, FREE::MatrixOffsetTransformControllerBase< itk::Similarity2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredAffineTransform< double, iDimension >, iDimension >, FREE::MatrixOffsetTransformControllerBase< itk::AffineTransform< double, iDimension >, iDimension >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredEuler3DTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::Euler3DTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredRigid2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::Rigid2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::VersorTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::VersorRigid3DTransform< double >, 3 >, FREE::ScaleTransformControllerBase< 2 >, FREE::ScaleTransformControllerBase< 3 >, FREE::TranslationTransformControllerBase< 2 >, and FREE::TranslationTransformControllerBase< 3 >.

Definition at line 44 of file freITKTransformControllerBase.h.

template<class TITKTransform, unsigned int VDimension>
typedef TransformControllerBase<ComponentType, VDimension> FREE::ITKTransformControllerBase< TITKTransform, VDimension >::Superclass

Reimplemented from FREE::TransformControllerBase< TITKTransform, VDimension >.

Reimplemented in FREE::AffineTransformControllerBase< iDimension >, FREE::BSplineDeformableTransformControllerBase< VDimension, VSplineOrder >, FREE::CenteredAffineTransformControllerBase< iDimension >, FREE::CenteredEuler3DTransformController, FREE::CenteredRigid2DTransformController, FREE::CenteredRigid3DTransformController, FREE::Euler3DTransformController, FREE::MatrixOffsetTransformControllerBase< TMatrixOffsetTransform, VDimension >, FREE::Rigid2DTransformController, FREE::ScaleTransformControllerBase< iDimension >, FREE::Similarity2DTransformController, FREE::TranslationTransformControllerBase< VDimension >, FREE::VersorRigid3DTransformController, FREE::VersorTransformController, FREE::AffineTransformControllerBase< 2 >, FREE::AffineTransformControllerBase< 3 >, FREE::BSplineDeformableTransformControllerBase< 2, 3 >, FREE::BSplineDeformableTransformControllerBase< 3, 3 >, FREE::CenteredAffineTransformControllerBase< 2 >, FREE::CenteredAffineTransformControllerBase< 3 >, FREE::MatrixOffsetTransformControllerBase< itk::Similarity2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredAffineTransform< double, iDimension >, iDimension >, FREE::MatrixOffsetTransformControllerBase< itk::AffineTransform< double, iDimension >, iDimension >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredEuler3DTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::Euler3DTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredRigid2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::Rigid2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::VersorTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::VersorRigid3DTransform< double >, 3 >, FREE::ScaleTransformControllerBase< 2 >, FREE::ScaleTransformControllerBase< 3 >, FREE::TranslationTransformControllerBase< 2 >, and FREE::TranslationTransformControllerBase< 3 >.

Definition at line 45 of file freITKTransformControllerBase.h.

template<class TITKTransform, unsigned int VDimension>
typedef ITKTransformControllerInterface<typename ComponentType::ScalarType, ComponentType::InputSpaceDimension, ComponentType::OutputSpaceDimension> FREE::ITKTransformControllerBase< TITKTransform, VDimension >::InterfaceType

Definition at line 48 of file freITKTransformControllerBase.h.

template<class TITKTransform, unsigned int VDimension>
typedef Superclass::GenericComponentType FREE::ITKTransformControllerBase< TITKTransform, VDimension >::GenericComponentType

Reimplemented from FREE::ITKTransformControllerInterface< TITKTransform::ScalarType, TITKTransform::InputSpaceDimension, TITKTransform::OutputSpaceDimension >.

Reimplemented in FREE::BSplineDeformableTransformControllerBase< VDimension, VSplineOrder >, FREE::MatrixOffsetTransformControllerBase< TMatrixOffsetTransform, VDimension >, FREE::BSplineDeformableTransformControllerBase< 2, 3 >, FREE::BSplineDeformableTransformControllerBase< 3, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::Similarity2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredAffineTransform< double, iDimension >, iDimension >, FREE::MatrixOffsetTransformControllerBase< itk::AffineTransform< double, iDimension >, iDimension >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredEuler3DTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::Euler3DTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredRigid2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::Rigid2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::VersorTransform< double >, 3 >, and FREE::MatrixOffsetTransformControllerBase< itk::VersorRigid3DTransform< double >, 3 >.

Definition at line 50 of file freITKTransformControllerBase.h.

template<class TITKTransform, unsigned int VDimension>
typedef Superclass::GenericComponentPointer FREE::ITKTransformControllerBase< TITKTransform, VDimension >::GenericComponentPointer

Reimplemented from FREE::ITKTransformControllerInterface< TITKTransform::ScalarType, TITKTransform::InputSpaceDimension, TITKTransform::OutputSpaceDimension >.

Reimplemented in FREE::BSplineDeformableTransformControllerBase< VDimension, VSplineOrder >, FREE::MatrixOffsetTransformControllerBase< TMatrixOffsetTransform, VDimension >, FREE::BSplineDeformableTransformControllerBase< 2, 3 >, FREE::BSplineDeformableTransformControllerBase< 3, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::Similarity2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredAffineTransform< double, iDimension >, iDimension >, FREE::MatrixOffsetTransformControllerBase< itk::AffineTransform< double, iDimension >, iDimension >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredEuler3DTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::Euler3DTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredRigid2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::Rigid2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::VersorTransform< double >, 3 >, and FREE::MatrixOffsetTransformControllerBase< itk::VersorRigid3DTransform< double >, 3 >.

Definition at line 51 of file freITKTransformControllerBase.h.

template<class TITKTransform, unsigned int VDimension>
typedef InterfaceType::TransformFunctionMediaType FREE::ITKTransformControllerBase< TITKTransform, VDimension >::TransformFunctionMediaType

Reimplemented from FREE::ITKTransformControllerInterface< TITKTransform::ScalarType, TITKTransform::InputSpaceDimension, TITKTransform::OutputSpaceDimension >.

Definition at line 53 of file freITKTransformControllerBase.h.

template<class TITKTransform, unsigned int VDimension>
typedef InterfaceType::TransformFunctionMediaPointer FREE::ITKTransformControllerBase< TITKTransform, VDimension >::TransformFunctionMediaPointer

Reimplemented from FREE::ITKTransformControllerInterface< TITKTransform::ScalarType, TITKTransform::InputSpaceDimension, TITKTransform::OutputSpaceDimension >.

Definition at line 54 of file freITKTransformControllerBase.h.

template<class TITKTransform, unsigned int VDimension>
typedef InterfaceType::TransformParametersType FREE::ITKTransformControllerBase< TITKTransform, VDimension >::TransformParametersType

Reimplemented from FREE::ITKTransformControllerInterface< TITKTransform::ScalarType, TITKTransform::InputSpaceDimension, TITKTransform::OutputSpaceDimension >.

Definition at line 55 of file freITKTransformControllerBase.h.


Constructor & Destructor Documentation

template<class TITKTransform, unsigned int VDimension>
FREE::ITKTransformControllerBase< TITKTransform, VDimension >::ITKTransformControllerBase (  )  [inline, protected]

The Constructor of this class is protected, because this class should be used only as ancestor for derived classes

Definition at line 61 of file freITKTransformControllerBase.txx.

References FREE::ComponentControllerInterface::m_Description, and FREE::ComponentControllerInterface::UpdateControllerID().

Here is the call graph for this function:

FREE::ComponentControllerInterface::UpdateControllerIDFREE::CtrlProfile::ProfileInheritance::AddAncestorFREE::XMLStringMultiMap::AddElementFREE::CtrlProfile::ProfileInheritance::IndexOfAncestorFREE::XMLStringMultiMap::SetElementDataFREE::XMLStringMultiMap::GetElementDataFREE::XMLStringMultiMap::Size


Member Function Documentation

template<class TITKTransform, unsigned int VDimension>
virtual const char* FREE::ITKTransformControllerBase< TITKTransform, VDimension >::GetNameOfClass (  )  const [inline, virtual]

Reimplemented from FREE::ITKTransformControllerInterface< TITKTransform::ScalarType, TITKTransform::InputSpaceDimension, TITKTransform::OutputSpaceDimension >.

Reimplemented in FREE::AffineTransformControllerBase< iDimension >, FREE::Affine2DTransformController, FREE::Affine3DTransformController, FREE::BSplineDeformableTransformControllerBase< VDimension, VSplineOrder >, FREE::BSpline3rdOrder2DTransformController, FREE::BSpline3rdOrder3DTransformController, FREE::CenteredAffineTransformControllerBase< iDimension >, FREE::CenteredAffine2DTransformController, FREE::CenteredAffine3DTransformController, FREE::CenteredEuler3DTransformController, FREE::CenteredRigid2DTransformController, FREE::CenteredRigid3DTransformController, FREE::Euler3DTransformController, FREE::MatrixOffsetTransformControllerBase< TMatrixOffsetTransform, VDimension >, FREE::Rigid2DTransformController, FREE::ScaleTransformControllerBase< iDimension >, FREE::Scale2DTransformController, FREE::Scale3DTransformController, FREE::Similarity2DTransformController, FREE::TranslationTransformControllerBase< VDimension >, FREE::Translation2DTransformController, FREE::Translation3DTransformController, FREE::VersorRigid3DTransformController, FREE::VersorTransformController, FREE::AffineTransformControllerBase< 2 >, FREE::AffineTransformControllerBase< 3 >, FREE::BSplineDeformableTransformControllerBase< 2, 3 >, FREE::BSplineDeformableTransformControllerBase< 3, 3 >, FREE::CenteredAffineTransformControllerBase< 2 >, FREE::CenteredAffineTransformControllerBase< 3 >, FREE::MatrixOffsetTransformControllerBase< itk::Similarity2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredAffineTransform< double, iDimension >, iDimension >, FREE::MatrixOffsetTransformControllerBase< itk::AffineTransform< double, iDimension >, iDimension >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredEuler3DTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::Euler3DTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredRigid2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::Rigid2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::VersorTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::VersorRigid3DTransform< double >, 3 >, FREE::ScaleTransformControllerBase< 2 >, FREE::ScaleTransformControllerBase< 3 >, FREE::TranslationTransformControllerBase< 2 >, and FREE::TranslationTransformControllerBase< 3 >.

Definition at line 57 of file freITKTransformControllerBase.h.

template<class TITKTransform, unsigned int VDimension>
ITKTransformControllerBase< TITKTransform, VDimension >::GenericComponentPointer FREE::ITKTransformControllerBase< TITKTransform, VDimension >::BuildInverseTransform ( GenericComponentType pTransformComponent  )  const [inline, virtual]

Creates a transform of the same type and invertes the transform. the inverted transform will be returned.

Parameters:
pTransdormComponent The transform that should be inverted.
Returns:
The inverted transform. If the transform cannot be converted, the return is an empty smartpointer.
Implementation of FREE::ITKTransformControllerBase /////////////////

Definition at line 35 of file freITKTransformControllerBase.txx.

References catchAllNPassMacro, and throwCtrlExceptionMacro.

template<class TITKTransform, unsigned int VDimension>
ITKTransformControllerBase< TITKTransform, VDimension >::TransformFunctionMediaPointer FREE::ITKTransformControllerBase< TITKTransform, VDimension >::GenerateTransformationFunction ( SessionComponentCache pTransformCache,
const TransformParametersType parameters 
) const [inline, virtual]

This Function returns the transformation function which represents a copy of the managed transform. The parameters of the transform are passed with the function. The fixed parameters are copied, if needed, from the managed transform. Therefor the function CopyFixedParameters is called. Reimplement this function, if you want to change the setting of fixed parameters.

Parameters:
[in] pTransformCache Pointer to the cache containing the transform
[in] parameters Transform parameters the transform function should get
Returns:
Pointer to the transformation function

Definition at line 71 of file freITKTransformControllerBase.txx.

References catchAllNPassMacro, FREE::SessionComponentCache::Component(), FREE::SessionComponentCache::ComponentIsAssigned(), FREE::ITKTransformControllerBase< TITKTransform, VDimension >::CopyFixedParameters(), FREE::SessionComponentCache::GetIDPath(), FREE::TransformFunctionMedia< TScalarType, NInputDimensions, NOutputDimensions >::New(), throwCtrlExceptionMacro, and FREE::IDPath::ToStr().

Here is the call graph for this function:

FREE::SessionComponentCache::ComponentFREE::SessionComponentCache::ComponentIsAssignedFREE::ITKTransformControllerBase::CopyFixedParametersFREE::SessionComponentCache::GetIDPathFREE::TransformFunctionMedia::NewFREE::IDPath::ToStrFREE::SessionComponentCache::ControllerIsAssignedFREE::ComponentControllerInterface::GetGenericComponentFREE::ComponentSetup::GetIDPathFREE::SessionComponentCache::SetupFREE::ComponentSetup::HasParentComponentFREE::IDPath::Size

template<class TITKTransform, unsigned int VDimension>
ITKTransformControllerBase< TITKTransform, VDimension >::TransformFunctionMediaPointer FREE::ITKTransformControllerBase< TITKTransform, VDimension >::GenerateInverseTransformationFunction ( SessionComponentCache pTransformCache,
const TransformParametersType parameters 
) const [inline, virtual]

This Function returns the inverse transformation function of the managed transform. The parameters of the transform (*before inversion*) are passed with the function.

Remarks:
The result is NULL if the function cannot be inverted.
Parameters:
[in] pTransformCache Pointer to the cache containing the transform
[in] parameters Transform parameters the transform function should get
Returns:
Pointer to the transformation function

Definition at line 105 of file freITKTransformControllerBase.txx.

References catchAllNPassMacro, FREE::SessionComponentCache::Component(), FREE::SessionComponentCache::ComponentIsAssigned(), FREE::SessionComponentCache::GetIDPath(), FREE::TransformFunctionMedia< TScalarType, NInputDimensions, NOutputDimensions >::New(), throwCtrlExceptionMacro, and FREE::IDPath::ToStr().

Here is the call graph for this function:

FREE::SessionComponentCache::ComponentFREE::SessionComponentCache::ComponentIsAssignedFREE::SessionComponentCache::GetIDPathFREE::TransformFunctionMedia::NewFREE::IDPath::ToStrFREE::SessionComponentCache::ControllerIsAssignedFREE::ComponentControllerInterface::GetGenericComponentFREE::ComponentSetup::GetIDPathFREE::SessionComponentCache::SetupFREE::ComponentSetup::HasParentComponentFREE::IDPath::Size

template<class TITKTransform, unsigned int VDimension>
void FREE::ITKTransformControllerBase< TITKTransform, VDimension >::CopyFixedParameters ( ComponentType pOrigin,
ComponentType pDestination 
) const [inline, protected, virtual]

This Function copies the fixed parameters from one instance of the transform to another. The default implementation is no copying at all, because a lot of transform have no fixed parameters. Setting therefore would cause an exception.

Parameters:
[in] pOrigin Pointer to transform which is source of the fixed parameters
[in,out] pDestination Pointer to the transform that should get the fixed parameters set.

Reimplemented in FREE::MatrixOffsetTransformControllerBase< TMatrixOffsetTransform, VDimension >, FREE::MatrixOffsetTransformControllerBase< itk::Similarity2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredAffineTransform< double, iDimension >, iDimension >, FREE::MatrixOffsetTransformControllerBase< itk::AffineTransform< double, iDimension >, iDimension >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredEuler3DTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::Euler3DTransform< double >, 3 >, FREE::MatrixOffsetTransformControllerBase< itk::CenteredRigid2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::Rigid2DTransform< double >, 2 >, FREE::MatrixOffsetTransformControllerBase< itk::VersorTransform< double >, 3 >, and FREE::MatrixOffsetTransformControllerBase< itk::VersorRigid3DTransform< double >, 3 >.

Definition at line 141 of file freITKTransformControllerBase.txx.

Referenced by FREE::ITKTransformControllerBase< TITKTransform, VDimension >::GenerateTransformationFunction().


The documentation for this class was generated from the following files:
Generated at Sat Oct 13 18:21:46 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000