Orfeo ToolBox  4.2
Orfeo ToolBox is not a black box
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
otb::ExhaustiveExponentialOptimizer Class Reference

This optimizer performs an exhaustive search on an exponential scale. More...

#include <otbExhaustiveExponentialOptimizer.h>

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

Public Types

typedef itk::SmartPointer
< const Self
ConstPointer
 
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 ()
 
virtual const MeasureType & GetCurrentValue ()
 
virtual const double & GetGeometricProgression ()
 
virtual const MeasureType & GetMaximumMetricValue ()
 
virtual const ParametersType & GetMaximumMetricValuePosition ()
 
virtual const unsigned long & GetMaximumNumberOfIterations ()
 
virtual const MeasureType & GetMinimumMetricValue ()
 
virtual const ParametersType & GetMinimumMetricValuePosition ()
 
virtual const char * GetNameOfClass () const
 
virtual const StepsTypeGetNumberOfSteps ()
 
virtual const double & GetStepLength ()
 
void ResumeWalking (void)
 
virtual void SetGeometricProgression (double _arg)
 
virtual void SetNumberOfSteps (StepsType _arg)
 
virtual void SetStepLength (double _arg)
 
virtual void StartOptimization (void)
 
void StartWalking (void)
 
void StopWalking (void)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ExhaustiveExponentialOptimizer ()
 
virtual ~ExhaustiveExponentialOptimizer ()
 
void AdvanceOneStep (void)
 
void IncrementIndex (ParametersType &param)
 
void PrintSelf (std::ostream &os, itk::Indent indent) const
 

Protected Attributes

ParametersType m_CurrentIndex
 
unsigned long m_CurrentIteration
 
unsigned int m_CurrentParameter
 
MeasureType m_CurrentValue
 
double m_GeometricProgression
 
MeasureType m_MaximumMetricValue
 
ParametersType m_MaximumMetricValuePosition
 
unsigned long m_MaximumNumberOfIterations
 
MeasureType m_MinimumMetricValue
 
ParametersType m_MinimumMetricValuePosition
 
StepsType m_NumberOfSteps
 
double m_StepLength
 
bool m_Stop
 

Private Member Functions

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

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

Member Typedef Documentation

Definition at line 50 of file otbExhaustiveExponentialOptimizer.h.

Definition at line 49 of file otbExhaustiveExponentialOptimizer.h.

Standard "Self" typedef.

Definition at line 47 of file otbExhaustiveExponentialOptimizer.h.

Definition at line 52 of file otbExhaustiveExponentialOptimizer.h.

Definition at line 48 of file otbExhaustiveExponentialOptimizer.h.

Constructor & Destructor Documentation

otb::ExhaustiveExponentialOptimizer::ExhaustiveExponentialOptimizer ( )
protected

Constructor

Definition at line 29 of file otbExhaustiveExponentialOptimizer.cxx.

virtual otb::ExhaustiveExponentialOptimizer::~ExhaustiveExponentialOptimizer ( )
inlineprotectedvirtual

Definition at line 81 of file otbExhaustiveExponentialOptimizer.h.

otb::ExhaustiveExponentialOptimizer::ExhaustiveExponentialOptimizer ( const Self )
private

Member Function Documentation

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

Advance to the next grid position.

Definition at line 163 of file otbExhaustiveExponentialOptimizer.cxx.

virtual::itk::LightObject::Pointer otb::ExhaustiveExponentialOptimizer::CreateAnother ( void  ) const
virtual const ParametersType& otb::ExhaustiveExponentialOptimizer::GetCurrentIndex ( )
virtual
virtual const MeasureType& otb::ExhaustiveExponentialOptimizer::GetCurrentValue ( )
virtual
virtual const double& otb::ExhaustiveExponentialOptimizer::GetGeometricProgression ( )
virtual
virtual const MeasureType& otb::ExhaustiveExponentialOptimizer::GetMaximumMetricValue ( )
virtual
virtual const ParametersType& otb::ExhaustiveExponentialOptimizer::GetMaximumMetricValuePosition ( )
virtual
virtual const unsigned long& otb::ExhaustiveExponentialOptimizer::GetMaximumNumberOfIterations ( )
virtual
virtual const MeasureType& otb::ExhaustiveExponentialOptimizer::GetMinimumMetricValue ( )
virtual
virtual const ParametersType& otb::ExhaustiveExponentialOptimizer::GetMinimumMetricValuePosition ( )
virtual
virtual const char* otb::ExhaustiveExponentialOptimizer::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::SingleValuedNonLinearOptimizer.

virtual const StepsType& otb::ExhaustiveExponentialOptimizer::GetNumberOfSteps ( )
virtual
virtual const double& otb::ExhaustiveExponentialOptimizer::GetStepLength ( )
virtual
void otb::ExhaustiveExponentialOptimizer::IncrementIndex ( ParametersType &  param)
protected

Definition at line 179 of file otbExhaustiveExponentialOptimizer.cxx.

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

Method for creation through the object factory.

Referenced by otb::SVMModelEstimator< InputPixelType, LabelPixelType >::OptimizeParameters().

void otb::ExhaustiveExponentialOptimizer::operator= ( const Self )
private
void otb::ExhaustiveExponentialOptimizer::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
protectedvirtual

Reimplemented from itk::SingleValuedNonLinearOptimizer.

Definition at line 215 of file otbExhaustiveExponentialOptimizer.cxx.

void otb::ExhaustiveExponentialOptimizer::ResumeWalking ( void  )

Resume the optimization

Definition at line 111 of file otbExhaustiveExponentialOptimizer.cxx.

virtual void otb::ExhaustiveExponentialOptimizer::SetGeometricProgression ( double  _arg)
virtual
virtual void otb::ExhaustiveExponentialOptimizer::SetNumberOfSteps ( StepsType  _arg)
virtual
virtual void otb::ExhaustiveExponentialOptimizer::SetStepLength ( double  _arg)
virtual
void otb::ExhaustiveExponentialOptimizer::StartOptimization ( void  )
virtual

Start walking

Definition at line 47 of file otbExhaustiveExponentialOptimizer.cxx.

References StartWalking().

void otb::ExhaustiveExponentialOptimizer::StartWalking ( void  )

Definition at line 54 of file otbExhaustiveExponentialOptimizer.cxx.

Referenced by StartOptimization().

void otb::ExhaustiveExponentialOptimizer::StopWalking ( void  )

Definition at line 153 of file otbExhaustiveExponentialOptimizer.cxx.

Member Data Documentation

ParametersType otb::ExhaustiveExponentialOptimizer::m_CurrentIndex
protected

Definition at line 96 of file otbExhaustiveExponentialOptimizer.h.

unsigned long otb::ExhaustiveExponentialOptimizer::m_CurrentIteration
protected

Definition at line 92 of file otbExhaustiveExponentialOptimizer.h.

unsigned int otb::ExhaustiveExponentialOptimizer::m_CurrentParameter
protected

Definition at line 94 of file otbExhaustiveExponentialOptimizer.h.

MeasureType otb::ExhaustiveExponentialOptimizer::m_CurrentValue
protected

Definition at line 89 of file otbExhaustiveExponentialOptimizer.h.

double otb::ExhaustiveExponentialOptimizer::m_GeometricProgression
protected

Definition at line 95 of file otbExhaustiveExponentialOptimizer.h.

MeasureType otb::ExhaustiveExponentialOptimizer::m_MaximumMetricValue
protected

Definition at line 98 of file otbExhaustiveExponentialOptimizer.h.

ParametersType otb::ExhaustiveExponentialOptimizer::m_MaximumMetricValuePosition
protected

Definition at line 101 of file otbExhaustiveExponentialOptimizer.h.

unsigned long otb::ExhaustiveExponentialOptimizer::m_MaximumNumberOfIterations
protected

Definition at line 97 of file otbExhaustiveExponentialOptimizer.h.

MeasureType otb::ExhaustiveExponentialOptimizer::m_MinimumMetricValue
protected

Definition at line 99 of file otbExhaustiveExponentialOptimizer.h.

ParametersType otb::ExhaustiveExponentialOptimizer::m_MinimumMetricValuePosition
protected

Definition at line 100 of file otbExhaustiveExponentialOptimizer.h.

StepsType otb::ExhaustiveExponentialOptimizer::m_NumberOfSteps
protected

Definition at line 90 of file otbExhaustiveExponentialOptimizer.h.

double otb::ExhaustiveExponentialOptimizer::m_StepLength
protected

Definition at line 91 of file otbExhaustiveExponentialOptimizer.h.

bool otb::ExhaustiveExponentialOptimizer::m_Stop
protected

Definition at line 93 of file otbExhaustiveExponentialOptimizer.h.


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