go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
itk::AdvancedIdentityTransform< TScalarType, NDimensions > Class Template Reference

#include <itkAdvancedIdentityTransform.h>

Inheritance diagram for itk::AdvancedIdentityTransform< TScalarType, NDimensions >:
Inheritance graph
[legend]
Collaboration diagram for itk::AdvancedIdentityTransform< TScalarType, NDimensions >:
Collaboration graph
[legend]

Public Types

typedef SmartPointer< const SelfConstPointer
typedef CovariantVector
< TScalarType,
itkGetStaticConstMacro(InputSpaceDimension)> 
InputCovariantVectorType
typedef Point< TScalarType,
itkGetStaticConstMacro(InputSpaceDimension)> 
InputPointType
typedef Vector< TScalarType,
itkGetStaticConstMacro(InputSpaceDimension)> 
InputVectorType
typedef vnl_vector_fixed
< TScalarType,
itkGetStaticConstMacro(InputSpaceDimension)> 
InputVnlVectorType
typedef
Superclass::InternalMatrixType 
InternalMatrixType
typedef
InverseTransformBaseType::Pointer 
InverseTransformBasePointer
typedef
Superclass::InverseTransformBaseType 
InverseTransformBaseType
typedef
Superclass::JacobianOfSpatialHessianType 
JacobianOfSpatialHessianType
typedef
Superclass::JacobianOfSpatialJacobianType 
JacobianOfSpatialJacobianType
typedef Superclass::JacobianType JacobianType
typedef
Superclass::NonZeroJacobianIndicesType 
NonZeroJacobianIndicesType
typedef CovariantVector
< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputCovariantVectorType
typedef Point< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputPointType
typedef Vector< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputVectorType
typedef vnl_vector_fixed
< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputVnlVectorType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef TScalarType ScalarType
typedef AdvancedIdentityTransform Self
typedef
Superclass::SpatialHessianType 
SpatialHessianType
typedef
Superclass::SpatialJacobianType 
SpatialJacobianType
typedef AdvancedTransform
< TScalarType, NDimensions,
NDimensions > 
Superclass

Public Member Functions

