Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::ScaleTransform< TScalarType, NDimensions > Class Template Reference
[Transforms]

Scale transformation of a vector space (e.g. space coordinates). More...

#include <itkScaleTransform.h>

Inheritance diagram for itk::ScaleTransform< TScalarType, NDimensions >:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef ScaleTransform Self
typedef Transform< TScalarType,
NDimensions, NDimensions > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::ScalarType ScalarType
typedef Superclass::ParametersType ParametersType
typedef Superclass::JacobianType JacobianType
typedef FixedArray< TScalarType,
itkGetStaticConstMacro(SpaceDimension) 
ScaleType )
typedef Vector< TScalarType,
itkGetStaticConstMacro(SpaceDimension) 
InputVectorType )
typedef Vector< TScalarType,
itkGetStaticConstMacro(SpaceDimension) 
OutputVectorType )
typedef CovariantVector< TScalarType,
itkGetStaticConstMacro(SpaceDimension) 
InputCovariantVectorType )
typedef CovariantVector< TScalarType,
itkGetStaticConstMacro(SpaceDimension) 
OutputCovariantVectorType )
typedef vnl_vector_fixed<
TScalarType, itkGetStaticConstMacro(SpaceDimension) 
InputVnlVectorType )
typedef vnl_vector_fixed<
TScalarType, itkGetStaticConstMacro(SpaceDimension) 
OutputVnlVectorType )
typedef Point< TScalarType,
itkGetStaticConstMacro(SpaceDimension) 
InputPointType )
typedef Point< TScalarType,
itkGetStaticConstMacro(SpaceDimension) 
OutputPointType )

Public Member Functions

virtual const char * GetNameOfClass () const
void SetParameters (const ParametersType &parameters)
const ParametersTypeGetParameters (void) const
const JacobianTypeGetJacobian (const InputPointType &point) const
void SetScale (const ScaleType &scale)
void Compose (const Self *other, bool pre=false)
void Scale (const ScaleType &scale, bool pre=false)
bool GetInverse (Self *inverse) const
void SetIdentity (void)
virtual const ScaleTypeGetScale ()
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 itkStaticConstMacro (ParametersDimension, unsigned int, NDimensions)
OutputPointType TransformPoint (const InputPointType &point) const
OutputVectorType TransformVector (const InputVectorType &vector) const
OutputVnlVectorType TransformVector (const InputVnlVectorType &vector) const
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &vector) const
InputPointType BackTransform (const OutputPointType &point) const
InputVectorType BackTransform (const OutputVectorType &vector) const
InputVnlVectorType BackTransform (const OutputVnlVectorType &vector) const
InputCovariantVectorType BackTransform (const OutputCovariantVectorType &vector) const
virtual void SetCenter (InputPointType _arg)
virtual const InputPointTypeGetCenter ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

 ScaleTransform ()
 ~ScaleTransform ()
void PrintSelf (std::ostream &os, Indent indent) const

Detailed Description

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

Scale transformation of a vector space (e.g. space coordinates).

The same functionality could be obtained by using the Affine tranform, but with a large difference in performace since the affine transform will use a matrix multiplication using a diagonal matrix.

Definition at line 40 of file itkScaleTransform.h.


Member Typedef Documentation

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef SmartPointer<const Self> itk::ScaleTransform< TScalarType, NDimensions >::ConstPointer
 

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 49 of file itkScaleTransform.h.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::ScaleTransform< TScalarType, NDimensions >::InputCovariantVectorType)
 

Standard covariant vector type for this class.

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 80 of file itkScaleTransform.h.

Referenced by itk::ScaleTransform< TScalarType, NDimensions >::SetScale().

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Point<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::ScaleTransform< TScalarType, NDimensions >::InputPointType)
 

Standard coordinate point type for this class.

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 90 of file itkScaleTransform.h.

Referenced by itk::ScaleTransform< TScalarType, NDimensions >::SetIdentity(), and itk::ScaleTransform< TScalarType, NDimensions >::SetScale().

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Vector<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::ScaleTransform< TScalarType, NDimensions >::InputVectorType)
 

Standard vector type for this class.

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 75 of file itkScaleTransform.h.

Referenced by itk::ScaleTransform< TScalarType, NDimensions >::SetScale().

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::ScaleTransform< TScalarType, NDimensions >::InputVnlVectorType)
 

Standard vnl_vector type for this class.

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 85 of file itkScaleTransform.h.

Referenced by itk::ScaleTransform< TScalarType, NDimensions >::SetScale().

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

Jacobian type.

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 69 of file itkScaleTransform.h.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::ScaleTransform< TScalarType, NDimensions >::OutputCovariantVectorType)
 

