go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
itk::AdaptiveStochasticLBFGSOptimizer Class Reference

#include <itkAdaptiveStochasticLBFGSOptimizer.h>

Detailed Description

Definition at line 69 of file itkAdaptiveStochasticLBFGSOptimizer.h.

+ Inheritance diagram for itk::AdaptiveStochasticLBFGSOptimizer:

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::CostFunctionType CostFunctionType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::MeasureType MeasureType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::ScaledCostFunctionPointer ScaledCostFunctionPointer
 
typedef Superclass::ScaledCostFunctionType ScaledCostFunctionType
 
typedef Superclass::ScalesType ScalesType
 
typedef AdaptiveStochasticLBFGSOptimizer Self
 
typedef Superclass::StopConditionType StopConditionType
 
typedef StandardStochasticGradientOptimizer Superclass
 
- Public Types inherited from itk::StandardStochasticGradientOptimizer
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::CostFunctionType CostFunctionType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::MeasureType MeasureType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::ScaledCostFunctionPointer ScaledCostFunctionPointer
 
typedef Superclass::ScaledCostFunctionType ScaledCostFunctionType
 
typedef Superclass::ScalesType ScalesType
 
typedef StandardStochasticGradientOptimizer Self
 
typedef Superclass::StopConditionType StopConditionType
 
typedef StochasticGradientDescentOptimizer Superclass
 
- Public Types inherited from itk::StochasticGradientDescentOptimizer
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::CostFunctionType CostFunctionType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::MeasureType MeasureType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::ScaledCostFunctionPointer ScaledCostFunctionPointer
 
typedef Superclass::ScaledCostFunctionType ScaledCostFunctionType
 
typedef Superclass::ScalesType ScalesType
 
typedef StochasticGradientDescentOptimizer Self
 
enum  StopConditionType {
  MaximumNumberOfIterations , MetricError , MinimumStepSize , InvalidDiagonalMatrix ,
  GradientMagnitudeTolerance , LineSearchError
}
 
typedef ScaledSingleValuedNonLinearOptimizer Superclass
 
- Public Types inherited from itk::ScaledSingleValuedNonLinearOptimizer
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::CostFunctionType CostFunctionType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::MeasureType MeasureType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef ScaledCostFunctionType::Pointer ScaledCostFunctionPointer
 
typedef ScaledSingleValuedCostFunction ScaledCostFunctionType
 
typedef NonLinearOptimizer::ScalesType ScalesType
 
typedef ScaledSingleValuedNonLinearOptimizer Self
 
typedef SingleValuedNonLinearOptimizer Superclass
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual double GetSigmoidMax () const
 
virtual double GetSigmoidMin () const
 
virtual double GetSigmoidScale () const
 
virtual bool GetUseAdaptiveStepSizes () const
 
virtual bool GetUseSearchDirForAdaptiveStepSize () const
 
virtual void SetSigmoidMax (double _arg)
 
virtual void SetSigmoidMin (double _arg)
 
virtual void SetSigmoidScale (double _arg)
 
virtual void SetUseAdaptiveStepSizes (bool _arg)
 
virtual void SetUseSearchDirForAdaptiveStepSize (bool _arg)
 
- Public Member Functions inherited from itk::StandardStochasticGradientOptimizer
void AdvanceOneStep (void) override
 
virtual const char * GetClassName () const
 
virtual double GetCurrentTime () const
 
virtual double GetInitialTime () const
 
virtual double GetParam_a () const
 
virtual double GetParam_A () const
 
virtual double GetParam_alpha () const
 
virtual double GetParam_beta () const
 
virtual void ResetCurrentTimeToInitialTime (void)
 
virtual void SetInitialTime (double _arg)
 
virtual void SetParam_a (double _arg)
 
virtual void SetParam_A (double _arg)
 
virtual void SetParam_alpha (double _arg)
 
virtual void SetParam_beta (double _arg)
 
void StartOptimization (void) override
 
- Public Member Functions inherited from itk::StochasticGradientDescentOptimizer
virtual void AdvanceOneStep (void)
 
virtual const char * GetClassName () const
 
virtual unsigned int GetCurrentInnerIteration () const
 