virtual const char * GetClassName () const
virtual const ParametersTypeGetFixedParameters (void) const
virtual InverseTransformBasePointer GetInverseTransform (void) const
virtual const JacobianTypeGetJacobian (const InputPointType &) const
virtual void GetJacobian (const InputPointType &, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
virtual void GetJacobianOfSpatialHessian (const InputPointType &, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
virtual void GetJacobianOfSpatialHessian (const InputPointType &, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
virtual void GetJacobianOfSpatialJacobian (const InputPointType &, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
virtual void GetJacobianOfSpatialJacobian (const InputPointType &, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
virtual const ParametersTypeGetParameters (void) const
virtual void GetSpatialHessian (const InputPointType &, SpatialHessianType &sh) const
virtual void GetSpatialJacobian (const InputPointType &, SpatialJacobianType &sj) const
virtual bool IsLinear () const
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NDimensions)
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NDimensions)
 itkStaticConstMacro (ParametersDimension, unsigned int, 1)
virtual void SetFixedParameters (const ParametersType &)
void SetIdentity (void)
virtual void SetParameters (const ParametersType &)
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &vector) const
virtual OutputPointType TransformPoint (const InputPointType &point) const
virtual OutputVectorType TransformVector (const InputVectorType &vector) const
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &vector) const

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 AdvancedIdentityTransform ()
virtual ~AdvancedIdentityTransform ()

Private Member Functions

 AdvancedIdentityTransform (const Self &)
void operator= (const Self &)

Private Attributes

JacobianOfSpatialHessianType m_JacobianOfSpatialHessian
JacobianOfSpatialJacobianType m_JacobianOfSpatialJacobian
NonZeroJacobianIndicesType m_NonZeroJacobianIndices
SpatialHessianType m_SpatialHessian
SpatialJacobianType m_SpatialJacobian

Detailed Description

template<class TScalarType, unsigned int NDimensions = 3>
class itk::AdvancedIdentityTransform< TScalarType, NDimensions >

Implementation of an Identity Transform.

This class defines the generic interface for an Identity Transform.

It will map every point to itself, every vector to itself and every covariant vector to itself.

This class is intended to be used primarily as a default Transform for initializing those classes supporting a generic Transform.

This class is templated over the Representation type for coordinates (that is the type used for representing the components of points and vectors) and over the dimension of the space. In this case the Input and Output spaces are the same so only one dimension is required.

Definition at line 56 of file itkAdvancedIdentityTransform.h.


Member Typedef Documentation

template<class TScalarType , unsigned int NDimensions = 3>
typedef SmartPointer< const Self > itk::AdvancedIdentityTransform< TScalarType, NDimensions >::ConstPointer
template<class TScalarType , unsigned int NDimensions = 3>
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(InputSpaceDimension)> itk::AdvancedIdentityTransform< TScalarType, NDimensions >::InputCovariantVectorType

Standard covariant vector type for this class

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 95 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef Point<TScalarType, itkGetStaticConstMacro(InputSpaceDimension)> itk::AdvancedIdentityTransform< TScalarType, NDimensions >::InputPointType

Standard coordinate point type for this class

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 107 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef Vector<TScalarType, itkGetStaticConstMacro(InputSpaceDimension)> itk::AdvancedIdentityTransform< TScalarType, NDimensions >::InputVectorType

Standard vector type for this class.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 89 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(InputSpaceDimension)> itk::AdvancedIdentityTransform< TScalarType, NDimensions >::InputVnlVectorType

Standard vnl_vector type for this class.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 101 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef Superclass::InternalMatrixType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::InternalMatrixType
template<class TScalarType , unsigned int NDimensions = 3>
typedef InverseTransformBaseType::Pointer itk::AdvancedIdentityTransform< TScalarType, NDimensions >::InverseTransformBasePointer

Definition at line 114 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef Superclass::InverseTransformBaseType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::InverseTransformBaseType

Base inverse transform type. This type should not be changed to the concrete inverse transform type or inheritance would be lost.

Definition at line 113 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef Superclass ::JacobianOfSpatialHessianType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::JacobianOfSpatialHessianType
template<class TScalarType , unsigned int NDimensions = 3>
typedef Superclass ::JacobianOfSpatialJacobianType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::JacobianOfSpatialJacobianType
template<class TScalarType , unsigned int NDimensions = 3>
typedef Superclass::JacobianType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::JacobianType

Type of the Jacobian matrix.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 85 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef Superclass ::NonZeroJacobianIndicesType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::NonZeroJacobianIndicesType
template<class TScalarType , unsigned int NDimensions = 3>
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(OutputSpaceDimension)> itk::AdvancedIdentityTransform< TScalarType, NDimensions >::OutputCovariantVectorType
template<class TScalarType , unsigned int NDimensions = 3>
typedef Point<TScalarType, itkGetStaticConstMacro(OutputSpaceDimension)> itk::AdvancedIdentityTransform< TScalarType, NDimensions >::OutputPointType
template<class TScalarType , unsigned int NDimensions = 3>
typedef Vector<TScalarType, itkGetStaticConstMacro(OutputSpaceDimension)> itk::AdvancedIdentityTransform< TScalarType, NDimensions >::OutputVectorType
template<class TScalarType , unsigned int NDimensions = 3>
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(OutputSpaceDimension)> itk::AdvancedIdentityTransform< TScalarType, NDimensions >::OutputVnlVectorType
template<class TScalarType , unsigned int NDimensions = 3>
typedef Superclass::ParametersType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::ParametersType

Type of the input parameters.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 82 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef SmartPointer< Self > itk::AdvancedIdentityTransform< TScalarType, NDimensions >::Pointer
template<class TScalarType , unsigned int NDimensions = 3>
typedef TScalarType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::ScalarType

Type of the input parameters.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 79 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef AdvancedIdentityTransform itk::AdvancedIdentityTransform< TScalarType, NDimensions >::Self

Standard class typedefs.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 61 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef Superclass::SpatialHessianType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::SpatialHessianType
template<class TScalarType , unsigned int NDimensions = 3>
typedef Superclass::SpatialJacobianType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::SpatialJacobianType
template<class TScalarType , unsigned int NDimensions = 3>
typedef AdvancedTransform< TScalarType,NDimensions,NDimensions> itk::AdvancedIdentityTransform< TScalarType, NDimensions >::Superclass

Constructor & Destructor Documentation

template<class TScalarType , unsigned int NDimensions = 3>
itk::AdvancedIdentityTransform< TScalarType, NDimensions >::AdvancedIdentityTransform ( ) [inline, protected]

Definition at line 288 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual itk::AdvancedIdentityTransform< TScalarType, NDimensions >::~AdvancedIdentityTransform ( ) [inline, protected, virtual]

Definition at line 313 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
itk::AdvancedIdentityTransform< TScalarType, NDimensions >::AdvancedIdentityTransform ( const Self ) [private]

Member Function Documentation

template<class TScalarType , unsigned int NDimensions = 3>
virtual const char* itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetClassName ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

template<class TScalarType , unsigned int NDimensions = 3>
virtual const ParametersType& itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetFixedParameters ( void  ) const [inline, virtual]

Get the Fixed Parameters.

Definition at line 197 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual InverseTransformBasePointer itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetInverseTransform ( void  ) const [inline, virtual]

Return an inverse of the identity transform - another identity transform.

Definition at line 184 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual const JacobianType& itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetJacobian ( const InputPointType ) const [inline, virtual]

Compute the Jacobian of the transformation

This method computes the Jacobian matrix of the transformation. given point or vector, returning the transformed point or vector. The rank of the Jacobian will also indicate if the transform is invertible at this point.

The Jacobian can be expressed as a set of partial derivatives of the output point components with respect to the parameters that defined the transform:

\[ J=\left[ \begin{array}{cccc} \frac{\partial x_{1}}{\partial p_{1}} & \frac{\partial x_{2}}{\partial p_{1}} & \cdots & \frac{\partial x_{n}}{\partial p_{1}}\\ \frac{\partial x_{1}}{\partial p_{2}} & \frac{\partial x_{2}}{\partial p_{2}} & \cdots & \frac{\partial x_{n}}{\partial p_{2}}\\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial x_{1}}{\partial p_{m}} & \frac{\partial x_{2}}{\partial p_{m}} & \cdots & \frac{\partial x_{n}}{\partial p_{m}} \end{array}\right] \]