Standard covariant vector type for this class.

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 81 of file itkScaleTransform.h.

Referenced by itk::ScaleTransform< TScalarType, NDimensions >::SetScale().

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Point<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::ScaleTransform< TScalarType, NDimensions >::OutputPointType)
 

Standard coordinate point type for this class.

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 91 of file itkScaleTransform.h.

Referenced by itk::ScaleTransform< TScalarType, NDimensions >::SetScale().

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Vector<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::ScaleTransform< TScalarType, NDimensions >::OutputVectorType)
 

Standard vector type for this class.

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 76 of file itkScaleTransform.h.

Referenced by itk::ScaleTransform< TScalarType, NDimensions >::SetScale().

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::ScaleTransform< TScalarType, NDimensions >::OutputVnlVectorType)
 

Standard vnl_vector type for this class.

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 86 of file itkScaleTransform.h.

Referenced by itk::ScaleTransform< TScalarType, NDimensions >::SetScale().

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

Parameters type.

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 66 of file itkScaleTransform.h.

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

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 48 of file itkScaleTransform.h.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::ScalarType itk::ScaleTransform< TScalarType, NDimensions >::ScalarType
 

Scalar type.

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 63 of file itkScaleTransform.h.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef FixedArray<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::ScaleTransform< TScalarType, NDimensions >::ScaleType)
 

Standard vector type for this class.

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 72 of file itkScaleTransform.h.

Referenced by itk::ScaleTransform< TScalarType, NDimensions >::SetIdentity(), and itk::ScaleTransform< TScalarType, NDimensions >::SetScale().

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

Standard class typedefs.

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 46 of file itkScaleTransform.h.

Referenced by itk::ScaleTransform< TScalarType, NDimensions >::SetIdentity(), and itk::ScaleTransform< TScalarType, NDimensions >::SetScale().

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

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

Definition at line 47 of file itkScaleTransform.h.


Constructor & Destructor Documentation

template<class TScalarType = float, unsigned int NDimensions = 3>
itk::ScaleTransform< TScalarType, NDimensions >::ScaleTransform  )  [protected]
 

Construct an ScaleTransform object.

template<class TScalarType = float, unsigned int NDimensions = 3>
itk::ScaleTransform< TScalarType, NDimensions >::~ScaleTransform  )  [protected]
 

Destroy an ScaleTransform object.


Member Function Documentation

template<class TScalarType = float, unsigned int NDimensions = 3>
InputCovariantVectorType itk::ScaleTransform< TScalarType, NDimensions >::BackTransform const OutputCovariantVectorType vector  )  const [inline]
 

Back transform by a scale transformation This method finds the point or vector that maps to a given point or vector under the scale transformation defined by self. If no such point exists, an exception is thrown.

template<class TScalarType = float, unsigned int NDimensions = 3>
InputVnlVectorType itk::ScaleTransform< TScalarType, NDimensions >::BackTransform const OutputVnlVectorType vector  )  const [inline]
 

Back transform by a scale transformation This method finds the point or vector that maps to a given point or vector under the scale transformation defined by self. If no such point exists, an exception is thrown.

template<class TScalarType = float, unsigned int NDimensions = 3>
InputVectorType itk::ScaleTransform< TScalarType, NDimensions >::BackTransform const OutputVectorType vector  )  const [inline]
 

Back transform by a scale transformation This method finds the point or vector that maps to a given point or vector under the scale transformation defined by self. If no such point exists, an exception is thrown.

template<class TScalarType = float, unsigned int NDimensions = 3>
InputPointType itk::ScaleTransform< TScalarType, NDimensions >::BackTransform const OutputPointType point  )  const [inline]
 

Back transform by a scale transformation This method finds the point or vector that maps to a given point or vector under the scale transformation defined by self. If no such point exists, an exception is thrown.

template<class TScalarType = float, unsigned int NDimensions = 3>
void itk::ScaleTransform< TScalarType, NDimensions >::Compose const Self other,
bool  pre = false
 

Compose with another ScaleTransform.

template<class TScalarType = float, unsigned int NDimensions = 3>
virtual const InputPointType& itk::ScaleTransform< TScalarType, NDimensions >::GetCenter  )  [virtual]
 

Set/Get the center used as fixed point for the scaling

template<class TScalarType = float, unsigned int NDimensions = 3>
bool itk::ScaleTransform< TScalarType, NDimensions >::GetInverse Self inverse  )  const
 

Find inverse of a scale transformation This method creates and returns a new ScaleTransform object which is the inverse of self. If self is not invertible, false is returned.

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

template<class TScalarType = float, unsigned int NDimensions = 3>
const JacobianType& itk::ScaleTransform< TScalarType, NDimensions >::GetJacobian const InputPointType point  )  const [virtual]
 

Get the Jacobian matrix.

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

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

Run-time type information (and related methods).

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

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

Get the parameters that uniquely define the transform This is typically used by optimizers during the process of image registration. The parameters are organized as {scale X, scale Y, scale Z } = { parameter[0], parameter[1], parameter[2] } respectively

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

template<class TScalarType = float, unsigned int NDimensions = 3>
virtual const ScaleType& itk::ScaleTransform< TScalarType, NDimensions >::GetScale  )  [virtual]
 

Get access to scale values

template<class TScalarType = float, unsigned int NDimensions = 3>
itk::ScaleTransform< TScalarType, NDimensions >::itkStaticConstMacro ParametersDimension  ,
unsigned  int,
NDimensions 
 

Dimension of the domain space.

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

template<class TScalarType = float, unsigned int NDimensions = 3>
itk::ScaleTransform< TScalarType, NDimensions >::itkStaticConstMacro SpaceDimension  ,
unsigned  int,
NDimensions 
 

Dimension of the domain space.

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

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

New macro for creation of through a smart pointer.

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

template<class TScalarType = float, unsigned int NDimensions = 3>
void itk::ScaleTransform< TScalarType, NDimensions >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Print contents of an ScaleTransform

Reimplemented from itk::Object.

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

template<class TScalarType = float, unsigned int NDimensions = 3>
void itk::ScaleTransform< TScalarType, NDimensions >::Scale const ScaleType scale,
bool  pre = false
 

Compose this transform transformation with another scaling. The pre argument is irrelevant here since scale transforms are commutative, pre and postcomposition are therefore equivalent.

template<class TScalarType = float, unsigned int NDimensions = 3>
virtual void itk::ScaleTransform< TScalarType, NDimensions >::SetCenter InputPointType  _arg  )  [virtual]
 

Set/Get the center used as fixed point for the scaling

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

Set the transformation to an Identity

This sets all the scales to 1.0

Definition at line 159 of file itkScaleTransform.h.

References itk::ScaleTransform< TScalarType, NDimensions >::InputPointType, itk::ScaleTransform< TScalarType, NDimensions >::ScaleType, and itk::ScaleTransform< TScalarType, NDimensions >::Self.

template<class TScalarType = float, unsigned int NDimensions = 3>
void itk::ScaleTransform< TScalarType, NDimensions >::SetParameters const ParametersType parameters  )  [virtual]
 

Set parameters. This method sets the parameters for the transform value specified by the user. The parameters are organized as scale[i] = parameter[i]. That means that in 3D the scale parameters for the coordinates {x,y,z} are {parameter[0], parameter[1], parameter[2]} respectively

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

Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.

template<class TScalarType = float, unsigned int NDimensions = 3>
void itk::ScaleTransform< TScalarType, NDimensions >::SetScale const ScaleType scale  )  [inline]
 

Set the factors of an Scale Transform This method sets the factors of an ScaleTransform to a value specified by the user. This method cannot be done with SetMacro because itk::Array has not an operator== defined. The array of scales correspond in order to the factors to be applied to each one of the coordinaates. For example, in 3D, scale[0] corresponds to X, scale[1] corresponds to Y and scale[2] corresponds to Z.

Definition at line 117 of file itkScaleTransform.h.

References itk::ScaleTransform< TScalarType, NDimensions >::InputCovariantVectorType, itk::ScaleTransform< TScalarType, NDimensions >::InputPointType, itk::ScaleTransform< TScalarType, NDimensions >::InputVectorType, itk::ScaleTransform< TScalarType, NDimensions >::InputVnlVectorType, itk::ScaleTransform< TScalarType, NDimensions >::OutputCovariantVectorType, itk::ScaleTransform< TScalarType, NDimensions >::OutputPointType, itk::ScaleTransform< TScalarType, NDimensions >::OutputVectorType, itk::ScaleTransform< TScalarType, NDimensions >::OutputVnlVectorType, itk::ScaleTransform< TScalarType, NDimensions >::ScaleType, and itk::ScaleTransform< TScalarType, NDimensions >::Self.

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

Transform by a scale transformation This method applies the scale transform given by self to a given point or vector, returning the transformed point or vector.

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

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

Transform by a scale transformation This method applies the scale transform given by self to a given point or vector, returning the transformed point or vector.

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

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

Transform by a scale transformation This method applies the scale transform given by self to a given point or vector, returning the transformed point or vector.

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

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

Transform by a scale transformation This method applies the scale transform given by self to a given point or vector, returning the transformed point or vector.

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


The documentation for this class was generated from the following file:
Generated at Thu May 25 02:15:14 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000