virtual unsigned int GetCurrentIteration () const
 
virtual const DerivativeTypeGetGradient ()
 
virtual unsigned int GetLBFGSMemory () const
 
virtual const doubleGetLearningRate ()
 
virtual const unsigned long & GetNumberOfInnerIterations ()
 
virtual const unsigned long & GetNumberOfIterations ()
 
virtual const DerivativeTypeGetPreviousGradient ()
 
virtual const ParametersTypeGetPreviousPosition ()
 
virtual const DerivativeTypeGetSearchDir ()
 
virtual const StopConditionTypeGetStopCondition ()
 
virtual const doubleGetValue ()
 
virtual void MetricErrorResponse (ExceptionObject &err)
 
virtual void ResumeOptimization (void)
 
virtual void SetLearningRate (double _arg)
 
virtual void SetNumberOfIterations (unsigned long _arg)
 
void SetNumberOfWorkUnits (ThreadIdType numberOfThreads)
 
virtual void SetPreviousGradient (DerivativeType _arg)
 
virtual void SetPreviousPosition (ParametersType _arg)
 
virtual void SetUseEigen (bool _arg)
 
virtual void SetUseMultiThread (bool _arg)
 
virtual void SetUseOpenMP (bool _arg)
 
void StartOptimization (void) override
 
virtual void StopOptimization (void)
 
- Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
virtual const char * GetClassName () const
 
const ParametersTypeGetCurrentPosition (void) const override
 
virtual bool GetMaximize () const
 
virtual const ScaledCostFunctionTypeGetScaledCostFunction ()
 
virtual const ParametersTypeGetScaledCurrentPosition ()
 
bool GetUseScales (void) const
 
virtual void InitializeScales (void)
 
virtual void MaximizeOff ()
 
virtual void MaximizeOn ()
 
void SetCostFunction (CostFunctionType *costFunction) override
 
virtual void SetMaximize (bool _arg)
 
virtual void SetUseScales (bool arg)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::StandardStochasticGradientOptimizer
static Pointer New ()
 
- Static Public Member Functions inherited from itk::StochasticGradientDescentOptimizer
static Pointer New ()
 
- Static Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
static Pointer New ()
 

Protected Member Functions

 AdaptiveStochasticLBFGSOptimizer ()
 
void UpdateCurrentTime (void) override
 
 ~AdaptiveStochasticLBFGSOptimizer () override
 
- Protected Member Functions inherited from itk::StandardStochasticGradientOptimizer
virtual double Compute_a (double k) const
 
virtual double Compute_beta (double k) const
 
 StandardStochasticGradientOptimizer ()
 
virtual void UpdateCurrentTime (void)
 
 ~StandardStochasticGradientOptimizer () override
 
- Protected Member Functions inherited from itk::StochasticGradientDescentOptimizer
void PrintSelf (std::ostream &os, Indent indent) const override
 
 StochasticGradientDescentOptimizer ()
 
 ~StochasticGradientDescentOptimizer () override
 
- Protected Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
virtual void GetScaledDerivative (const ParametersType &parameters, DerivativeType &derivative) const
 
virtual MeasureType GetScaledValue (const ParametersType &parameters) const
 
virtual void GetScaledValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ScaledSingleValuedNonLinearOptimizer ()
 
void SetCurrentPosition (const ParametersType &param) override
 
virtual void SetScaledCurrentPosition (const ParametersType &parameters)
 
 ~ScaledSingleValuedNonLinearOptimizer () override
 

Protected Attributes

double m_SearchLengthScale
 
std::string m_StepSizeStrategy
 
unsigned long m_UpdateFrequenceL
 
bool m_UseAdaptiveStepSizes
 
bool m_UseSearchDirForAdaptiveStepSize
 
- Protected Attributes inherited from itk::StandardStochasticGradientOptimizer
double m_CurrentTime
 
bool m_UseConstantStep
 
- Protected Attributes inherited from itk::StochasticGradientDescentOptimizer
unsigned long m_CurrentInnerIteration
 
unsigned long m_CurrentIteration
 
DerivativeType m_Gradient
 
unsigned long m_LBFGSMemory
 
