OTB  7.4.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
otb::InverseLogPolarTransform< TScalarType > Class Template Reference

#include <otbInverseLogPolarTransform.h>

+ Inheritance diagram for otb::InverseLogPolarTransform< TScalarType >:
+ Collaboration diagram for otb::InverseLogPolarTransform< TScalarType >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::InputVnlVectorType InputVnlVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::OutputVectorType OutputVectorType
 
typedef Superclass::OutputVnlVectorType OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef itk::SmartPointer< SelfPointer
 
typedef TScalarType ScalarType
 
typedef itk::FixedArray< TScalarType, 2 > ScaleType
 
typedef InverseLogPolarTransform Self
 
typedef Transform< TScalarType, 2, 2 > Superclass
 
- Public Types inherited from otb::Transform< TScalarType, 2, 2 >
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
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
const ParametersTypeGetFixedParameters (void) const override
 
virtual const char * GetNameOfClass () const
 
ParametersTypeGetParameters (void) const override
 
virtual const ScaleTypeGetScale () const
 
void SetFixedParameters (const ParametersType &param) override
 
void SetParameters (const ParametersType &parameters) override
 
virtual void SetScale (ScaleType _arg)
 
OutputPointType TransformPoint (const InputPointType &point) const override
 
OutputVectorType TransformVector (const InputVectorType &vector) const override
 
OutputVnlVectorType TransformVector (const InputVnlVectorType &vector) const override
 
virtual void SetCenter (InputPointType _arg)
 
virtual const InputPointTypeGetCenter () const
 
- Public Member Functions inherited from otb::Transform< TScalarType, 2, 2 >
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 ()
 

Protected Member Functions

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

Private Member Functions

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

Private Attributes

InputPointType m_Center
 
ScaleType m_Scale
 

Additional Inherited Members

- Static Public Attributes inherited from otb::Transform< TScalarType, 2, 2 >
static const unsigned int InputSpaceDimension
 
static const unsigned int OutputSpaceDimension
 
- Protected Attributes inherited from otb::Transform< TScalarType, 2, 2 >
ParametersType m_FixedParameters
 
JacobianType m_Jacobian
 
ParametersType m_Parameters
 

Detailed Description

template<class TScalarType>
class otb::InverseLogPolarTransform< TScalarType >

This transform is the back transform of the LogPolarTransform.

Given (x, y) the coordinates of a point in cartesian system, the corresponding log-polar coordinates are : $ \rho = 1/2*log((x-xc)^2+(y+yc)^2) $ $ \theta = asin(y-yc)/(\sqrt{(x-xc)^2+(y+yc)^2}) $

In this implementation, theta is expressed in degree, and the result of the asin function is clamped to the [0, 360] range. Please note that since the transform of the center has no meaning it is rejected to the point [400, 0], which does not belong to this range. This is done to provide a coordinate not likely to belong to a log-polar image buffer.

See also
LogPolarTransform

Definition at line 48 of file otbInverseLogPolarTransform.h.

Member Typedef Documentation

◆ ConstPointer

template<class TScalarType>
typedef itk::SmartPointer<const Self> otb::InverseLogPolarTransform< TScalarType >::ConstPointer

Definition at line 55 of file otbInverseLogPolarTransform.h.

◆ InputPointType

template<class TScalarType>
typedef Superclass::InputPointType otb::InverseLogPolarTransform< TScalarType >::InputPointType

Superclass related typedefs

Definition at line 67 of file otbInverseLogPolarTransform.h.

◆ InputVectorType

template<class TScalarType>
typedef Superclass::InputVectorType otb::InverseLogPolarTransform< TScalarType >::InputVectorType

Definition at line 69 of file otbInverseLogPolarTransform.h.

◆ InputVnlVectorType

template<class TScalarType>
typedef Superclass::InputVnlVectorType otb::InverseLogPolarTransform< TScalarType >::InputVnlVectorType

Definition at line 71 of file otbInverseLogPolarTransform.h.

◆ OutputPointType

template<class TScalarType>
typedef Superclass::OutputPointType otb::InverseLogPolarTransform< TScalarType >::OutputPointType

Definition at line 68 of file otbInverseLogPolarTransform.h.

◆ OutputVectorType

template<class TScalarType>
typedef Superclass::OutputVectorType otb::InverseLogPolarTransform< TScalarType >::OutputVectorType

Definition at line 70 of file otbInverseLogPolarTransform.h.

◆ OutputVnlVectorType

template<class TScalarType>
typedef Superclass::OutputVnlVectorType otb::InverseLogPolarTransform< TScalarType >::OutputVnlVectorType

Definition at line 72 of file otbInverseLogPolarTransform.h.

◆ ParametersType

template<class TScalarType>
typedef Superclass::ParametersType otb::InverseLogPolarTransform< TScalarType >::ParametersType

Definition at line 73 of file otbInverseLogPolarTransform.h.

◆ Pointer

template<class TScalarType>
typedef itk::SmartPointer<Self> otb::InverseLogPolarTransform< TScalarType >::Pointer

Definition at line 54 of file otbInverseLogPolarTransform.h.

◆ ScalarType

template<class TScalarType>
typedef TScalarType otb::InverseLogPolarTransform< TScalarType >::ScalarType

Template related typedefs

Definition at line 61 of file otbInverseLogPolarTransform.h.

◆ ScaleType

template<class TScalarType>
typedef itk::FixedArray<TScalarType, 2> otb::InverseLogPolarTransform< TScalarType >::ScaleType

Definition at line 74 of file otbInverseLogPolarTransform.h.

◆ Self

template<class TScalarType>
typedef InverseLogPolarTransform otb::InverseLogPolarTransform< TScalarType >::Self

Standard typedef

Definition at line 52 of file otbInverseLogPolarTransform.h.

◆ Superclass

template<class TScalarType>
typedef Transform<TScalarType, 2, 2> otb::InverseLogPolarTransform< TScalarType >::Superclass

Definition at line 53 of file otbInverseLogPolarTransform.h.

Constructor & Destructor Documentation

◆ InverseLogPolarTransform() [1/2]

template<class TScalarType >
otb::InverseLogPolarTransform< TScalarType >::InverseLogPolarTransform ( )
protected

◆ ~InverseLogPolarTransform()

template<class TScalarType >
otb::InverseLogPolarTransform< TScalarType >::~InverseLogPolarTransform ( )
overrideprotected

Destructor

Destructor.

Definition at line 46 of file otbInverseLogPolarTransform.hxx.

◆ InverseLogPolarTransform() [2/2]

template<class TScalarType>
otb::InverseLogPolarTransform< TScalarType >::InverseLogPolarTransform ( const Self )
privatedelete

Member Function Documentation

◆ CreateAnother()

template<class TScalarType>
virtual::itk::LightObject::Pointer otb::InverseLogPolarTransform< TScalarType >::CreateAnother ( void  ) const

◆ GetCenter()

template<class TScalarType>
virtual const InputPointType& otb::InverseLogPolarTransform< TScalarType >::GetCenter ( ) const
virtual

Set/Get the origin

◆ GetFixedParameters()

template<class TScalarType>
const ParametersType& otb::InverseLogPolarTransform< TScalarType >::GetFixedParameters ( void  ) const
inlineoverride

Get the Fixed Parameters

Returns
The Fixed parameters of the transform.

Definition at line 110 of file otbInverseLogPolarTransform.h.

◆ GetNameOfClass()

template<class TScalarType>
virtual const char* otb::InverseLogPolarTransform< TScalarType >::GetNameOfClass ( ) const
virtual

Runtime information

Reimplemented from otb::Transform< TScalarType, 2, 2 >.

◆ GetParameters()

template<class TScalarType >
InverseLogPolarTransform< TScalarType >::ParametersType & otb::InverseLogPolarTransform< TScalarType >::GetParameters ( void  ) const
override

Get the transform parameters through the standard interface.

Returns
The parameters of the transform.

Definition at line 71 of file otbInverseLogPolarTransform.hxx.

References otb::InverseLogPolarTransform< TScalarType >::m_Center, otb::Transform< TScalarType, 2, 2 >::m_Parameters, and otb::InverseLogPolarTransform< TScalarType >::m_Scale.

◆ GetScale()

template<class TScalarType>
virtual const ScaleType& otb::InverseLogPolarTransform< TScalarType >::GetScale ( ) const
virtual

◆ New()

template<class TScalarType>
static Pointer otb::InverseLogPolarTransform< TScalarType >::New ( )
static

Creation through object factory

◆ operator=()

template<class TScalarType>
void otb::InverseLogPolarTransform< TScalarType >::operator= ( const Self )
privatedelete

◆ PrintSelf()

template<class TScalarType >
void otb::InverseLogPolarTransform< TScalarType >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected

◆ SetCenter()

template<class TScalarType>
virtual void otb::InverseLogPolarTransform< TScalarType >::SetCenter ( InputPointType  _arg)
virtual

Set/Get the origin

◆ SetFixedParameters()

template<class TScalarType>
void otb::InverseLogPolarTransform< TScalarType >::SetFixedParameters ( const ParametersType param)
inlineoverride

Set the Fixed Parameters

Parameters
paramThe fixed parameters of the transform.

Definition at line 101 of file otbInverseLogPolarTransform.h.

◆ SetParameters()

template<class TScalarType >
void otb::InverseLogPolarTransform< TScalarType >::SetParameters ( const ParametersType parameters)
override

Set the transform parameters through the standard interface.

Parameters
parametersThe parameters of the transform.

Definition at line 55 of file otbInverseLogPolarTransform.hxx.

References otb::InverseLogPolarTransform< TScalarType >::m_Center, otb::Transform< TScalarType, 2, 2 >::m_Parameters, otb::InverseLogPolarTransform< TScalarType >::m_Scale, and otbMsgDebugMacro.

◆ SetScale()

template<class TScalarType>
virtual void otb::InverseLogPolarTransform< TScalarType >::SetScale ( ScaleType  _arg)
virtual

Set/Get the scales

◆ TransformPoint()

template<class TScalarType >
InverseLogPolarTransform< TScalarType >::OutputPointType otb::InverseLogPolarTransform< TScalarType >::TransformPoint ( const InputPointType point) const
override

Transform a point.

Parameters
pointThe point to transform.
Returns
The transformed point.

Definition at line 88 of file otbInverseLogPolarTransform.hxx.

References otb::CONST_PI, otb::InverseLogPolarTransform< TScalarType >::m_Center, and otb::InverseLogPolarTransform< TScalarType >::m_Scale.

◆ TransformVector() [1/2]

template<class TScalarType >
InverseLogPolarTransform< TScalarType >::OutputVectorType otb::InverseLogPolarTransform< TScalarType >::TransformVector ( const InputVectorType vector) const
override

Transform a vector representing a point.

Parameters
vectorThe point to transform.
Returns
The transformed point.

Definition at line 122 of file otbInverseLogPolarTransform.hxx.

References otb::CONST_PI, otb::InverseLogPolarTransform< TScalarType >::m_Center, and otb::InverseLogPolarTransform< TScalarType >::m_Scale.

◆ TransformVector() [2/2]

template<class TScalarType >
InverseLogPolarTransform< TScalarType >::OutputVnlVectorType otb::InverseLogPolarTransform< TScalarType >::TransformVector ( const InputVnlVectorType vector) const
override

Transform a vnl vector representing a point.

Parameters
vectorThe point to transform.
Returns
The transformed point.

Transform a vnl vector representing a vector.

Parameters
vectorThe vector to transform.
Returns
The transformed vector.

Definition at line 157 of file otbInverseLogPolarTransform.hxx.

References otb::CONST_PI, otb::InverseLogPolarTransform< TScalarType >::m_Center, and otb::InverseLogPolarTransform< TScalarType >::m_Scale.

Member Data Documentation

◆ m_Center

template<class TScalarType>
InputPointType otb::InverseLogPolarTransform< TScalarType >::m_Center
private

◆ m_Scale

template<class TScalarType>
ScaleType otb::InverseLogPolarTransform< TScalarType >::m_Scale
private

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