OTB  7.4.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions > Class Template Reference

#include <otbCompositeTransform.h>

+ Inheritance diagram for otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >:
+ Collaboration diagram for otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass::InputPointType FirstTransformInputPointType
 
typedef TFirstTransform::OutputPointType FirstTransformOutputPointType
 
typedef TFirstTransform::Pointer FirstTransformPointerType
 
typedef TFirstTransform FirstTransformType
 
typedef itk::SmartPointer< SelfPointer
 
typedef Superclass::OutputPointType SecondTransformOutputPointType
 
typedef TSecondTransform::Pointer SecondTransformPointerType
 
typedef TSecondTransform SecondTransformType
 
typedef CompositeTransform Self
 
typedef Transform< TScalarType, NInputDimensions, NOutputDimensions > Superclass
 
- Public Types inherited from otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >
typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::CovariantVector< TScalarType, NInputDimensions > InputCovariantVectorType
 
typedef itk::Point< TScalarType, NInputDimensions > InputPointType
 
typedef itk::Vector< TScalarType, NInputDimensions > InputVectorType
 
typedef vnl_vector_fixed< TScalarType, NInputDimensions > InputVnlVectorType
 
typedef Superclass::InverseTransformBasePointer InverseTransformBasePointer
 
typedef Superclass::InverseTransformBaseType InverseTransformBaseType
 
typedef itk::Array2D< double > JacobianType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef itk::CovariantVector< TScalarType, NOutputDimensions > OutputCovariantVectorType
 
typedef itk::Point< TScalarType, NOutputDimensions > OutputPointType
 
typedef itk::Vector< TScalarType, NOutputDimensions > OutputVectorType
 
typedef vnl_vector_fixed< TScalarType, NOutputDimensions > OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::ParametersValueType ParametersValueType
 
typedef itk::SmartPointer< SelfPointer
 
typedef TScalarType ScalarType
 
typedef Transform Self
 
typedef itk::Transform< TScalarType, NInputDimensions, NOutputDimensions > Superclass
 
enum  TransformDirection {
  FORWARD = 0,
  INVERSE = 1
}
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
virtual void SetFirstTransform (FirstTransformType *_arg)
 
virtual void SetSecondTransform (SecondTransformType *_arg)
 
SecondTransformOutputPointType TransformPoint (const FirstTransformInputPointType &) const override
 
virtual const FirstTransformPointerTypeGetFirstTransform () const
 
virtual const SecondTransformPointerTypeGetSecondTransform () const
 
- Public Member Functions inherited from otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
 
unsigned int GetInputSpaceDimension (void) const override
 
NumberOfParametersType GetNumberOfParameters (void) const override
 
unsigned int GetOutputSpaceDimension (void) const override
 
const ParametersTypeGetParameters (void) const override
 
void SetFixedParameters (const ParametersType &) override
 
void SetParameters (const ParametersType &) override
 
void SetParametersByValue (const ParametersType &p) override
 
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const override
 
OutputPointType TransformPoint (const InputPointType &) const override
 
OutputVectorType TransformVector (const InputVectorType &) const override
 
OutputVnlVectorType TransformVector (const InputVnlVectorType &) const override
 
const ParametersTypeGetFixedParameters (void) const override
 
virtual const JacobianTypeGetJacobian (const InputPointType &) const
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const unsigned int InputSpaceDimension = NInputDimensions
 
static const unsigned int OutputSpaceDimension = NOutputDimensions
 
static const unsigned int ParametersDimension = NInputDimensions*(NInputDimensions + 1)
 
static const unsigned int SpaceDimension = NInputDimensions
 
- Static Public Attributes inherited from otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >
static const unsigned int InputSpaceDimension = NInputDimensions
 
static const unsigned int OutputSpaceDimension = NOutputDimensions
 

Protected Member Functions

 CompositeTransform ()
 
 ~CompositeTransform () override
 
- Protected Member Functions inherited from otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 Transform ()
 
 Transform (NumberOfParametersType numberOfParameters)
 
 ~Transform () override
 

Protected Attributes

FirstTransformPointerType m_FirstTransform
 
SecondTransformPointerType m_SecondTransform
 
- Protected Attributes inherited from otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >
ParametersType m_FixedParameters
 
JacobianType m_Jacobian
 
ParametersType m_Parameters
 

Private Member Functions

 CompositeTransform (const Self &)=delete
 
void operator= (const Self &)=delete
 

Detailed Description

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
class otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >

Class which compose two itk::Transform to obtain one itk::Transform T1 T2 T3 (x, y) -> (x', y') -> (x'', y'') => (x, y) -> (x'', y'')

Definition at line 57 of file otbCompositeTransform.h.

Member Typedef Documentation

◆ ConstPointer

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
typedef itk::SmartPointer<const Self> otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::ConstPointer

Definition at line 66 of file otbCompositeTransform.h.

◆ FirstTransformInputPointType

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
typedef Superclass::InputPointType otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::FirstTransformInputPointType

Standard vector type for this class. Standard covariant vector type for this class Standard vnl_vector type for this class. Standard coordinate point type for this class

Definition at line 86 of file otbCompositeTransform.h.

◆ FirstTransformOutputPointType

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
typedef TFirstTransform::OutputPointType otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::FirstTransformOutputPointType

Definition at line 87 of file otbCompositeTransform.h.

◆ FirstTransformPointerType

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
typedef TFirstTransform::Pointer otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::FirstTransformPointerType

Definition at line 69 of file otbCompositeTransform.h.

◆ FirstTransformType

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
typedef TFirstTransform otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::FirstTransformType

Definition at line 68 of file otbCompositeTransform.h.

◆ Pointer

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
typedef itk::SmartPointer<Self> otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::Pointer

Definition at line 65 of file otbCompositeTransform.h.

◆ SecondTransformOutputPointType

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
typedef Superclass::OutputPointType otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::SecondTransformOutputPointType

TSecondTransform::InputPointType is purposely not defined It contrains user to choose First Transform Output compatible with Second Transform Input

Definition at line 92 of file otbCompositeTransform.h.

◆ SecondTransformPointerType

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
typedef TSecondTransform::Pointer otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::SecondTransformPointerType

Definition at line 71 of file otbCompositeTransform.h.

◆ SecondTransformType

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
typedef TSecondTransform otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::SecondTransformType

Definition at line 70 of file otbCompositeTransform.h.

◆ Self

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
typedef CompositeTransform otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::Self

Definition at line 64 of file otbCompositeTransform.h.

◆ Superclass

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
typedef Transform<TScalarType, NInputDimensions, NOutputDimensions> otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::Superclass

Standard class typedefs

Definition at line 63 of file otbCompositeTransform.h.

Constructor & Destructor Documentation

◆ CompositeTransform() [1/2]

template<class TFirstTransform , class TSecondTransform , class TScalarType , unsigned int NInputDimensions, unsigned int NOutputDimensions>
otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::CompositeTransform ( )
protected

Method to transform a vector. Method to transform a vnl_vector. Method to transform a CovariantVector.

Definition at line 35 of file otbCompositeTransform.hxx.

◆ ~CompositeTransform()

template<class TFirstTransform , class TSecondTransform , class TScalarType , unsigned int NInputDimensions, unsigned int NOutputDimensions>
otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::~CompositeTransform ( )
overrideprotected

Definition at line 40 of file otbCompositeTransform.hxx.

◆ CompositeTransform() [2/2]

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::CompositeTransform ( const Self )
privatedelete

Member Function Documentation

◆ CreateAnother()

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
virtual::itk::LightObject::Pointer otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::CreateAnother ( void  ) const

◆ GetFirstTransform()

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
virtual const FirstTransformPointerType& otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::GetFirstTransform ( ) const
virtual

Get First and second transform

◆ GetNameOfClass()

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
virtual const char* otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >.

◆ GetSecondTransform()

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
virtual const SecondTransformPointerType& otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::GetSecondTransform ( ) const
virtual

Get First and second transform

◆ New()

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
static Pointer otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::New ( )
static

Method for creation through the object factory.

◆ operator=()

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
void otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::operator= ( const Self )
privatedelete

◆ SetFirstTransform()

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
virtual void otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::SetFirstTransform ( FirstTransformType _arg)
virtual

Set first transformation

◆ SetSecondTransform()

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
virtual void otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::SetSecondTransform ( SecondTransformType _arg)
virtual

Set second transformation

◆ TransformPoint()

template<class TFirstTransform , class TSecondTransform , class TScalarType , unsigned int NInputDimensions, unsigned int NOutputDimensions>
CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::SecondTransformOutputPointType otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::TransformPoint ( const FirstTransformInputPointType point1) const
override

Member Data Documentation

◆ InputSpaceDimension

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
const unsigned int otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::InputSpaceDimension = NInputDimensions
static

Definition at line 100 of file otbCompositeTransform.h.

◆ m_FirstTransform

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
FirstTransformPointerType otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::m_FirstTransform
protected

◆ m_SecondTransform

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
SecondTransformPointerType otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::m_SecondTransform
protected

◆ OutputSpaceDimension

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
const unsigned int otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::OutputSpaceDimension = NOutputDimensions
static

Definition at line 101 of file otbCompositeTransform.h.

◆ ParametersDimension

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
const unsigned int otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::ParametersDimension = NInputDimensions*(NInputDimensions + 1)
static

Definition at line 103 of file otbCompositeTransform.h.

◆ SpaceDimension

template<class TFirstTransform, class TSecondTransform, class TScalarType = typename TFirstTransform::ScalarType, unsigned int NInputDimensions = TFirstTransform::InputSpaceDimension, unsigned int NOutputDimensions = TSecondTransform::OutputSpaceDimension>
const unsigned int otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >::SpaceDimension = NInputDimensions
static

Definition at line 102 of file otbCompositeTransform.h.


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