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::ScaleVersor3DTransform< TScalarType > Class Template Reference

#include <itkScaleVersor3DTransform.h>

+ Inheritance diagram for itk::ScaleVersor3DTransform< TScalarType >:
+ Collaboration diagram for itk::ScaleVersor3DTransform< TScalarType >:

List of all members.

Public Types

typedef Superclass::AngleType AngleType
typedef Superclass::AxisType AxisType
typedef Superclass::CenterType CenterType
typedef SmartPointer< const SelfConstPointer
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
typedef Superclass::InputPointType InputPointType
typedef Superclass::InputVectorType InputVectorType
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
typedef
Superclass::InverseMatrixType 
InverseMatrixType
typedef Superclass::JacobianType JacobianType
typedef Superclass::MatrixType MatrixType
typedef Superclass::OffsetType OffsetType
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
typedef Superclass::OutputPointType OutputPointType
typedef
Superclass::OutputVectorType 
OutputVectorType
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef Superclass::ScalarType ScalarType
typedef Vector< TScalarType, 3 > ScaleVectorType
typedef ScaleVersor3DTransform Self
typedef VersorRigid3DTransform
< TScalarType > 
Superclass
typedef Superclass::TranslationType TranslationType
typedef Superclass::VersorType VersorType

Public Member Functions

virtual void ComputeJacobianWithRespectToParameters (const InputPointType &p, JacobianType &jacobian) const
virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
virtual const ParametersTypeGetParameters (void) const
virtual const ScaleVectorTypeGetScale ()
void SetIdentity ()
virtual void SetMatrix (const MatrixType &matrix)
virtual void SetParameters (const ParametersType &parameters)
void SetScale (const ScaleVectorType &scale)

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int InputSpaceDimension = 3
static const unsigned int OutputSpaceDimension = 3
static const unsigned int ParametersDimension = 9

Protected Member Functions

void ComputeMatrix (void)
void ComputeMatrixParameters (void)
void PrintSelf (std::ostream &os, Indent indent) const
 ScaleVersor3DTransform ()
 ScaleVersor3DTransform (const MatrixType &matrix, const OutputVectorType &offset)
 ScaleVersor3DTransform (unsigned int paramDims)
void SetVarScale (const ScaleVectorType &scale)
 ~ScaleVersor3DTransform ()

Private Member Functions

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

Private Attributes

ScaleVectorType m_Scale

Detailed Description

template<class TScalarType = double>
class itk::ScaleVersor3DTransform< TScalarType >

This transform applies a Versor rotation, translation and anisotropic scale to the space.

This Transform provides the next set of degrees of freedom after a Similarity transform. In a Similarity transform it is possible to do rotation, translation and uniform scaling. In this current transform we can do rotation, translation and anisotropic scaling.

Author:
Johnson H.J., Harris G., Williams K. University of Iowa Carver College of Medicine, Department of Psychiatry NeuroImaging Center

This implementation was taken from the Insight Journal paper: http://hdl.handle.net/1926/1291 or http://www.insight-journal.org/browse/publication/180

Definition at line 46 of file itkScaleVersor3DTransform.h.


Member Typedef Documentation

template<class TScalarType = double>
typedef Superclass::AngleType itk::ScaleVersor3DTransform< TScalarType >::AngleType

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 87 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::AxisType itk::ScaleVersor3DTransform< TScalarType >::AxisType

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 86 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::CenterType itk::ScaleVersor3DTransform< TScalarType >::CenterType

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 81 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef SmartPointer<const Self> itk::ScaleVersor3DTransform< TScalarType >::ConstPointer

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 53 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::InputCovariantVectorType itk::ScaleVersor3DTransform< TScalarType >::InputCovariantVectorType

Standard covariant vector type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 77 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::InputPointType itk::ScaleVersor3DTransform< TScalarType >::InputPointType

Standard coordinate point type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 71 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::InputVectorType itk::ScaleVersor3DTransform< TScalarType >::InputVectorType

Standard vector type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 73 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::InputVnlVectorType itk::ScaleVersor3DTransform< TScalarType >::InputVnlVectorType

Standard vnl_vector type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 75 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::InverseMatrixType itk::ScaleVersor3DTransform< TScalarType >::InverseMatrixType

Standard inverse matrix type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 80 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::JacobianType itk::ScaleVersor3DTransform< TScalarType >::JacobianType

Jacobian Type

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 69 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::MatrixType itk::ScaleVersor3DTransform< TScalarType >::MatrixType

Standard matrix type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 79 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::OffsetType itk::ScaleVersor3DTransform< TScalarType >::OffsetType

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 82 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::OutputCovariantVectorType itk::ScaleVersor3DTransform< TScalarType >::OutputCovariantVectorType

Standard covariant vector type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 78 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::OutputPointType itk::ScaleVersor3DTransform< TScalarType >::OutputPointType

Standard coordinate point type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 72 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::OutputVectorType itk::ScaleVersor3DTransform< TScalarType >::OutputVectorType

Standard vector type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 74 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::OutputVnlVectorType itk::ScaleVersor3DTransform< TScalarType >::OutputVnlVectorType

Standard vnl_vector type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 76 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::ParametersType itk::ScaleVersor3DTransform< TScalarType >::ParametersType

Parameters Type

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 68 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef SmartPointer<Self> itk::ScaleVersor3DTransform< TScalarType >::Pointer

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 52 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::ScalarType itk::ScaleVersor3DTransform< TScalarType >::ScalarType

Standard scalar type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 70 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Vector<TScalarType, 3> itk::ScaleVersor3DTransform< TScalarType >::ScaleVectorType

Scale Vector Type.

Definition at line 90 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef ScaleVersor3DTransform itk::ScaleVersor3DTransform< TScalarType >::Self

Standard class typedefs.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 50 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef VersorRigid3DTransform<TScalarType> itk::ScaleVersor3DTransform< TScalarType >::Superclass

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 51 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::TranslationType itk::ScaleVersor3DTransform< TScalarType >::TranslationType

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 83 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::VersorType itk::ScaleVersor3DTransform< TScalarType >::VersorType

Versor type.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 85 of file itkScaleVersor3DTransform.h.


Constructor & Destructor Documentation

template<class TScalarType = double>
itk::ScaleVersor3DTransform< TScalarType >::ScaleVersor3DTransform ( ) [protected]
template<class TScalarType = double>
itk::ScaleVersor3DTransform< TScalarType >::ScaleVersor3DTransform ( const MatrixType matrix,
const OutputVectorType offset 
) [protected]
template<class TScalarType = double>
itk::ScaleVersor3DTransform< TScalarType >::ScaleVersor3DTransform ( unsigned int  paramDims) [protected]
template<class TScalarType = double>
itk::ScaleVersor3DTransform< TScalarType >::~ScaleVersor3DTransform ( ) [protected]
template<class TScalarType = double>
itk::ScaleVersor3DTransform< TScalarType >::ScaleVersor3DTransform ( const Self ) [private]

Member Function Documentation

template<class TScalarType = double>
virtual void itk::ScaleVersor3DTransform< TScalarType >::ComputeJacobianWithRespectToParameters ( const InputPointType p,
JacobianType jacobian 
) const [virtual]

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.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

template<class TScalarType = double>
void itk::ScaleVersor3DTransform< TScalarType >::ComputeMatrix ( void  ) [protected, virtual]

Compute the components of the rotation matrix in the superclass.

Reimplemented from itk::VersorTransform< TScalarType >.

template<class TScalarType = double>
void itk::ScaleVersor3DTransform< TScalarType >::ComputeMatrixParameters ( void  ) [protected, virtual]
template<class TScalarType = double>
virtual::itk::LightObject::Pointer itk::ScaleVersor3DTransform< TScalarType >::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::VersorRigid3DTransform< TScalarType >.

template<class TScalarType = double>
virtual const char* itk::ScaleVersor3DTransform< TScalarType >::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

template<class TScalarType = double>
virtual const ParametersType& itk::ScaleVersor3DTransform< TScalarType >::GetParameters ( void  ) const [virtual]

Get the Transformation Parameters.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

template<class TScalarType = double>
virtual const ScaleVectorType& itk::ScaleVersor3DTransform< TScalarType >::GetScale ( ) [virtual]
template<class TScalarType = double>
static Pointer itk::ScaleVersor3DTransform< TScalarType >::New ( ) [static]

New macro for creation of through a Smart Pointer.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

template<class TScalarType = double>
void itk::ScaleVersor3DTransform< TScalarType >::operator= ( const Self ) [private]

Assignment operator

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

template<class TScalarType = double>
void itk::ScaleVersor3DTransform< TScalarType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

Print contents of a VersorTransform

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

template<class TScalarType = double>
void itk::ScaleVersor3DTransform< TScalarType >::SetIdentity ( ) [virtual]

Set the internal parameters of the transform in order to represent an Identity transform.

Reimplemented from itk::VersorTransform< TScalarType >.

template<class TScalarType = double>
virtual void itk::ScaleVersor3DTransform< TScalarType >::SetMatrix ( const MatrixType matrix) [virtual]

Directly set the matrix of the transform.

See also:
MatrixOffsetTransformBase::SetMatrix()

Reimplemented from itk::Rigid3DTransform< TScalarType >.

template<class TScalarType = double>
virtual void itk::ScaleVersor3DTransform< TScalarType >::SetParameters ( const ParametersType parameters) [virtual]

Set the transformation from a container of parameters This is typically used by optimizers. There are 9 parameters: 0-2 versor 3-5 translation 6-8 Scale

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

template<class TScalarType = double>
void itk::ScaleVersor3DTransform< TScalarType >::SetScale ( const ScaleVectorType scale)

Set/Get the scale vector. These scale factors are associated to the axis of coordinates.

template<class TScalarType = double>
void itk::ScaleVersor3DTransform< TScalarType >::SetVarScale ( const ScaleVectorType scale) [inline, protected]

Definition at line 132 of file itkScaleVersor3DTransform.h.


Member Data Documentation

template<class TScalarType = double>
const unsigned int itk::ScaleVersor3DTransform< TScalarType >::InputSpaceDimension = 3 [static]

Dimension of parameters.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 62 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
ScaleVectorType itk::ScaleVersor3DTransform< TScalarType >::m_Scale [private]

Vector containing the scale.

Definition at line 147 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
const unsigned int itk::ScaleVersor3DTransform< TScalarType >::OutputSpaceDimension = 3 [static]

Dimension of parameters.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 63 of file itkScaleVersor3DTransform.h.

template<class TScalarType = double>
const unsigned int itk::ScaleVersor3DTransform< TScalarType >::ParametersDimension = 9 [static]

Dimension of parameters.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 64 of file itkScaleVersor3DTransform.h.


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