Definition at line 178 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetJacobian ( const InputPointType ,
JacobianType j,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const [inline, virtual]

Compute the Jacobian of the transformation.

Definition at line 215 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessian ( const InputPointType ,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const [inline, virtual]

Compute the Jacobian of the spatial Hessian of the transformation.

Definition at line 264 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessian ( const InputPointType ,
SpatialHessianType sh,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const [inline, virtual]

Compute both the spatial Hessian and the Jacobian of the spatial Hessian of the transformation.

Definition at line 276 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobian ( const InputPointType ,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const [inline, virtual]

Compute the Jacobian of the spatial Jacobian of the transformation.

Definition at line 242 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobian ( const InputPointType ,
SpatialJacobianType sj,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const [inline, virtual]

Compute the Jacobian of the spatial Jacobian of the transformation.

Definition at line 252 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual const ParametersType& itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetParameters ( void  ) const [inline, virtual]

Get the Parameters.

Definition at line 206 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetSpatialHessian ( const InputPointType ,
SpatialHessianType sh 
) const [inline, virtual]

Compute the spatial Hessian of the transformation.

Definition at line 234 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetSpatialJacobian ( const InputPointType ,
SpatialJacobianType sj 
) const [inline, virtual]

Compute the spatial Jacobian of the transformation.

Definition at line 226 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual bool itk::AdvancedIdentityTransform< TScalarType, NDimensions >::IsLinear ( void  ) const [inline, virtual]

Indicates that this transform is linear. That is, given two points P and Q, and scalar coefficients a and b, then

T( a*P + b*Q ) = a * T(P) + b * T(Q)

Definition at line 194 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
itk::AdvancedIdentityTransform< TScalarType, NDimensions >::itkStaticConstMacro ( InputSpaceDimension  ,
unsigned  int,
NDimensions   
)

Dimension of the domain space.

template<class TScalarType , unsigned int NDimensions = 3>
itk::AdvancedIdentityTransform< TScalarType, NDimensions >::itkStaticConstMacro ( OutputSpaceDimension  ,
unsigned  int,
NDimensions   
)
template<class TScalarType , unsigned int NDimensions = 3>
itk::AdvancedIdentityTransform< TScalarType, NDimensions >::itkStaticConstMacro ( ParametersDimension  ,
unsigned  int,
 
)
template<class TScalarType , unsigned int NDimensions = 3>
static Pointer itk::AdvancedIdentityTransform< TScalarType, NDimensions >::New ( ) [static]

New method for creating an object using a factory.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

template<class TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::operator= ( const Self ) [private]
template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::SetFixedParameters ( const ParametersType ) [inline, virtual]

Set the fixed parameters and update internal transformation.

Definition at line 203 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::SetIdentity ( void  ) [inline]

Set the transformation to an Identity

This is a NULL operation in the case of this particular transform. The method is provided only to comply with the interface of other transforms.

Definition at line 148 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::SetParameters ( const ParametersType ) [inline, virtual]

Set the fixed parameters and update internal transformation.

Definition at line 212 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual OutputCovariantVectorType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::TransformCovariantVector ( const InputCovariantVectorType vector) const [inline, virtual]

Method to transform a CovariantVector.

Definition at line 140 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual OutputPointType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::TransformPoint ( const InputPointType point) const [inline, virtual]

Method to transform a point.

Definition at line 128 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual OutputVectorType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::TransformVector ( const InputVectorType vector) const [inline, virtual]

Method to transform a vector.

Definition at line 132 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual OutputVnlVectorType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::TransformVector ( const InputVnlVectorType vector) const [inline, virtual]

Method to transform a vnl_vector.

Definition at line 136 of file itkAdvancedIdentityTransform.h.


Field Documentation

template<class TScalarType , unsigned int NDimensions = 3>
JacobianOfSpatialHessianType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::m_JacobianOfSpatialHessian [private]

Definition at line 323 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
JacobianOfSpatialJacobianType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::m_JacobianOfSpatialJacobian [private]

Definition at line 322 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
NonZeroJacobianIndicesType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::m_NonZeroJacobianIndices [private]

Definition at line 321 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
SpatialHessianType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::m_SpatialHessian [private]

Definition at line 320 of file itkAdvancedIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
SpatialJacobianType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::m_SpatialJacobian [private]

Definition at line 319 of file itkAdvancedIdentityTransform.h.



Generated on 11-05-2012 for elastix by doxygen 1.7.6.1 elastix logo