double m_LearningRate
 
ParametersType m_MeanSearchDir
 
unsigned long m_NumberOfInnerIterations
 
unsigned long m_NumberOfIterations
 
DerivativeType m_PrePreviousGradient
 
ParametersType m_PrePreviousSearchDir
 
DerivativeType m_PreviousGradient
 
ParametersType m_PreviousPosition
 
ParametersType m_PreviousSearchDir
 
ParametersType m_SearchDir
 
bool m_Stop
 
StopConditionType m_StopCondition
 
ThreaderType::Pointer m_Threader
 
double m_Value
 
- Protected Attributes inherited from itk::ScaledSingleValuedNonLinearOptimizer
ScaledCostFunctionPointer m_ScaledCostFunction
 
ParametersType m_ScaledCurrentPosition
 

Private Member Functions

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

Private Attributes

double m_SigmoidMax
 
double m_SigmoidMin
 
double m_SigmoidScale
 

Additional Inherited Members

- Protected Types inherited from itk::StochasticGradientDescentOptimizer
typedef itk::PlatformMultiThreader ThreaderType
 
typedef ThreaderType::WorkUnitInfo ThreadInfoType
 

Member Typedef Documentation

◆ ConstPointer

Definition at line 78 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ CostFunctionType

typedef Superclass::CostFunctionType itk::AdaptiveStochasticLBFGSOptimizer::CostFunctionType

Definition at line 91 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ DerivativeType

typedef Superclass::DerivativeType itk::AdaptiveStochasticLBFGSOptimizer::DerivativeType

Definition at line 90 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ MeasureType

typedef Superclass::MeasureType itk::AdaptiveStochasticLBFGSOptimizer::MeasureType

Typedefs inherited from the superclass.

Definition at line 88 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ ParametersType

typedef Superclass::ParametersType itk::AdaptiveStochasticLBFGSOptimizer::ParametersType

Definition at line 89 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ Pointer

Definition at line 77 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ ScaledCostFunctionPointer

typedef Superclass::ScaledCostFunctionPointer itk::AdaptiveStochasticLBFGSOptimizer::ScaledCostFunctionPointer

Definition at line 94 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ ScaledCostFunctionType

typedef Superclass::ScaledCostFunctionType itk::AdaptiveStochasticLBFGSOptimizer::ScaledCostFunctionType

Definition at line 93 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ ScalesType

typedef Superclass::ScalesType itk::AdaptiveStochasticLBFGSOptimizer::ScalesType

Definition at line 92 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ Self

Standard ITK.

Definition at line 75 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ StopConditionType

typedef Superclass::StopConditionType itk::AdaptiveStochasticLBFGSOptimizer::StopConditionType

Definition at line 95 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ Superclass

Definition at line 76 of file itkAdaptiveStochasticLBFGSOptimizer.h.

Constructor & Destructor Documentation

◆ AdaptiveStochasticLBFGSOptimizer() [1/2]

itk::AdaptiveStochasticLBFGSOptimizer::AdaptiveStochasticLBFGSOptimizer ( )
protected

◆ ~AdaptiveStochasticLBFGSOptimizer()

itk::AdaptiveStochasticLBFGSOptimizer::~AdaptiveStochasticLBFGSOptimizer ( )
inlineoverrideprotected

Definition at line 123 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ AdaptiveStochasticLBFGSOptimizer() [2/2]

itk::AdaptiveStochasticLBFGSOptimizer::AdaptiveStochasticLBFGSOptimizer ( const Self )
private

Member Function Documentation

◆ GetClassName()

virtual const char * itk::AdaptiveStochasticLBFGSOptimizer::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::StandardStochasticGradientOptimizer.

Reimplemented in elastix::AdaptiveStochasticLBFGS< TElastix >.

◆ GetSigmoidMax()

virtual double itk::AdaptiveStochasticLBFGSOptimizer::GetSigmoidMax ( ) const
virtual

◆ GetSigmoidMin()

virtual double itk::AdaptiveStochasticLBFGSOptimizer::GetSigmoidMin ( ) const
virtual

◆ GetSigmoidScale()

