OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members

#include <otbExhaustiveExponentialOptimizer.h>

+ Inheritance diagram for otb::ExhaustiveExponentialOptimizer:
+ Collaboration diagram for otb::ExhaustiveExponentialOptimizer:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::SmartPointer< SelfPointer
 
typedef ExhaustiveExponentialOptimizer Self
 
typedef itk::Array< unsigned long > StepsType
 
typedef itk::SingleValuedNonLinearOptimizer Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const ParametersType & GetCurrentIndex () const
 
virtual const MeasureType & GetCurrentValue () const
 
virtual const double & GetGeometricProgression () const
 
virtual const MeasureType & GetMaximumMetricValue () const
 
virtual const ParametersType & GetMaximumMetricValuePosition () const
 
virtual const unsigned long & GetMaximumNumberOfIterations () const
 
virtual const MeasureType & GetMinimumMetricValue () const
 
virtual const ParametersType & GetMinimumMetricValuePosition () const
 
virtual const char * GetNameOfClass () const
 
virtual const StepsTypeGetNumberOfSteps () const
 
virtual const double & GetStepLength () const
 
void ResumeWalking (void)
 
virtual void SetGeometricProgression (double _arg)
 
virtual void SetNumberOfSteps (StepsType _arg)
 
virtual void SetStepLength (double _arg)
 
void StartOptimization (void) override
 
void StartWalking (void)
 
void StopWalking (void)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ExhaustiveExponentialOptimizer ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 ~ExhaustiveExponentialOptimizer () override
 
MeasureType m_CurrentValue
 
StepsType m_NumberOfSteps
 
double m_StepLength
 
unsigned long m_CurrentIteration
 
bool m_Stop
 
unsigned int m_CurrentParameter
 
double m_GeometricProgression
 
ParametersType m_CurrentIndex
 
unsigned long m_MaximumNumberOfIterations
 
MeasureType m_MaximumMetricValue
 
MeasureType m_MinimumMetricValue
 
ParametersType m_MinimumMetricValuePosition
 
ParametersType m_MaximumMetricValuePosition
 
void AdvanceOneStep (void)
 
void IncrementIndex (ParametersType &param)
 
 ExhaustiveExponentialOptimizer (const Self &)=delete
 
void operator= (const Self &)=delete
 

Detailed Description

This optimizer performs an exhaustive search on an exponential scale.

This optimizer is equivalent to an exhaustive search in a discrete grid defined over the parametric space. The grid is centered on the initial position. The subdivisions of the grid along each one of the dimensions of the parametric space is defined by a exponential progression with scale factor m_ScaleFactor, with the exponent following an arithmetic progression from 0 to m_NumberOfSteps * m_StepLength in both positive and negative direction.

This optimizer can be use to perform a preliminary coarse search on the search space.

Definition at line 47 of file otbExhaustiveExponentialOptimizer.h.

Member Typedef Documentation

◆ ConstPointer

typedef itk::SmartPointer<const Self> otb::ExhaustiveExponentialOptimizer::ConstPointer

Definition at line 54 of file otbExhaustiveExponentialOptimizer.h.

◆ Pointer

Definition at line 53 of file otbExhaustiveExponentialOptimizer.h.

◆ Self

Standard "Self" typedef.

Definition at line 51 of file otbExhaustiveExponentialOptimizer.h.

◆ StepsType

typedef itk::Array<unsigned long> otb::ExhaustiveExponentialOptimizer::StepsType

Definition at line 56 of file otbExhaustiveExponentialOptimizer.h.

◆ Superclass

typedef itk::SingleValuedNonLinearOptimizer otb::ExhaustiveExponentialOptimizer::Superclass

Definition at line 52 of file otbExhaustiveExponentialOptimizer.h.

Constructor & Destructor Documentation

◆ ExhaustiveExponentialOptimizer() [1/2]

otb::ExhaustiveExponentialOptimizer::ExhaustiveExponentialOptimizer ( )
protected

◆ ~ExhaustiveExponentialOptimizer()

otb::ExhaustiveExponentialOptimizer::~ExhaustiveExponentialOptimizer ( )
inlineoverrideprotected

Definition at line 85 of file otbExhaustiveExponentialOptimizer.h.

◆ ExhaustiveExponentialOptimizer() [2/2]

otb::ExhaustiveExponentialOptimizer::ExhaustiveExponentialOptimizer ( const Self )
privatedelete

Advance to the next grid position.

Member Function Documentation

◆ AdvanceOneStep()

void otb::ExhaustiveExponentialOptimizer::AdvanceOneStep ( void  )
protected

Advance to the next grid position.

◆ CreateAnother()

virtual::itk::LightObject::Pointer otb::ExhaustiveExponentialOptimizer::CreateAnother ( void  ) const

◆ GetCurrentIndex()

virtual const ParametersType& otb::ExhaustiveExponentialOptimizer::GetCurrentIndex ( ) const
virtual

◆ GetCurrentValue()

virtual const MeasureType& otb::ExhaustiveExponentialOptimizer::GetCurrentValue ( ) const
virtual

◆ GetGeometricProgression()

virtual const double& otb::ExhaustiveExponentialOptimizer::GetGeometricProgression ( ) const
virtual

◆ GetMaximumMetricValue()

virtual const MeasureType& otb::ExhaustiveExponentialOptimizer::GetMaximumMetricValue ( ) const
virtual

◆ GetMaximumMetricValuePosition()

virtual const ParametersType& otb::ExhaustiveExponentialOptimizer::GetMaximumMetricValuePosition ( ) const
virtual

