OTB  9.0.0
Orfeo Toolbox
List of all members
otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions > Class Template Reference

#include <otbRPCTransformBase.h>

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

Standard class type definitions

using Self = RPCTransformBase
 
using Superclass = SensorTransformBase< TScalarType, NInputDimensions, NOutputDimensions >
 
using Pointer = itk::SmartPointer< Self >
 
using ConstPointer = itk::SmartPointer< const Self >
 
using InputPointType = itk::Point< TScalarType, NInputDimensions >
 
using OutputPointType = itk::Point< TScalarType, NOutputDimensions >
 
using TiePointsType = std::vector< std::pair< InputPointType, OutputPointType > >
 
using PixelType = TScalarType
 
static const unsigned int InputSpaceDimension = NInputDimensions
 
static const unsigned int OutputSpaceDimension = NOutputDimensions
 
std::unique_ptr< Projection::RPCParamm_RPCParam
 
std::unique_ptr< GDALRPCTransformerm_Transformer
 
virtual const char * GetNameOfClass () const
 
bool SetMetadata (const ImageMetadata &imd) override
 
bool IsValidSensorModel () const override
 
void OptimizeParameters (ImageMetadata &imd, const TiePointsType &tiepoints, double &rmsError) final
 
 RPCTransformBase (TransformDirection dir)
 
 ~RPCTransformBase ()=default
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 RPCTransformBase (const Self &)=delete
 
void operator= (const Self &)=delete
 

Additional Inherited Members

- Public Types inherited from otb::SensorTransformBase< TScalarType, 3, 2 >
using Self = SensorTransformBase
 
using Superclass = Transform< TScalarType, NInputDimensions, NOutputDimensions >
 
using Pointer = itk::SmartPointer< Self >
 
using ConstPointer = itk::SmartPointer< const Self >
 
using InputPointType = itk::Point< TScalarType, NInputDimensions >
 
using OutputPointType = itk::Point< TScalarType, NOutputDimensions >
 
using TiePointsType = std::vector< std::pair< InputPointType, OutputPointType > >
 
using PixelType = TScalarType
 
- Public Types inherited from otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >
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
}
 
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
 
- Public Member Functions inherited from otb::SensorTransformBase< TScalarType, 3, 2 >
virtual const char * GetNameOfClass () const
 
virtual bool IsValidSensorModel () const=0
 
TransformDirection getDirection () const
 
- Public Member Functions inherited from otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >
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
 
- Static Public Attributes inherited from otb::SensorTransformBase< TScalarType, 3, 2 >
static const unsigned int InputSpaceDimension
 
static const unsigned int OutputSpaceDimension
 
- 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 inherited from otb::SensorTransformBase< TScalarType, 3, 2 >
 SensorTransformBase (TransformDirection dir)
 
 ~SensorTransformBase ()=default
 
- Protected Member Functions inherited from otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >
 Transform ()
 
 Transform (NumberOfParametersType numberOfParameters)
 
 ~Transform () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
- Protected Attributes inherited from otb::SensorTransformBase< TScalarType, 3, 2 >
TransformDirection m_direction
 
- Protected Attributes inherited from otb::Transform< TScalarType, NInputDimensions, NOutputDimensions >
ParametersType m_Parameters
 
ParametersType m_FixedParameters
 
JacobianType m_Jacobian
 

Detailed Description

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

Base projection class based on the RPC method.

This is a projection class, based on a RPC sensor model. This class allows:

Definition at line 45 of file otbRPCTransformBase.h.

Member Typedef Documentation

◆ ConstPointer

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 2>
using otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::ConstPointer = itk::SmartPointer<const Self>

Run-time type information (and related methods).

Definition at line 53 of file otbRPCTransformBase.h.

◆ InputPointType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 2>
using otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::InputPointType = itk::Point<TScalarType, NInputDimensions>

Run-time type information (and related methods).

Definition at line 55 of file otbRPCTransformBase.h.

◆ OutputPointType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 2>
using otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::OutputPointType = itk::Point<TScalarType, NOutputDimensions>

Run-time type information (and related methods).

Definition at line 56 of file otbRPCTransformBase.h.

◆ PixelType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 2>
using otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::PixelType = TScalarType

Run-time type information (and related methods).

Definition at line 58 of file otbRPCTransformBase.h.

◆ Pointer

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 2>
using otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::Pointer = itk::SmartPointer<Self>

Run-time type information (and related methods).

Definition at line 52 of file otbRPCTransformBase.h.

◆ Self

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 2>
using otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::Self = RPCTransformBase

Run-time type information (and related methods).

Definition at line 50 of file otbRPCTransformBase.h.

◆ Superclass

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 2>
using otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::Superclass = SensorTransformBase<TScalarType, NInputDimensions, NOutputDimensions>

Run-time type information (and related methods).

Definition at line 51 of file otbRPCTransformBase.h.

◆ TiePointsType

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 2>
using otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::TiePointsType = std::vector<std::pair<InputPointType,OutputPointType> >

Run-time type information (and related methods).

Definition at line 57 of file otbRPCTransformBase.h.

Constructor & Destructor Documentation

◆ RPCTransformBase() [1/2]

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 2>
otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::RPCTransformBase ( TransformDirection  dir)
inlineprotected

Run-time type information (and related methods).

Definition at line 80 of file otbRPCTransformBase.h.

◆ ~RPCTransformBase()

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 2>
otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::~RPCTransformBase ( )
protecteddefault

Run-time type information (and related methods).

◆ RPCTransformBase() [2/2]

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

Run-time type information (and related methods).

Member Function Documentation

◆ GetNameOfClass()

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

Run-time type information (and related methods).

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

◆ IsValidSensorModel()

template<class TScalarType , unsigned int NInputDimensions, unsigned int NOutputDimensions>
bool otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::IsValidSensorModel
override

Check model validity

Definition at line 53 of file otbRPCTransformBase.hxx.

◆ operator=()

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

Run-time type information (and related methods).

◆ OptimizeParameters()

template<class TScalarType , unsigned int NInputDimensions, unsigned int NOutputDimensions>
void otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::OptimizeParameters ( ImageMetadata imd,
const TiePointsType tiepoints,
double &  rmsError 
)
finalvirtual

Refining the sensor model

Implements otb::SensorTransformBase< TScalarType, 3, 2 >.

Definition at line 70 of file otbRPCTransformBase.hxx.

◆ PrintSelf()

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

PrintSelf method

Definition at line 62 of file otbRPCTransformBase.hxx.

◆ SetMetadata()

template<class TScalarType , unsigned int NInputDimensions, unsigned int NOutputDimensions>
bool otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SetMetadata ( const ImageMetadata imd)
overridevirtual

Run-time type information (and related methods).

Implements otb::SensorTransformBase< TScalarType, 3, 2 >.

Definition at line 31 of file otbRPCTransformBase.hxx.

Member Data Documentation

◆ InputSpaceDimension

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

Run-time type information (and related methods).

Definition at line 64 of file otbRPCTransformBase.h.

◆ m_RPCParam

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 2>
std::unique_ptr<Projection::RPCParam> otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_RPCParam
protected

Run-time type information (and related methods).

Definition at line 84 of file otbRPCTransformBase.h.

◆ m_Transformer

template<class TScalarType , unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 2>
std::unique_ptr<GDALRPCTransformer> otb::RPCTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_Transformer
protected

Run-time type information (and related methods).

Definition at line 85 of file otbRPCTransformBase.h.

◆ OutputSpaceDimension

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

Run-time type information (and related methods).

Definition at line 65 of file otbRPCTransformBase.h.


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