Orfeo ToolBox  4.2
Orfeo ToolBox is not a black box
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
otb::Transform< TScalarType, NInputDimensions, NOutputDimensions > Class Template Reference

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

#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 Self
ConstPointer
 
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 void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const
 
virtual const ParametersTypeGetFixedParameters (void) const
 
unsigned int GetInputSpaceDimension (void) const
 
virtual const JacobianTypeGetJacobian (const InputPointType &) const
 
virtual const char * GetNameOfClass () const
 
virtual NumberOfParametersType GetNumberOfParameters (void) const
 
unsigned int GetOutputSpaceDimension (void) const
 
virtual const ParametersTypeGetParameters (void) const
 
virtual void SetFixedParameters (const ParametersType &)
 
virtual void SetParameters (const ParametersType &)
 
virtual void SetParametersByValue (const ParametersType &p)
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const
 
virtual OutputPointType TransformPoint (const InputPointType &) const
 
virtual OutputVectorType TransformVector (const InputVectorType &) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
 
- Public Member Functions inherited from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >
virtual InverseTransformBasePointer GetInverseTransform () const
 
virtual TransformCategoryType GetTransformCategory () const
 
virtual bool IsLinear () const
 
- Public Member Functions inherited from itk::TransformBaseTemplate< TScalar >
virtual std::string GetTransformTypeAsString () const =0
 

Static Public Attributes

static const unsigned int InputSpaceDimension = NInputDimensions
 
static const unsigned int OutputSpaceDimension = NOutputDimensions
 

Protected Member Functions

 Transform ()
 
 Transform (NumberOfParametersType numberOfParameters)
 
virtual ~Transform ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const
 

Protected Attributes

ParametersType m_FixedParameters
 
JacobianType m_Jacobian
 
ParametersType m_Parameters
 

Private Member Functions

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

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 36 of file otbTransform.h.

Member Typedef Documentation

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 47 of file otbTransform.h.

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 78 of file otbTransform.h.

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 86 of file otbTransform.h.

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 74 of file otbTransform.h.

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 82 of file otbTransform.h.

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

Definition at line 93 of file otbTransform.h.

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 91 of file otbTransform.h.

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 71 of file otbTransform.h.

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

Definition at line 68 of file otbTransform.h.

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

Definition at line 79 of file otbTransform.h.

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

Definition at line 87 of file otbTransform.h.

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

Definition at line 75 of file otbTransform.h.

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

Definition at line 83 of file otbTransform.h.

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 66 of file otbTransform.h.

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

Definition at line 67 of file otbTransform.h.

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

Definition at line 46 of file otbTransform.h.

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 63 of file otbTransform.h.

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 42 of file otbTransform.h.

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 45 of file otbTransform.h.

Member Enumeration Documentation

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

Definition at line 33 of file otbPCAImageFilter.h.

Constructor & Destructor Documentation

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

Definition at line 196 of file otbTransform.h.

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

Definition at line 199 of file otbTransform.h.

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

Definition at line 203 of file otbTransform.h.

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

Member Function Documentation

template<class TScalarType, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
virtual void otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::ComputeJacobianWithRespectToParameters ( const InputPointType ,
JacobianType  
) const
inlinevirtual
template<class TScalarType, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
virtual const ParametersType& otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetFixedParameters ( void  ) const
inlinevirtual
template<class TScalarType, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
unsigned int otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetInputSpaceDimension ( void  ) const
inlinevirtual

Get the size of the input space

Implements itk::TransformBaseTemplate< TScalar >.

Definition at line 57 of file otbTransform.h.

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 183 of file otbTransform.h.

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

Run-time type information (and related methods).

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

Reimplemented in otb::CompositeTransform< TFirstTransform, TSecondTransform, TScalarType, NInputDimensions, NOutputDimensions >, otb::MapProjectionDeprecated< TMapProj, TTransform >, otb::GenericRSTransform< TScalarType, NInputDimensions, NOutputDimensions >, otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >, otb::GenericMapProjection< TTransform >, otb::RationalTransform< TScalarType, Dimension >, otb::SensorModelBase< TScalarType, NInputDimensions, NOutputDimensions >, otb::ForwardSensorModel< TScalarType, NInputDimensions, NOutputDimensions >, otb::InverseSensorModel< TScalarType, NInputDimensions, NOutputDimensions >, otb::TileMapTransform< TTransformDirection, TScalarType, NInputDimensions, NOutputDimensions >, otb::LogPolarTransform< TScalarType >, otb::GeocentricTransform< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >, otb::InverseLogPolarTransform< TScalarType >, otb::UtmMapProjection< TTransform >, otb::Eckert4MapProjection< TTransform >, otb::SinusoidalMapProjection< TTransform >, otb::TransMercatorMapProjection< TTransform >, otb::Lambert3CartoSudProjection< TTransform >, otb::LambertConformalConicMapProjection< TTransform >, otb::SVY21MapProjection< TTransform >, otb::MollweidMapProjection< TTransform >, otb::Lambert2EtenduProjection< TTransform >, and otb::Lambert93Projection< TTransform >.

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

Return the number of parameters that completely define the Transfom

Implements itk::TransformBaseTemplate< TScalar >.

Reimplemented in otb::RationalTransform< TScalarType, Dimension >.

Definition at line 192 of file otbTransform.h.

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

Get the size of the output space

Implements itk::TransformBaseTemplate< TScalar >.

Definition at line 60 of file otbTransform.h.

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

Get the Transformation Parameters.

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

Reimplemented in otb::LogPolarTransform< TScalarType >, and otb::InverseLogPolarTransform< TScalarType >.

Definition at line 138 of file otbTransform.h.

template<class TScalarType, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::operator= ( const Self )
private
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
inlineprotected

Definition at line 205 of file otbTransform.h.

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

Set the fixed parameters and update internal transformation.

Reimplemented in otb::LogPolarTransform< TScalarType >, and otb::InverseLogPolarTransform< TScalarType >.

Definition at line 144 of file otbTransform.h.

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

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

Reimplemented in otb::LogPolarTransform< TScalarType >, and otb::InverseLogPolarTransform< TScalarType >.

Definition at line 119 of file otbTransform.h.

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

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 134 of file otbTransform.h.

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

Method to transform a CovariantVector.

Definition at line 108 of file otbTransform.h.

template<class TScalarType, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
virtual OutputPointType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::TransformPoint ( const InputPointType ) const
inlinevirtual
template<class TScalarType, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
virtual OutputVectorType otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >::TransformVector ( const InputVectorType ) const
inlinevirtual

Method to transform a vector.

Reimplemented in otb::LogPolarTransform< TScalarType >, and otb::InverseLogPolarTransform< TScalarType >.

Definition at line 100 of file otbTransform.h.

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

Method to transform a vnl_vector.

Reimplemented in otb::LogPolarTransform< TScalarType >, and otb::InverseLogPolarTransform< TScalarType >.

Definition at line 104 of file otbTransform.h.

Member Data Documentation

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 53 of file otbTransform.h.

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

Definition at line 217 of file otbTransform.h.

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

Definition at line 219 of file otbTransform.h.

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

Definition at line 216 of file otbTransform.h.

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

Definition at line 54 of file otbTransform.h.


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