ITK  4.2.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 Types inherited from itk::Transform< TScalarType, NDimensions, NDimensions >
typedef Array
< ParametersValueType
DerivativeType
typedef Matrix< double,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
DirectionChangeMatrix
typedef DiffusionTensor3D
< TScalarType > 
InputDiffusionTensor3DType
typedef Matrix< double,
itkGetStaticConstMacro(InputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
InputDirectionMatrix
typedef
SymmetricSecondRankTensor
< TScalarType,
NInputDimensions > 
InputSymmetricSecondRankTensorType
typedef VariableLengthVector
< TScalarType > 
InputVectorPixelType
typedef Matrix< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
MatrixType
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
typedef DiffusionTensor3D
< TScalarType > 
OutputDiffusionTensor3DType
typedef Matrix< double,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputDirectionMatrix
typedef
SymmetricSecondRankTensor
< TScalarType,
NOutputDimensions > 
OutputSymmetricSecondRankTensorType
typedef VariableLengthVector
< TScalarType > 
OutputVectorPixelType
typedef
Superclass::ParametersValueType 
ParametersValueType
- Public Types inherited from itk::TransformBase
- Public Types inherited from itk::Object
- Public Types inherited from itk::LightObject

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
- Public Member Functions inherited from itk::Transform< TScalarType, NDimensions, NDimensions >
virtual void ComputeInverseJacobianWithRespectToPosition (const InputPointType &x, JacobianType &jacobian) const
virtual void ComputeJacobianWithRespectToPosition (const InputPointType &, JacobianType &) const
unsigned int GetInputSpaceDimension (void) const
bool GetInverse (Self *) const
virtual NumberOfParametersType GetNumberOfLocalParameters (void) const
virtual NumberOfParametersType GetNumberOfParameters (void) const
unsigned int GetOutputSpaceDimension (void) const
virtual std::string GetTransformTypeAsString () const
virtual bool HasLocalSupport () const
 itkCloneMacro (Self)
virtual void SetFixedParameters (const ParametersType &)=0
virtual void SetParameters (const ParametersType &)=0
virtual void SetParametersByValue (const ParametersType &p)
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &vector, const InputPointType &point) const
virtual OutputVectorPixelType TransformCovariantVector (const InputVectorPixelType &) const
virtual OutputVectorPixelType TransformCovariantVector (const InputVectorPixelType &vector, const InputPointType &point) const
virtual OutputDiffusionTensor3DType TransformDiffusionTensor3D (const InputDiffusionTensor3DType &) const
virtual OutputDiffusionTensor3DType TransformDiffusionTensor3D (const InputDiffusionTensor3DType &tensor, const InputPointType &point) const
virtual OutputVectorPixelType TransformDiffusionTensor3D (const InputVectorPixelType &) const
virtual OutputVectorPixelType TransformDiffusionTensor3D (const InputVectorPixelType &tensor, const InputPointType &point) const
virtual OutputPointType TransformPoint (const InputPointType &) const =0
virtual
OutputSymmetricSecondRankTensorType 
TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &tensor, const InputPointType &point) const
virtual
OutputSymmetricSecondRankTensorType 
TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &) const
virtual OutputVectorPixelType TransformSymmetricSecondRankTensor (const InputVectorPixelType &) const
virtual OutputVectorPixelType TransformSymmetricSecondRankTensor (const InputVectorPixelType &tensor, const InputPointType &point) const
virtual OutputVectorType TransformVector (const InputVectorType &) const
virtual OutputVectorType TransformVector (const InputVectorType &vector, const InputPointType &point) const
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &vector, const InputPointType &point) const
virtual OutputVectorPixelType TransformVector (const InputVectorPixelType &) const
virtual OutputVectorPixelType TransformVector (const InputVectorPixelType &vector, const InputPointType &point) const
virtual void UpdateTransformParameters (const DerivativeType &update, TScalarType factor=1.0)
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int InputSpaceDimension = NDimensions
static const unsigned int OutputSpaceDimension = NDimensions
- Static Public Attributes inherited from itk::Transform< TScalarType, NDimensions, NDimensions >

Protected Member Functions

virtual ~IdentityTransform ()
- Protected Member Functions inherited from itk::Transform< TScalarType, NDimensions, NDimensions >
virtual LightObject::Pointer InternalClone () const
OutputDiffusionTensor3DType PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType, const JacobianType) const
 Transform ()
 Transform (NumberOfParametersType NumberOfParameters)
virtual ~Transform ()
- Protected Member Functions inherited from itk::TransformBase
 TransformBase ()
virtual ~TransformBase ()
- Protected Member Functions inherited from itk::Object
 Object ()
bool PrintObservers (std::ostream &os, Indent indent) const
virtual void PrintSelf (std::ostream &os, Indent indent) const
virtual void SetTimeStamp (const TimeStamp &time)
virtual ~Object ()
- Protected Member Functions inherited from itk::LightObject
 LightObject ()
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const
virtual ~LightObject ()

Private Member Functions

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

Private Attributes

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

Additional Inherited Members

- Protected Attributes inherited from itk::Transform< TScalarType, NDimensions, NDimensions >
DirectionChangeMatrix m_DirectionChange
ParametersType m_FixedParameters
ParametersType m_Parameters

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 ( )
inlineprotected

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 ( )
inlineprotectedvirtual

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
inlinevirtual

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
inlinevirtual

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
inlinevirtual

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
inlinevirtual

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
inlinevirtual

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
inlinevirtual

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 )
inlinevirtual

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 )
inlinevirtual

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
inlinevirtual

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
inlinevirtual

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
inlinevirtual

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
inlinevirtual

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: