ITK  4.4.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
itk::MultiTransform< TScalar, NDimensions, NSubDimensions > Class Template Reference

#include <itkMultiTransform.h>

+ Inheritance diagram for itk::MultiTransform< TScalar, NDimensions, NSubDimensions >:
+ Collaboration diagram for itk::MultiTransform< TScalar, NDimensions, NSubDimensions >:

Detailed Description

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
class itk::MultiTransform< TScalar, NDimensions, NSubDimensions >

This abstract class contains a list of transforms and provides basic methods.

This abstract base class is used by classes that operate on a list of sub-transforms. The sub-transforms can have a different dimensionality than the container transform.

Transforms are stored in a container (queue), in the following order: $ T_0, T_1, ... , T_N-1 $

Transforms are added via a single method, AddTransform(). This adds the transforms to the back of the queue. A single method for adding transforms is meant to simplify the interface and prevent errors.

Inverse todo

TODO

Interface Issues/Comments x The PushFrontTransform and PushBackTransform methods are protected to force the user to use the AddTransform method, forcing the order of transforms. Are there use cases where the user would need to insert transforms at the front of the queue? Or at arbitrary positions?

GetParameters efficiency optimization Can we optimize this to only query the sub-transforms when the params in the sub transforms have changed since the previous call? Can't use Modified time b/c that will get updated in sub-transforms with every call to SetParameters. Is this worth worrying about? i.e. how much time will it take in the overall registration process? Probably very little.

Definition at line 64 of file itkMultiTransform.h.

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
 
typedef
Superclass::InputDiffusionTensor3DType 
InputDiffusionTensor3DType
 
typedef Superclass::InputPointType InputPointType
 
typedef
Superclass::InputSymmetricSecondRankTensorType 
InputSymmetricSecondRankTensorType
 
typedef
Superclass::InputVectorPixelType 
InputVectorPixelType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
 
typedef
Superclass::InverseTransformBasePointer 
InverseTransformBasePointer
 
typedef Superclass::JacobianType JacobianType
 
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
 
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
 
typedef
Superclass::OutputDiffusionTensor3DType 
OutputDiffusionTensor3DType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef
Superclass::OutputSymmetricSecondRankTensorType 
OutputSymmetricSecondRankTensorType
 
typedef
Superclass::OutputVectorPixelType 
OutputVectorPixelType
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef
Superclass::ParametersValueType 
ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef MultiTransform Self
 
typedef
TransformType::InverseTransformBasePointer 
SubTransformInverseTransformBasePointer
 
typedef Transform< TScalar,
NDimensions, NDimensions > 
Superclass
 
typedef
Superclass::TransformCategoryType 
TransformCategoryType
 
typedef std::deque
< TransformTypePointer
TransformQueueType
 
typedef Transform< TScalar,
NSubDimensions, NSubDimensions > 
TransformType
 
typedef TransformType::Pointer TransformTypePointer
 
- Public Types inherited from itk::Transform< TScalar, NDimensions, NDimensions >
typedef SmartPointer< const SelfConstPointer
 
typedef Array
< ParametersValueType
DerivativeType
 
typedef Matrix< double,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
DirectionChangeMatrix
 
typedef CovariantVector
< TScalar, NInputDimensions > 
InputCovariantVectorType
 
typedef DiffusionTensor3D
< TScalar > 
InputDiffusionTensor3DType
 
typedef Matrix< double,
itkGetStaticConstMacro(InputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
InputDirectionMatrix
 
typedef Point< TScalar,
NInputDimensions > 
InputPointType
 
typedef
SymmetricSecondRankTensor
< TScalar, NInputDimensions > 
InputSymmetricSecondRankTensorType
 
typedef VariableLengthVector
< TScalar > 
InputVectorPixelType
 
typedef Vector< TScalar,
NInputDimensions > 
InputVectorType
 
typedef vnl_vector_fixed
< TScalar, NInputDimensions > 
InputVnlVectorType
 
typedef
InverseTransformBaseType::Pointer 
InverseTransformBasePointer
 
typedef Transform< TScalar,
NOutputDimensions,
NInputDimensions > 
InverseTransformBaseType
 
typedef Array2D
< ParametersValueType
JacobianType
 
typedef Matrix< TScalar,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
MatrixType
 
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
 
typedef CovariantVector
< TScalar, NOutputDimensions > 
OutputCovariantVectorType
 
typedef DiffusionTensor3D
< TScalar > 
OutputDiffusionTensor3DType
 
typedef Matrix< double,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputDirectionMatrix
 
typedef Point< TScalar,
NOutputDimensions > 
OutputPointType
 
typedef
SymmetricSecondRankTensor
< TScalar, NOutputDimensions > 
OutputSymmetricSecondRankTensorType
 
typedef VariableLengthVector
< TScalar > 
OutputVectorPixelType
 
typedef Vector< TScalar,
NOutputDimensions > 
OutputVectorType
 
typedef vnl_vector_fixed
< TScalar, NOutputDimensions > 
OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef
Superclass::ParametersValueType 
ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef TScalar ScalarType
 
typedef Transform Self
 
typedef TransformBase Superclass
 
- Public Types inherited from itk::TransformBase
typedef SmartPointer< const SelfConstPointer
 
typedef IdentifierType NumberOfParametersType
 
typedef OptimizerParameters
< ParametersValueType
ParametersType
 
typedef double ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef TransformBase Self
 
typedef Object Superclass
 
enum  TransformCategoryType {
  UnknownTransformCategory =0,
  Linear =1,
  BSpline =2,
  Spline =3,
  DisplacementField =4,
  VelocityField =5
}
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual void AddTransform (TransformType *t)
 
virtual void AppendTransform (TransformType *t)
 
virtual const TransformTypePointer GetBackTransform ()
 
virtual const ParametersTypeGetFixedParameters (void) const
 
virtual const TransformTypePointer GetFrontTransform ()
 
bool GetInverse (Self *inverse) const
 
virtual const char * GetNameOfClass () const
 
virtual const TransformTypePointer GetNthTransform (SizeValueType n) const
 
virtual NumberOfParametersType GetNumberOfFixedParameters (void) const
 
virtual NumberOfParametersType GetNumberOfLocalParameters (void) const
 
virtual NumberOfParametersType GetNumberOfParameters (void) const
 
virtual SizeValueType GetNumberOfTransforms () const
 
virtual const ParametersTypeGetParameters (void) const
 
virtual TransformCategoryType GetTransformCategory () const
 
virtual const TransformQueueTypeGetTransformQueue () const
 
virtual bool IsLinear () const
 
virtual bool IsTransformQueueEmpty () const
 
virtual void PrependTransform (TransformType *t)
 
virtual void RemoveTransform ()
 
virtual void SetFixedParameters (const ParametersType &fixedParameters)
 
virtual void SetParameters (const ParametersType &p)
 
virtual void UpdateTransformParameters (const DerivativeType &update, ScalarType factor=1.0)
 
virtual void ClearTransformQueue ()
 
- Public Member Functions inherited from itk::Transform< TScalar, 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 InverseTransformBasePointer GetInverseTransform () const
 
unsigned int GetOutputSpaceDimension (void) const
 
virtual std::string GetTransformTypeAsString () 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 &) const
 
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, TScalarfactor=1.0)
 
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const
 

Static Public Attributes

static const unsigned int SubInputDimension = NSubDimensions
 
static const unsigned int SubOutputDimension = NSubDimensions
 
static const unsigned int InputDimension = NDimensions
 
static const unsigned int OutputDimension = NDimensions
 
- Static Public Attributes inherited from itk::Transform< TScalar, NDimensions, NDimensions >
static const unsigned int InputSpaceDimension
 
static const unsigned int OutputSpaceDimension
 

Protected Member Functions

 MultiTransform ()
 
virtual void PopBackTransform ()
 
virtual void PopFrontTransform ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void PushBackTransform (TransformTypePointer t)
 
virtual void PushFrontTransform (TransformTypePointer t)
 
virtual ~MultiTransform ()
 
- Protected Member Functions inherited from itk::Transform< TScalar, 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 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 ()
 

Protected Attributes

ModifiedTimeType m_LocalParametersUpdateTime
 
NumberOfParametersType m_NumberOfLocalParameters
 
TransformQueueType m_TransformQueue
 
- Protected Attributes inherited from itk::Transform< TScalar, NDimensions, NDimensions >
DirectionChangeMatrix m_DirectionChange
 
ParametersType m_FixedParameters
 
ParametersType m_Parameters
 

Private Member Functions

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

Additional Inherited Members

- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Protected Types inherited from itk::LightObject
typedef int InternalReferenceCountType
 

Member Typedef Documentation

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef SmartPointer<const Self> itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::ConstPointer

Definition at line 72 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::DerivativeType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::DerivativeType

Derivative type

Definition at line 91 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::InputCovariantVectorType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::InputCovariantVectorType

Standard covariant vector type for this class

Definition at line 113 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::InputDiffusionTensor3DType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::InputDiffusionTensor3DType

Standard DiffusionTensor3D typedef for this class

Definition at line 125 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::InputPointType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::InputPointType

Standard coordinate point type for this class.

Definition at line 105 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::InputSymmetricSecondRankTensorType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::InputSymmetricSecondRankTensorType

Standard SymmetricSecondRankTensor typedef for this class

Definition at line 129 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::InputVectorPixelType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::InputVectorPixelType

Standard Vectorpixel type for this class

Definition at line 121 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::InputVectorType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::InputVectorType

Standard vector type for this class.

Definition at line 109 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::InputVnlVectorType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::InputVnlVectorType

Standard vnl_vector type for this class.

Definition at line 117 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::InverseTransformBasePointer itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::InverseTransformBasePointer

InverseTransform type.

Definition at line 102 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::JacobianType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::JacobianType

Jacobian type.

Definition at line 94 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::NumberOfParametersType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::NumberOfParametersType

The number of parameters defininig this transform.

Definition at line 141 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::OutputCovariantVectorType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::OutputCovariantVectorType

Definition at line 114 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::OutputDiffusionTensor3DType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::OutputDiffusionTensor3DType

Definition at line 126 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::OutputPointType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::OutputPointType

Definition at line 106 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::OutputSymmetricSecondRankTensorType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::OutputSymmetricSecondRankTensorType

Definition at line 130 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::OutputVectorPixelType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::OutputVectorPixelType

Definition at line 122 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::OutputVectorType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::OutputVectorType

Definition at line 110 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::OutputVnlVectorType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::OutputVnlVectorType

Definition at line 118 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::ParametersType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::ParametersType

Parameters type.

Definition at line 87 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::ParametersValueType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::ParametersValueType

Definition at line 88 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef SmartPointer<Self> itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::Pointer

Definition at line 71 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::ScalarType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::ScalarType

Scalar type.

Definition at line 84 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef MultiTransform itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::Self

Standard class typedefs.

Definition at line 69 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef TransformType::InverseTransformBasePointer itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::SubTransformInverseTransformBasePointer

InverseTransform type.

Definition at line 135 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Transform<TScalar, NDimensions, NDimensions> itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::Superclass

Definition at line 70 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Superclass::TransformCategoryType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::TransformCategoryType

Transform category type.

Definition at line 97 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef std::deque<TransformTypePointer> itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::TransformQueueType

Transform queue type

Definition at line 138 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef Transform<TScalar, NSubDimensions, NSubDimensions > itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::TransformType

Sub transform type

Definition at line 75 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
typedef TransformType::Pointer itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::TransformTypePointer

Definition at line 79 of file itkMultiTransform.h.

Constructor & Destructor Documentation

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::MultiTransform ( )
protected

Flatten the transform queue such that there are no nested composite transforms.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::~MultiTransform ( )
protectedvirtual
template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::MultiTransform ( const Self )
private

Member Function Documentation

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual void itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::AddTransform ( TransformType t)
inlinevirtual

Functionality for sub transforms Add transforms to the queue, as stack. Most-recently added transform is always at back of queue, index N-1.

Definition at line 156 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual void itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::AppendTransform ( TransformType t)
inlinevirtual

Same as AddTransform

Definition at line 162 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual void itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::ClearTransformQueue ( )
inlinevirtual

Clear the transform queue.

Reimplemented in itk::CompositeTransform< TScalar, NDimensions >.

Definition at line 219 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual const TransformTypePointer itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::GetBackTransform ( )
inlinevirtual

Definition at line 187 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual const ParametersType& itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::GetFixedParameters ( void  ) const
virtual

Get the Fixed Parameters.

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

Reimplemented in itk::CompositeTransform< TScalar, NDimensions >.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual const TransformTypePointer itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::GetFrontTransform ( )
inlinevirtual

Get transforms at the front and the back of the queue

Definition at line 181 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
bool itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::GetInverse ( Self inverse) const

Returns a boolean indicating whether it is possible or not to compute the inverse of this current Transform. If it is possible, then the inverse of the transform is returned in the inverseTransform variable passed by the user. The inverse consists of the inverse of each sub-transform, in the same order as the forward transforms.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual const char* itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

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

Reimplemented in itk::CompositeTransform< TScalar, NDimensions >.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual const TransformTypePointer itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::GetNthTransform ( SizeValueType  n) const
inlinevirtual

Get the Nth transform.

Warning
No bounds checking is performed.

Definition at line 195 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual NumberOfParametersType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::GetNumberOfFixedParameters ( void  ) const
virtual
template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual NumberOfParametersType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::GetNumberOfLocalParameters ( void  ) const
virtual

Return the number of local parameters that completely defines the Transform at an individual voxel. For transforms with local support, this will enable downstream computation of the jacobian wrt only the local support region. For instance, in the case of a deformation field, this will be equal to the number of image dimensions. If it is an affine transform, this will be the same as the GetNumberOfParameters().

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

Reimplemented in itk::CompositeTransform< TScalar, NDimensions >.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual NumberOfParametersType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::GetNumberOfParameters ( void  ) const
virtual

Return the number of parameters that completely define the Transfom

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

Reimplemented in itk::CompositeTransform< TScalar, NDimensions >.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual SizeValueType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::GetNumberOfTransforms ( ) const
inlinevirtual

Return the number of sub-transforms.

Definition at line 213 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual const ParametersType& itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::GetParameters ( void  ) const
virtual

Get/Set Parameter functions work on all sub-transforms. The parameter data from each sub-transform is concatenated into a single ParametersType object.

Note
The sub-transforms are read in forward queue order, so the returned array is ordered in the same way. That is, first sub-transform to be added is returned first in the parameter array.

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

Reimplemented in itk::CompositeTransform< TScalar, NDimensions >.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual TransformCategoryType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::GetTransformCategory ( ) const
virtual

If all sub-transforms are of the same category, return that category. Otherwise return UnknownTransformCategory.

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

Reimplemented in itk::CompositeTransform< TScalar, NDimensions >.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual const TransformQueueType& itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::GetTransformQueue ( ) const
inlinevirtual

Access transform queue

Definition at line 201 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual bool itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::IsLinear ( ) const
virtual

If all sub-transforms are linear, then the multi-transform is linear.

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

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual bool itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::IsTransformQueueEmpty ( ) const
inlinevirtual

Misc. functionality

Definition at line 207 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
void itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::operator= ( const Self )
private
template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual void itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::PopBackTransform ( )
inlineprotectedvirtual

Reimplemented in itk::CompositeTransform< TScalar, NDimensions >.

Definition at line 301 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual void itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::PopFrontTransform ( )
inlineprotectedvirtual

Reimplemented in itk::CompositeTransform< TScalar, NDimensions >.

Definition at line 295 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual void itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::PrependTransform ( TransformType t)
inlinevirtual

Add transform to the front of the stack

Definition at line 168 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
void itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::Object.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual void itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::PushBackTransform ( TransformTypePointer  t)
inlineprotectedvirtual

Reimplemented in itk::CompositeTransform< TScalar, NDimensions >.

Definition at line 289 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual void itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::PushFrontTransform ( TransformTypePointer  t)
inlineprotectedvirtual

Reimplemented in itk::CompositeTransform< TScalar, NDimensions >.

Definition at line 283 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual void itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::RemoveTransform ( )
inlinevirtual

Remove transform from the back of the queue, index N-1

Definition at line 174 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual void itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::SetFixedParameters ( const ParametersType fixedParameters)
virtual
template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual void itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::SetParameters ( const ParametersType p)
virtual
template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
virtual void itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::UpdateTransformParameters ( const DerivativeType update,
ScalarType  factor = 1.0 
)
virtual

Update the transform's parameters by the values in update. See GetParameters() for parameter ordering.

Reimplemented in itk::CompositeTransform< TScalar, NDimensions >.

Member Data Documentation

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
const unsigned int itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::InputDimension = NDimensions
static

Dimension of the domain spaces.

Definition at line 144 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
ModifiedTimeType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::m_LocalParametersUpdateTime
mutableprotected

Definition at line 312 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
NumberOfParametersType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::m_NumberOfLocalParameters
mutableprotected

Cache to save time returning the number of local parameters

Definition at line 311 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
TransformQueueType itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::m_TransformQueue
mutableprotected

Transform container object.

Definition at line 308 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
const unsigned int itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::OutputDimension = NDimensions
static

Dimension of the domain spaces.

Definition at line 145 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
const unsigned int itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::SubInputDimension = NSubDimensions
static

Definition at line 148 of file itkMultiTransform.h.

template<class TScalar = double, unsigned int NDimensions = 3, unsigned int NSubDimensions = NDimensions>
const unsigned int itk::MultiTransform< TScalar, NDimensions, NSubDimensions >::SubOutputDimension = NSubDimensions
static

Definition at line 149 of file itkMultiTransform.h.


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