virtual double itk::AdaptiveStochasticLBFGSOptimizer::GetSigmoidScale ( ) const
virtual

◆ GetUseAdaptiveStepSizes()

virtual bool itk::AdaptiveStochasticLBFGSOptimizer::GetUseAdaptiveStepSizes ( ) const
virtual

◆ GetUseSearchDirForAdaptiveStepSize()

virtual bool itk::AdaptiveStochasticLBFGSOptimizer::GetUseSearchDirForAdaptiveStepSize ( ) const
virtual

◆ New()

static Pointer itk::AdaptiveStochasticLBFGSOptimizer::New ( )
static

Method for creation through the object factory.

◆ operator=()

void itk::AdaptiveStochasticLBFGSOptimizer::operator= ( const Self )
private

◆ SetSigmoidMax()

virtual void itk::AdaptiveStochasticLBFGSOptimizer::SetSigmoidMax ( double  _arg)
virtual

Set/Get the maximum of the sigmoid. Should be >0. Default: 1.0

◆ SetSigmoidMin()

virtual void itk::AdaptiveStochasticLBFGSOptimizer::SetSigmoidMin ( double  _arg)
virtual

Set/Get the maximum of the sigmoid. Should be <0. Default: -0.8

◆ SetSigmoidScale()

virtual void itk::AdaptiveStochasticLBFGSOptimizer::SetSigmoidScale ( double  _arg)
virtual

Set/Get the scaling of the sigmoid width. Large values cause a more wide sigmoid. Default: 1e-8. Should be >0.

◆ SetUseAdaptiveStepSizes()

virtual void itk::AdaptiveStochasticLBFGSOptimizer::SetUseAdaptiveStepSizes ( bool  _arg)
virtual

Set/Get whether the adaptive step size mechanism is desired. Default: true

◆ SetUseSearchDirForAdaptiveStepSize()

virtual void itk::AdaptiveStochasticLBFGSOptimizer::SetUseSearchDirForAdaptiveStepSize ( bool  _arg)
virtual

Set/Get whether the adaptive step size mechanism is desired. Default: true

◆ UpdateCurrentTime()

void itk::AdaptiveStochasticLBFGSOptimizer::UpdateCurrentTime ( void  )
overrideprotectedvirtual

Function to update the current time If UseAdaptiveStepSizes is false this function just increments the CurrentTime by $E_0 = (sigmoid_{max} + sigmoid_{min})/2$. Else, the CurrentTime is updated according to:
time = max[ 0, time + sigmoid( -gradient*previousgradient) ]
In that case, also the m_PreviousGradient is updated.

Reimplemented from itk::StandardStochasticGradientOptimizer.

Field Documentation

◆ m_SearchLengthScale

double itk::AdaptiveStochasticLBFGSOptimizer::m_SearchLengthScale
protected

Definition at line 141 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ m_SigmoidMax

double itk::AdaptiveStochasticLBFGSOptimizer::m_SigmoidMax
private

Settings

Definition at line 151 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ m_SigmoidMin

double itk::AdaptiveStochasticLBFGSOptimizer::m_SigmoidMin
private

Definition at line 152 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ m_SigmoidScale

double itk::AdaptiveStochasticLBFGSOptimizer::m_SigmoidScale
private

Definition at line 153 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ m_StepSizeStrategy

std::string itk::AdaptiveStochasticLBFGSOptimizer::m_StepSizeStrategy
protected

Definition at line 142 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ m_UpdateFrequenceL

unsigned long itk::AdaptiveStochasticLBFGSOptimizer::m_UpdateFrequenceL
protected

The PreviousGradient, necessary for the CruzAcceleration

Definition at line 138 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ m_UseAdaptiveStepSizes

bool itk::AdaptiveStochasticLBFGSOptimizer::m_UseAdaptiveStepSizes
protected

Definition at line 140 of file itkAdaptiveStochasticLBFGSOptimizer.h.

◆ m_UseSearchDirForAdaptiveStepSize

bool itk::AdaptiveStochasticLBFGSOptimizer::m_UseSearchDirForAdaptiveStepSize
protected

Definition at line 139 of file itkAdaptiveStochasticLBFGSOptimizer.h.



Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo