ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
itk::ScaleSkewVersor3DTransform< TScalarType > Class Template Reference

ScaleSkewVersor3DTransform of a vector space (e.g. space coordinates) More...

#include <itkScaleSkewVersor3DTransform.h>

Inheritance diagram for itk::ScaleSkewVersor3DTransform< TScalarType >:
Collaboration diagram for itk::ScaleSkewVersor3DTransform< TScalarType >:

List of all members.

Public Types

typedef Superclass::AngleType AngleType
typedef Superclass::AxisType AxisType
typedef Superclass::AxisValueType AxisValueType
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
Superclass::ParameterValueType 
ParameterValueType
typedef SmartPointer< SelfPointer
typedef Superclass::ScalarType ScalarType
typedef Vector< TScalarType, 3 > ScaleVectorType
typedef ScaleVectorType::ValueType ScaleVectorValueType
typedef ScaleSkewVersor3DTransform Self
typedef Vector< TScalarType, 6 > SkewVectorType
typedef SkewVectorType::ValueType SkewVectorValueType
typedef VersorRigid3DTransform
< TScalarType > 
Superclass
typedef Superclass::TranslationType TranslationType
typedef TranslationType::ValueType TranslationValueType
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 ()
virtual const SkewVectorTypeGetSkew ()
void SetIdentity ()
virtual void SetMatrix (const MatrixType &matrix)
virtual void SetParameters (const ParametersType &parameters)
void SetScale (const ScaleVectorType &scale)
void SetSkew (const SkewVectorType &skew)

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 = 15

Protected Member Functions

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

Private Member Functions

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

Private Attributes

ScaleVectorType m_Scale
SkewVectorType m_Skew

Detailed Description

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

ScaleSkewVersor3DTransform of a vector space (e.g. space coordinates)

This transform applies a versor rotation and translation & scale/skew to the space

The parameters for this transform can be set either using individual Set methods or in serialized form using SetParameters() and SetFixedParameters().

The serialization of the optimizable parameters is an array of 15 elements. The first 3 elements are the components of the versor representation of 3D rotation. The next 3 parameters defines the translation in each dimension. The next 3 parameters defines scaling in each dimension. The last 6 parameters defines the skew.

The serialization of the fixed parameters is an array of 3 elements defining the center of rotation.

Definition at line 49 of file itkScaleSkewVersor3DTransform.h.


Member Typedef Documentation

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

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 91 of file itkScaleSkewVersor3DTransform.h.

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

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 90 of file itkScaleSkewVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::AxisValueType itk::ScaleSkewVersor3DTransform< TScalarType >::AxisValueType

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 101 of file itkScaleSkewVersor3DTransform.h.

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

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 85 of file itkScaleSkewVersor3DTransform.h.

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

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 57 of file itkScaleSkewVersor3DTransform.h.

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

Standard covariant vector type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 81 of file itkScaleSkewVersor3DTransform.h.

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

Standard coordinate point type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 75 of file itkScaleSkewVersor3DTransform.h.

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

Standard vector type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 77 of file itkScaleSkewVersor3DTransform.h.

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

Standard vnl_vector type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 79 of file itkScaleSkewVersor3DTransform.h.

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

Standard inverse matrix type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 84 of file itkScaleSkewVersor3DTransform.h.

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

Jacobian Type

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 73 of file itkScaleSkewVersor3DTransform.h.

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

Standard matrix type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 83 of file itkScaleSkewVersor3DTransform.h.

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

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 86 of file itkScaleSkewVersor3DTransform.h.

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

Standard covariant vector type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 82 of file itkScaleSkewVersor3DTransform.h.

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

Standard coordinate point type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 76 of file itkScaleSkewVersor3DTransform.h.

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

Standard vector type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 78 of file itkScaleSkewVersor3DTransform.h.

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

Standard vnl_vector type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 80 of file itkScaleSkewVersor3DTransform.h.

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

Parameters Type

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 72 of file itkScaleSkewVersor3DTransform.h.

template<class TScalarType = double>
typedef Superclass::ParameterValueType itk::ScaleSkewVersor3DTransform< TScalarType >::ParameterValueType

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 102 of file itkScaleSkewVersor3DTransform.h.

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

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 56 of file itkScaleSkewVersor3DTransform.h.

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

Standard scalar type for this class

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 74 of file itkScaleSkewVersor3DTransform.h.

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

Scale & Skew Vector Type.

Definition at line 94 of file itkScaleSkewVersor3DTransform.h.

template<class TScalarType = double>
typedef ScaleVectorType::ValueType itk::ScaleSkewVersor3DTransform< TScalarType >::ScaleVectorValueType

Definition at line 97 of file itkScaleSkewVersor3DTransform.h.

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

Standard class typedefs.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 54 of file itkScaleSkewVersor3DTransform.h.

template<class TScalarType = double>
typedef Vector<TScalarType, 6> itk::ScaleSkewVersor3DTransform< TScalarType >::SkewVectorType

Definition at line 95 of file itkScaleSkewVersor3DTransform.h.

template<class TScalarType = double>
typedef SkewVectorType::ValueType itk::ScaleSkewVersor3DTransform< TScalarType >::SkewVectorValueType

Definition at line 98 of file itkScaleSkewVersor3DTransform.h.

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

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 55 of file itkScaleSkewVersor3DTransform.h.

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

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 87 of file itkScaleSkewVersor3DTransform.h.

template<class TScalarType = double>
typedef TranslationType::ValueType itk::ScaleSkewVersor3DTransform< TScalarType >::TranslationValueType

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 99 of file itkScaleSkewVersor3DTransform.h.

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

Versor type.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 89 of file itkScaleSkewVersor3DTransform.h.


Constructor & Destructor Documentation

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

Definition at line 141 of file itkScaleSkewVersor3DTransform.h.

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

Member Function Documentation

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

Run-time type information (and related methods).

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

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

Get the Transformation Parameters.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

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

New macro for creation of through a Smart Pointer.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

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

Assignment operator

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

template<class TScalarType = double>
void itk::ScaleSkewVersor3DTransform< 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::ScaleSkewVersor3DTransform< TScalarType >::SetIdentity ( ) [virtual]

Set the parameters to the IdentityTransform

Reimplemented from itk::VersorTransform< TScalarType >.

template<class TScalarType = double>
virtual void itk::ScaleSkewVersor3DTransform< 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::ScaleSkewVersor3DTransform< TScalarType >::SetParameters ( const ParametersType parameters) [virtual]

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

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

template<class TScalarType = double>
void itk::ScaleSkewVersor3DTransform< TScalarType >::SetScale ( const ScaleVectorType scale)
template<class TScalarType = double>
void itk::ScaleSkewVersor3DTransform< TScalarType >::SetSkew ( const SkewVectorType skew)
template<class TScalarType = double>
void itk::ScaleSkewVersor3DTransform< TScalarType >::SetVarScale ( const ScaleVectorType scale) [inline, protected]

Definition at line 147 of file itkScaleSkewVersor3DTransform.h.

template<class TScalarType = double>
void itk::ScaleSkewVersor3DTransform< TScalarType >::SetVarSkew ( const SkewVectorType skew) [inline, protected]

Definition at line 152 of file itkScaleSkewVersor3DTransform.h.


Member Data Documentation

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

Dimension of parameters.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 66 of file itkScaleSkewVersor3DTransform.h.

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

Vector containing the scale.

Definition at line 167 of file itkScaleSkewVersor3DTransform.h.

template<class TScalarType = double>
SkewVectorType itk::ScaleSkewVersor3DTransform< TScalarType >::m_Skew [private]

Vector containing the skew

Definition at line 170 of file itkScaleSkewVersor3DTransform.h.

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

Dimension of parameters.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 67 of file itkScaleSkewVersor3DTransform.h.

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

Dimension of parameters.

Reimplemented from itk::VersorRigid3DTransform< TScalarType >.

Definition at line 68 of file itkScaleSkewVersor3DTransform.h.


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