◆ GetMaximumNumberOfIterations()

virtual const unsigned long& otb::ExhaustiveExponentialOptimizer::GetMaximumNumberOfIterations ( ) const
virtual

◆ GetMinimumMetricValue()

virtual const MeasureType& otb::ExhaustiveExponentialOptimizer::GetMinimumMetricValue ( ) const
virtual

◆ GetMinimumMetricValuePosition()

virtual const ParametersType& otb::ExhaustiveExponentialOptimizer::GetMinimumMetricValuePosition ( ) const
virtual

◆ GetNameOfClass()

virtual const char* otb::ExhaustiveExponentialOptimizer::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

◆ GetNumberOfSteps()

virtual const StepsType& otb::ExhaustiveExponentialOptimizer::GetNumberOfSteps ( ) const
virtual

◆ GetStepLength()

virtual const double& otb::ExhaustiveExponentialOptimizer::GetStepLength ( ) const
virtual

◆ IncrementIndex()

void otb::ExhaustiveExponentialOptimizer::IncrementIndex ( ParametersType &  param)
protected

Advance to the next grid position.

◆ New()

static Pointer otb::ExhaustiveExponentialOptimizer::New ( )
static

Method for creation through the object factory.

Referenced by otb::LibSVMMachineLearningModel< TInputValue, TTargetValue >::OptimizeParameters().

◆ operator=()

void otb::ExhaustiveExponentialOptimizer::operator= ( const Self )
privatedelete

Advance to the next grid position.

◆ PrintSelf()

void otb::ExhaustiveExponentialOptimizer::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected

◆ ResumeWalking()

void otb::ExhaustiveExponentialOptimizer::ResumeWalking ( void  )

◆ SetGeometricProgression()

virtual void otb::ExhaustiveExponentialOptimizer::SetGeometricProgression ( double  _arg)
virtual

◆ SetNumberOfSteps()

virtual void otb::ExhaustiveExponentialOptimizer::SetNumberOfSteps ( StepsType  _arg)
virtual

◆ SetStepLength()

virtual void otb::ExhaustiveExponentialOptimizer::SetStepLength ( double  _arg)
virtual

◆ StartOptimization()

void otb::ExhaustiveExponentialOptimizer::StartOptimization ( void  )
override

◆ StartWalking()

void otb::ExhaustiveExponentialOptimizer::StartWalking ( void  )

◆ StopWalking()

void otb::ExhaustiveExponentialOptimizer::StopWalking ( void  )

Member Data Documentation

◆ m_CurrentIndex

ParametersType otb::ExhaustiveExponentialOptimizer::m_CurrentIndex
protected

Advance to the next grid position.

Definition at line 103 of file otbExhaustiveExponentialOptimizer.h.

◆ m_CurrentIteration

unsigned long otb::ExhaustiveExponentialOptimizer::m_CurrentIteration
protected

Advance to the next grid position.

Definition at line 99 of file otbExhaustiveExponentialOptimizer.h.

◆ m_CurrentParameter

unsigned int otb::ExhaustiveExponentialOptimizer::m_CurrentParameter
protected

Advance to the next grid position.

Definition at line 101 of file otbExhaustiveExponentialOptimizer.h.

◆ m_CurrentValue

MeasureType otb::ExhaustiveExponentialOptimizer::m_CurrentValue
protected

Advance to the next grid position.

Definition at line 96 of file otbExhaustiveExponentialOptimizer.h.

◆ m_GeometricProgression

double otb::ExhaustiveExponentialOptimizer::m_GeometricProgression
protected

Advance to the next grid position.

Definition at line 102 of file otbExhaustiveExponentialOptimizer.h.

◆ m_MaximumMetricValue

MeasureType otb::ExhaustiveExponentialOptimizer::m_MaximumMetricValue
protected

Advance to the next grid position.

Definition at line 105 of file otbExhaustiveExponentialOptimizer.h.

◆ m_MaximumMetricValuePosition

ParametersType otb::ExhaustiveExponentialOptimizer::m_MaximumMetricValuePosition
protected

Advance to the next grid position.

Definition at line 108 of file otbExhaustiveExponentialOptimizer.h.

◆ m_MaximumNumberOfIterations

unsigned long otb::ExhaustiveExponentialOptimizer::m_MaximumNumberOfIterations
protected

Advance to the next grid position.

Definition at line 104 of file otbExhaustiveExponentialOptimizer.h.

◆ m_MinimumMetricValue

MeasureType otb::ExhaustiveExponentialOptimizer::m_MinimumMetricValue
protected

Advance to the next grid position.

Definition at line 106 of file otbExhaustiveExponentialOptimizer.h.

◆ m_MinimumMetricValuePosition

ParametersType otb::ExhaustiveExponentialOptimizer::m_MinimumMetricValuePosition
protected

Advance to the next grid position.

Definition at line 107 of file otbExhaustiveExponentialOptimizer.h.

◆ m_NumberOfSteps

StepsType otb::ExhaustiveExponentialOptimizer::m_NumberOfSteps
protected

Advance to the next grid position.

Definition at line 97 of file otbExhaustiveExponentialOptimizer.h.

◆ m_StepLength

double otb::ExhaustiveExponentialOptimizer::m_StepLength
protected

Advance to the next grid position.

Definition at line 98 of file otbExhaustiveExponentialOptimizer.h.

◆ m_Stop

bool otb::ExhaustiveExponentialOptimizer::m_Stop
protected

Advance to the next grid position.

Definition at line 100 of file otbExhaustiveExponentialOptimizer.h.


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