OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | List of all members
ossimOptimizableProjection Class Referenceabstract

virtual class enabling projection optimization (can be used for outlier rejection - RANSAC) More...

#include <ossimOptimizableProjection.h>

Inheritance diagram for ossimOptimizableProjection:
ossimBilinearProjection ossimPolynomProjection ossimRpcProjection ossimSensorModel ossimAdjMapModel ossimAlphaSensor ossimApplanixEcefModel ossimApplanixUtmModel ossimCoarseGridModel ossimFcsiModel ossimIpodSensor ossimLandSatModel ossimNitfMapModel ossimplugins::ossimFormosatModel ossimplugins::ossimGeometricSarSensorModel ossimplugins::ossimTileMapModel ossimPpjFrameSensor ossimRpcModel ossimRS1SarModel ossimRsmModel ossimSarModel ossimSkyBoxLearSensor ossimSonomaSensor ossimSpectraboticsRedEdgeModel ossimSpot5Model

Public Member Functions

 ossimOptimizableProjection ()
 
 ossimOptimizableProjection (const ossimOptimizableProjection &source)
 
virtual ~ossimOptimizableProjection ()
 
virtual ossimOptimizableProjectionoperator= (const ossimOptimizableProjection &source)
 
virtual bool setupOptimizer (const ossimString &setup)
 setupFromString() Derived classes should implement as needed. Initialize parameters needed for optimizeFit and degreesOfFreedom More...
 
virtual bool useForward () const =0
 
virtual ossim_uint32 degreesOfFreedom () const =0
 
virtual bool needsInitialState () const
 needsInitialState() More...
 
virtual double optimizeFit (const ossimTieGptSet &tieSet, double *targetVariance=0)=0
 

Detailed Description

virtual class enabling projection optimization (can be used for outlier rejection - RANSAC)

Definition at line 20 of file ossimOptimizableProjection.h.

Constructor & Destructor Documentation

◆ ossimOptimizableProjection() [1/2]

ossimOptimizableProjection::ossimOptimizableProjection ( )

Construction and init

Definition at line 5 of file ossimOptimizableProjection.cpp.

6 {}

◆ ossimOptimizableProjection() [2/2]

ossimOptimizableProjection::ossimOptimizableProjection ( const ossimOptimizableProjection source)

Definition at line 8 of file ossimOptimizableProjection.cpp.

10 {
11  // nothing to do (copy) in base.
12 }

◆ ~ossimOptimizableProjection()

ossimOptimizableProjection::~ossimOptimizableProjection ( )
virtual

Definition at line 14 of file ossimOptimizableProjection.cpp.

15 {}

Member Function Documentation

◆ degreesOfFreedom()

virtual ossim_uint32 ossimOptimizableProjection::degreesOfFreedom ( ) const
pure virtual

degreesOfFreedom() number of degrees of freedom (eg: 8 for bilinear, 6 for affine, 2 for translation) especially useful when not inheriting from AdjustableParameterInterface

Implemented in ossimSensorModel, ossimRpcProjection, ossimBilinearProjection, and ossimPolynomProjection.

◆ needsInitialState()

bool ossimOptimizableProjection::needsInitialState ( ) const
virtual

needsInitialState()

Returns
This implementation returns false. Sub classes should true if the projection needs to be initialized to be optimized, eg: sensor models.

Reimplemented in ossimSensorModel.

Definition at line 33 of file ossimOptimizableProjection.cpp.

34 {
35  return false;
36 }

◆ operator=()

ossimOptimizableProjection & ossimOptimizableProjection::operator= ( const ossimOptimizableProjection source)
virtual

Definition at line 17 of file ossimOptimizableProjection.cpp.

Referenced by ossimRpcProjection::operator=(), and ossimSensorModel::operator=().

19 {
20  // nothing to do (copy) in base.
21  // if (this != & source)
22  // {
23  // }
24  return *this;
25 }

◆ optimizeFit()

virtual double ossimOptimizableProjection::optimizeFit ( const ossimTieGptSet tieSet,
double *  targetVariance = 0 
)
pure virtual

optimizeFit() adjusts projection to GLOBALLY fit best to ALL tie points (no outlier rejection) can select an optional threshold for accuracy

RETURNS : resulting image error variance of fitted model, or negative value for error

IMPORTANT : the unit for *targetVariance and the returned value is : meters^2 when useForward() is true OR pixel^2 if useForward() is false

Implemented in ossimSensorModel, ossimRpcProjection, ossimBilinearProjection, and ossimPolynomProjection.

◆ setupOptimizer()

bool ossimOptimizableProjection::setupOptimizer ( const ossimString setup)
virtual

setupFromString() Derived classes should implement as needed. Initialize parameters needed for optimizeFit and degreesOfFreedom

Returns
This implementation does nothing and returns false.

Reimplemented in ossimRpcModel, ossimLandSatModel, ossimRpcProjection, ossimplugins::ossimFormosatModel, ossimSpot5Model, ossimApplanixEcefModel, ossimBilinearProjection, ossimSpectraboticsRedEdgeModel, ossimPolynomProjection, and ossimApplanixUtmModel.

Definition at line 27 of file ossimOptimizableProjection.cpp.

29 {
30  return false;
31 }

◆ useForward()

virtual bool ossimOptimizableProjection::useForward ( ) const
pure virtual

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