ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
itk::IdentityTransform< TScalarType, NDimensions > Class Template Reference

#include <itkIdentityTransform.h>

+ Inheritance diagram for itk::IdentityTransform< TScalarType, NDimensions >:
+ Collaboration diagram for itk::IdentityTransform< TScalarType, NDimensions >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
InverseTransformBaseType::Pointer 
InverseTransformBasePointer
typedef
Superclass::InverseTransformBaseType 
InverseTransformBaseType
typedef Superclass::JacobianType JacobianType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef TScalarType ScalarType
typedef IdentityTransform Self
typedef Transform< TScalarType,
NDimensions, NDimensions > 
Superclass
typedef Vector< TScalarType,
itkGetStaticConstMacro(InputSpaceDimension)> 
InputVectorType
typedef Vector< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputVectorType
typedef CovariantVector
< TScalarType,
itkGetStaticConstMacro(InputSpaceDimension)> 
InputCovariantVectorType
typedef CovariantVector
< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputCovariantVectorType
typedef vnl_vector_fixed
< TScalarType,
itkGetStaticConstMacro(InputSpaceDimension)> 
InputVnlVectorType
typedef vnl_vector_fixed
< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputVnlVectorType
typedef Point< TScalarType,
itkGetStaticConstMacro(InputSpaceDimension)> 
InputPointType
typedef Point< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputPointType

Public Member Functions

virtual void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &jacobian) const
virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const ParametersTypeGetFixedParameters (void) const
virtual InverseTransformBasePointer GetInverseTransform () const
virtual const char * GetNameOfClass () const
virtual const ParametersTypeGetParameters (void) const
virtual bool IsLinear () const
virtual void SetFixedParameters (const ParametersType &)
void SetIdentity (void)
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
virtual void ComputeJacobianWithRespectToPosition (const InputPointType &, JacobianType &jac) const

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int InputSpaceDimension = NDimensions
static const unsigned int OutputSpaceDimension = NDimensions

Protected Member Functions

virtual ~IdentityTransform ()

Private Member Functions

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

Private Attributes

JacobianType m_IdentityJacobian
virtual void SetParameters (const ParametersType &)
 IdentityTransform ()

Detailed Description

template<class TScalarType, unsigned int NDimensions = 3>
class itk::IdentityTransform< 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 51 of file itkIdentityTransform.h.


Member Typedef Documentation

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

Standard covariant vector type for this class

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

Definition at line 89 of file itkIdentityTransform.h.

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

Standard coordinate point type for this class

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

Definition at line 103 of file itkIdentityTransform.h.

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

Standard vector type for this class.

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

Definition at line 82 of file itkIdentityTransform.h.

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

Standard vnl_vector type for this class.

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

Definition at line 96 of file itkIdentityTransform.h.

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

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

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

Definition at line 110 of file itkIdentityTransform.h.

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

Type of the Jacobian matrix.

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

Definition at line 78 of file itkIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(OutputSpaceDimension)> itk::IdentityTransform< TScalarType, NDimensions >::OutputCovariantVectorType

Standard covariant vector type for this class

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

Definition at line 91 of file itkIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef Point<TScalarType, itkGetStaticConstMacro(OutputSpaceDimension)> itk::IdentityTransform< TScalarType, NDimensions >::OutputPointType

Standard coordinate point type for this class

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

Definition at line 105 of file itkIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef Vector<TScalarType, itkGetStaticConstMacro(OutputSpaceDimension)> itk::IdentityTransform< TScalarType, NDimensions >::OutputVectorType

Standard vector type for this class.

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

Definition at line 84 of file itkIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(OutputSpaceDimension)> itk::IdentityTransform< TScalarType, NDimensions >::OutputVnlVectorType

Standard vnl_vector type for this class.

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

Definition at line 98 of file itkIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef Superclass::ParametersType itk::IdentityTransform< TScalarType, NDimensions >::ParametersType

Type of the input parameters.

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

Definition at line 75 of file itkIdentityTransform.h.

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

Type of the input parameters.

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

Definition at line 72 of file itkIdentityTransform.h.

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

Standard class typedefs.

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

Definition at line 55 of file itkIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef Transform<TScalarType, NDimensions, NDimensions> itk::IdentityTransform< TScalarType, NDimensions >::Superclass

Constructor & Destructor Documentation

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

Set the fixed parameters and update internal transformation.

Definition at line 237 of file itkIdentityTransform.h.

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

Definition at line 246 of file itkIdentityTransform.h.

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

Member Function Documentation

template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::IdentityTransform< TScalarType, NDimensions >::ComputeJacobianWithRespectToParameters ( const InputPointType ,
JacobianType jacobian 
) 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 176 of file itkIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::IdentityTransform< TScalarType, NDimensions >::ComputeJacobianWithRespectToPosition ( const InputPointType ,
JacobianType jac 
) const [inline, virtual]

Get the jacobian with respect to position, which simply is an identity jacobian because the transform is position-invariant. jac will be resized as needed, but it will be more efficient if it is already properly sized.

Definition at line 186 of file itkIdentityTransform.h.

References itk::FixedArray< TValueType, VLength >::Fill().

template<class TScalarType , unsigned int NDimensions = 3>
virtual::itk::LightObject::Pointer itk::IdentityTransform< TScalarType, NDimensions >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

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

Get the Fixed Parameters.

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

Definition at line 216 of file itkIdentityTransform.h.

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

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

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

Definition at line 200 of file itkIdentityTransform.h.

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

Run-time type information (and related methods).

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

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

Get the Parameters.

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

Definition at line 227 of file itkIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual bool itk::IdentityTransform< TScalarType, NDimensions >::IsLinear ( ) 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) \]

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

Definition at line 210 of file itkIdentityTransform.h.

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

New method for creating an object using a factory.

Reimplemented from itk::Object.

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

Mutex lock to protect modification to the reference count

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

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

Set the fixed parameters and update internal transformation.

Definition at line 222 of file itkIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
void itk::IdentityTransform< 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 144 of file itkIdentityTransform.h.

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

Set the fixed parameters and update internal transformation.

Definition at line 233 of file itkIdentityTransform.h.

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

Method to transform a CovariantVector.

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

Definition at line 134 of file itkIdentityTransform.h.

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

Method to transform a point.

Definition at line 114 of file itkIdentityTransform.h.

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

Definition at line 121 of file itkIdentityTransform.h.

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

Method to transform a vnl_vector.

Definition at line 127 of file itkIdentityTransform.h.


Member Data Documentation

template<class TScalarType , unsigned int NDimensions = 3>
const unsigned int itk::IdentityTransform< TScalarType, NDimensions >::InputSpaceDimension = NDimensions [static]

Dimension of the domain space.

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

Definition at line 67 of file itkIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
JacobianType itk::IdentityTransform< TScalarType, NDimensions >::m_IdentityJacobian [private]

Definition at line 253 of file itkIdentityTransform.h.

template<class TScalarType , unsigned int NDimensions = 3>
const unsigned int itk::IdentityTransform< TScalarType, NDimensions >::OutputSpaceDimension = NDimensions [static]

Dimension of the domain space.

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

Definition at line 68 of file itkIdentityTransform.h.


The documentation for this class was generated from the following file: