OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | List of all members
otb::Transform< TScalarType, NInputDimensions, NOutputDimensions > Class Template Reference

#include <otbTransform.h>

+ Inheritance diagram for otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >:
+ Collaboration diagram for otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::SmartPointer< SelfPointer
 
typedef Transform Self
 
typedef itk::Transform< TScalarType, NInputDimensions, NOutputDimensions > Superclass
 
enum  TransformDirection {
  FORWARD = 0,
  INVERSE = 1
}
 

Public Member Functions

virtual const char * GetNameOfClass () const
 
typedef TScalarType ScalarType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::ParametersValueType ParametersValueType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef itk::Array2D< double > JacobianType
 
typedef itk::Vector< TScalarType, NInputDimensions > InputVectorType
 
typedef itk::Vector< TScalarType, NOutputDimensions > OutputVectorType
 
typedef itk::CovariantVector< TScalarType, NInputDimensions > InputCovariantVectorType
 
typedef itk::CovariantVector< TScalarType, NOutputDimensions > OutputCovariantVectorType
 
typedef vnl_vector_fixed< TScalarType, NInputDimensions > InputVnlVectorType
 
typedef vnl_vector_fixed< TScalarType, NOutputDimensions > OutputVnlVectorType
 
typedef itk::Point< TScalarType, NInputDimensions > InputPointType
 
typedef itk::Point< TScalarType, NOutputDimensions > OutputPointType
 
typedef Superclass::InverseTransformBaseType InverseTransformBaseType
 
typedef Superclass::InverseTransformBasePointer InverseTransformBasePointer
 
static const unsigned int InputSpaceDimension = NInputDimensions
 
static const unsigned int OutputSpaceDimension = NOutputDimensions
 
ParametersType m_Parameters
 
ParametersType m_FixedParameters
 
JacobianType m_Jacobian
 
unsigned int GetInputSpaceDimension (void) const override
 
unsigned int GetOutputSpaceDimension (void) const override
 
OutputPointType TransformPoint (const InputPointType &) const override
 
OutputVectorType TransformVector (const InputVectorType &) const override
 
OutputVnlVectorType TransformVector (const InputVnlVectorType &) const override
 
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const override
 
void SetParameters (const ParametersType &) override
 
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
 
void SetParametersByValue (const ParametersType &p) override
 
const ParametersTypeGetParameters (void) const override
 
void SetFixedParameters (const ParametersType &) override
 
const ParametersTypeGetFixedParameters (void) const override
 
virtual const JacobianTypeGetJacobian (const InputPointType &) const
 
NumberOfParametersType GetNumberOfParameters (void) const override
 
 Transform ()
 
 Transform (NumberOfParametersType numberOfParameters)
 
 ~Transform () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 Transform (const Self &)=delete
 
void operator= (const Self &)=delete
 

Detailed Description

template<class TScalarType, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
class otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >

Class to overload method passed to virtual pure in ITK V4.

Definition at line 39 of file otbTransform.h.

Member Typedef Documentation

◆ ConstPointer

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef itk::SmartPointer<const Self> otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::ConstPointer

Definition at line 48 of file otbTransform.h.

◆ InputCovariantVectorType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef itk::CovariantVector<TScalarType, NInputDimensions> otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::InputCovariantVectorType

Standard covariant vector type for this class

Definition at line 86 of file otbTransform.h.

◆ InputPointType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef itk::Point<TScalarType, NInputDimensions> otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::InputPointType

Standard coordinate point type for this class

Definition at line 94 of file otbTransform.h.

◆ InputVectorType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef itk::Vector<TScalarType, NInputDimensions> otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::InputVectorType

Standard vector type for this class.

Definition at line 82 of file otbTransform.h.

◆ InputVnlVectorType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef vnl_vector_fixed<TScalarType, NInputDimensions> otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::InputVnlVectorType

Standard vnl_vector type for this class.

Definition at line 90 of file otbTransform.h.

◆ InverseTransformBasePointer

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::InverseTransformBasePointer otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::InverseTransformBasePointer

Type of the scalar representing coordinate and vector elements.

Definition at line 101 of file otbTransform.h.

◆ InverseTransformBaseType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::InverseTransformBaseType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::InverseTransformBaseType

Base inverse transform type. This type should not be changed to the concrete inverse transform type or inheritance would be lost.

Definition at line 99 of file otbTransform.h.

◆ JacobianType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef itk::Array2D<double> otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::JacobianType

Type of the Jacobian matrix.

Definition at line 79 of file otbTransform.h.

◆ NumberOfParametersType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::NumberOfParametersType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::NumberOfParametersType

Type of the scalar representing coordinate and vector elements.

Definition at line 76 of file otbTransform.h.

◆ OutputCovariantVectorType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef itk::CovariantVector<TScalarType, NOutputDimensions> otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::OutputCovariantVectorType

Type of the scalar representing coordinate and vector elements.

Definition at line 87 of file otbTransform.h.

◆ OutputPointType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef itk::Point<TScalarType, NOutputDimensions> otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::OutputPointType

Type of the scalar representing coordinate and vector elements.

Definition at line 95 of file otbTransform.h.

◆ OutputVectorType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef itk::Vector<TScalarType, NOutputDimensions> otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::OutputVectorType

Type of the scalar representing coordinate and vector elements.

Definition at line 83 of file otbTransform.h.

◆ OutputVnlVectorType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef vnl_vector_fixed<TScalarType, NOutputDimensions> otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::OutputVnlVectorType

Type of the scalar representing coordinate and vector elements.

Definition at line 91 of file otbTransform.h.

◆ ParametersType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::ParametersType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::ParametersType

Type of the input parameters.

Definition at line 74 of file otbTransform.h.

◆ ParametersValueType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::ParametersValueType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::ParametersValueType

Type of the scalar representing coordinate and vector elements.

Definition at line 75 of file otbTransform.h.

◆ Pointer

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef itk::SmartPointer<Self> otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::Pointer

Definition at line 47 of file otbTransform.h.

◆ ScalarType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef TScalarType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::ScalarType

Type of the scalar representing coordinate and vector elements.

Definition at line 71 of file otbTransform.h.

◆ Self

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Transform otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::Self

Standard class typedefs.

Definition at line 45 of file otbTransform.h.

◆ Superclass

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef itk::Transform<TScalarType, NInputDimensions, NOutputDimensions> otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::Superclass

Definition at line 46 of file otbTransform.h.

Member Enumeration Documentation

◆ TransformDirection

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
enum otb::Transform::TransformDirection
Enumerator
FORWARD 
INVERSE 

Definition at line 34 of file otbPCAImageFilter.h.

Constructor & Destructor Documentation

◆ Transform() [1/3]

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::Transform ( )
inlineprotected

Type of the scalar representing coordinate and vector elements.

Definition at line 229 of file otbTransform.h.

◆ Transform() [2/3]

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::Transform ( NumberOfParametersType  numberOfParameters)
inlineprotected

Type of the scalar representing coordinate and vector elements.

Definition at line 233 of file otbTransform.h.

◆ ~Transform()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::~Transform ( )
inlineoverrideprotected

Type of the scalar representing coordinate and vector elements.

Definition at line 237 of file otbTransform.h.

◆ Transform() [3/3]

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::Transform ( const Self )
privatedelete

Type of the scalar representing coordinate and vector elements.

Member Function Documentation

◆ ComputeJacobianWithRespectToParameters()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::ComputeJacobianWithRespectToParameters ( const InputPointType ,
JacobianType  
) const
inlineoverride

Type of the scalar representing coordinate and vector elements.

Definition at line 143 of file otbTransform.h.

◆ GetFixedParameters()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
const ParametersType& otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetFixedParameters ( void  ) const
inlineoverride

Get the Fixed Parameters.

Definition at line 173 of file otbTransform.h.

◆ GetInputSpaceDimension()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
unsigned int otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetInputSpaceDimension ( void  ) const
inlineoverride

Get the size of the input space

Definition at line 59 of file otbTransform.h.

◆ GetJacobian()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
virtual const JacobianType& otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetJacobian ( const InputPointType ) const
inlinevirtual

Compute the Jacobian of the transformation

This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.

The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:

\[ J=\left[ \begin{array}{cccc} \frac{\partial x_{1}}{\partial p_{1}} & \frac{\partial x_{1}}{\partial p_{2}} & \cdots & \frac{\partial x_{1}}{\partial p_{m}}\\ \frac{\partial x_{2}}{\partial p_{1}} & \frac{\partial x_{2}}{\partial p_{2}} & \cdots & \frac{\partial x_{2}}{\partial p_{m}}\\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial x_{n}}{\partial p_{1}} & \frac{\partial x_{n}}{\partial p_{2}} & \cdots & \frac{\partial x_{n}}{\partial p_{m}} \end{array}\right] \]

Definition at line 212 of file otbTransform.h.

◆ GetNameOfClass()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
virtual const char* otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetNameOfClass ( ) const
virtual

◆ GetNumberOfParameters()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
NumberOfParametersType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetNumberOfParameters ( void  ) const
inlineoverride

Return the number of parameters that completely define the Transform

Definition at line 223 of file otbTransform.h.

◆ GetOutputSpaceDimension()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
unsigned int otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetOutputSpaceDimension ( void  ) const
inlineoverride

Get the size of the output space

Definition at line 65 of file otbTransform.h.

◆ GetParameters()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
const ParametersType& otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetParameters ( void  ) const
inlineoverride

Get the Transformation Parameters.

Definition at line 161 of file otbTransform.h.

◆ operator=()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::operator= ( const Self )
privatedelete

Type of the scalar representing coordinate and vector elements.

◆ PrintSelf()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
inlineoverrideprotected

Type of the scalar representing coordinate and vector elements.

Definition at line 241 of file otbTransform.h.

◆ SetFixedParameters()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::SetFixedParameters ( const ParametersType )
inlineoverride

Set the fixed parameters and update internal transformation.

Definition at line 167 of file otbTransform.h.

◆ SetParameters()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::SetParameters ( const ParametersType )
inlineoverride

Set the transformation parameters and update internal transformation. SetParameters gives the transform the option to set it's parameters by keeping a reference to the parameters, or by copying. To force the transform to copy it's parameters call SetParametersByValue.

See also
SetParametersByValue

Definition at line 138 of file otbTransform.h.

◆ SetParametersByValue()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::SetParametersByValue ( const ParametersType p)
inlineoverride

Set the transformation parameters and update internal transformation. This method forces the transform to copy the parameters. The default implementation is to call SetParameters. This call must be overridden if the transform normally implements SetParameters by keeping a reference to the parameters.

See also
SetParameters

Definition at line 155 of file otbTransform.h.

◆ TransformCovariantVector()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
OutputCovariantVectorType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::TransformCovariantVector ( const InputCovariantVectorType ) const
inlineoverride

Method to transform a CovariantVector.

Definition at line 125 of file otbTransform.h.

◆ TransformPoint()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
OutputPointType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::TransformPoint ( const InputPointType ) const
inlineoverride

Method to transform a point.

Definition at line 105 of file otbTransform.h.

◆ TransformVector() [1/2]

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
OutputVectorType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::TransformVector ( const InputVectorType ) const
inlineoverride

Method to transform a vector.

Definition at line 112 of file otbTransform.h.

◆ TransformVector() [2/2]

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
OutputVnlVectorType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::TransformVector ( const InputVnlVectorType ) const
inlineoverride

Method to transform a vnl_vector.

Definition at line 118 of file otbTransform.h.

Member Data Documentation

◆ InputSpaceDimension

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
const unsigned int otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::InputSpaceDimension = NInputDimensions
static

Dimension of the domain space.

Definition at line 54 of file otbTransform.h.

◆ m_FixedParameters

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
ParametersType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::m_FixedParameters
mutableprotected

Type of the scalar representing coordinate and vector elements.

Definition at line 253 of file otbTransform.h.

◆ m_Jacobian

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
JacobianType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::m_Jacobian
mutableprotected

Type of the scalar representing coordinate and vector elements.

Definition at line 255 of file otbTransform.h.

◆ m_Parameters

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
ParametersType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::m_Parameters
mutableprotected

Type of the scalar representing coordinate and vector elements.

Definition at line 252 of file otbTransform.h.

◆ OutputSpaceDimension

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
const unsigned int otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::OutputSpaceDimension = NOutputDimensions
static

Type of the scalar representing coordinate and vector elements.

Definition at line 55 of file otbTransform.h.


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