Loading...
Searching...
No Matches
itk::AdaptiveStochasticLBFGSOptimizer Class Reference

`#include <itkAdaptiveStochasticLBFGSOptimizer.h>`

## Detailed Description

Definition at line 69 of file itkAdaptiveStochasticLBFGSOptimizer.h.

Inheritance diagram for itk::AdaptiveStochasticLBFGSOptimizer:
[legend]

## Public Types

using | ConstPointer = SmartPointer<const Self>
using | Pointer = SmartPointer<Self>
using | Self = AdaptiveStochasticLBFGSOptimizer
using | Superclass = StandardStochasticGradientOptimizer
Public Types inherited from itk::StandardStochasticGradientOptimizer
using | ConstPointer = SmartPointer<const Self>
using | Pointer = SmartPointer<Self>
using | Self = StandardStochasticGradientOptimizer
enum | StopConditionType
using | Superclass = StochasticGradientDescentOptimizer
Public Types inherited from itk::StochasticGradientDescentOptimizer
using | ConstPointer = SmartPointer<const Self>
using | Pointer = SmartPointer<Self>
using | ScaledCostFunctionPointer
using | ScaledCostFunctionType
using | ScalesType
using | Self = StochasticGradientDescentOptimizer
enum | StopConditionType { MaximumNumberOfIterations , MetricError , MinimumStepSize , InvalidDiagonalMatrix , GradientMagnitudeTolerance , LineSearchError }
using | Superclass = ScaledSingleValuedNonLinearOptimizer
Public Types inherited from itk::ScaledSingleValuedNonLinearOptimizer
using | ConstPointer = SmartPointer<const Self>
using | Pointer = SmartPointer<Self>
using | ScaledCostFunctionPointer = ScaledCostFunctionType::Pointer
using | ScaledCostFunctionType = ScaledSingleValuedCostFunction
using | ScalesType = NonLinearOptimizer::ScalesType
using | Self = ScaledSingleValuedNonLinearOptimizer
using | Superclass = SingleValuedNonLinearOptimizer

## 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
| ITK_DISALLOW_COPY_AND_MOVE (AdaptiveStochasticLBFGSOptimizer)
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 () override
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
| ITK_DISALLOW_COPY_AND_MOVE (StandardStochasticGradientOptimizer)
virtual void | ResetCurrentTimeToInitialTime ()
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 () override
Public Member Functions inherited from itk::StochasticGradientDescentOptimizer
virtual unsigned int | GetCurrentInnerIteration () const
virtual unsigned int | GetCurrentIteration () const
virtual const DerivativeType & | GetGradient ()
virtual unsigned int | GetLBFGSMemory () const
virtual const double & | GetLearningRate ()
virtual const unsigned long & | GetNumberOfInnerIterations ()
virtual const unsigned long & | GetNumberOfIterations ()
virtual const DerivativeType & | GetPreviousGradient ()
virtual const ParametersType & | GetPreviousPosition ()
virtual const DerivativeType & | GetSearchDir ()
virtual const StopConditionType & | GetStopCondition ()
virtual const double & | GetValue ()
| ITK_DISALLOW_COPY_AND_MOVE (StochasticGradientDescentOptimizer)
virtual void | MetricErrorResponse (ExceptionObject &err)
virtual void | ResumeOptimization ()
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)
void | StartOptimization () override
virtual void | StopOptimization ()
Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
const ParametersType & | GetCurrentPosition () const override
virtual bool | GetMaximize () const
virtual const ScaledCostFunctionType * | GetScaledCostFunction ()
virtual const ParametersType & | GetScaledCurrentPosition ()
bool | GetUseScales () const
virtual void | InitializeScales ()
| ITK_DISALLOW_COPY_AND_MOVE (ScaledSingleValuedNonLinearOptimizer)
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 () override
| ~AdaptiveStochasticLBFGSOptimizer () override=default
Protected Member Functions inherited from itk::StandardStochasticGradientOptimizer
virtual double | Compute_a (double k) const
virtual double | Compute_beta (double k) const
| StandardStochasticGradientOptimizer ()
| ~StandardStochasticGradientOptimizer () override=default
Protected Member Functions inherited from itk::StochasticGradientDescentOptimizer
void | PrintSelf (std::ostream &os, Indent indent) const override
| StochasticGradientDescentOptimizer ()
| ~StochasticGradientDescentOptimizer () override=default
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=default

## Protected Attributes

double | m_SearchLengthScale { 10 }
std::string | m_StepSizeStrategy {}
unsigned long | m_UpdateFrequenceL {}
bool | m_UseAdaptiveStepSizes { true }
bool | m_UseSearchDirForAdaptiveStepSize {}
Protected Attributes inherited from itk::StandardStochasticGradientOptimizer
double | m_CurrentTime { 0.0 }
bool | m_UseConstantStep {}
Protected Attributes inherited from itk::StochasticGradientDescentOptimizer
unsigned long | m_CurrentInnerIteration {}
unsigned long | m_CurrentIteration { 0 }
DerivativeType | m_Gradient {}
unsigned long | m_LBFGSMemory { 0 }
double | m_LearningRate { 1.0 }
ParametersType | m_MeanSearchDir {}
unsigned long | m_NumberOfInnerIterations {}
unsigned long | m_NumberOfIterations { 100 }
DerivativeType | m_PrePreviousGradient {}
ParametersType | m_PrePreviousSearchDir {}
DerivativeType | m_PreviousGradient {}
ParametersType | m_PreviousPosition {}
ParametersType | m_PreviousSearchDir {}
ParametersType | m_SearchDir {}
bool | m_Stop { false }
StopConditionType | m_StopCondition { MaximumNumberOfIterations }
MultiThreaderBase::Pointer | m_Threader { MultiThreaderBase::New() }
double | m_Value { 0.0 }
Protected Attributes inherited from itk::ScaledSingleValuedNonLinearOptimizer
ScaledCostFunctionPointer | m_ScaledCostFunction {}
ParametersType | m_ScaledCurrentPosition {}

## Private Attributes

double | m_SigmoidMax { 1.0 }
double | m_SigmoidMin { -0.8 }
double | m_SigmoidScale { 1e-8 }

## Additional Inherited Members

Protected Types inherited from itk::StochasticGradientDescentOptimizer
using | ThreadInfoType = MultiThreaderBase::WorkUnitInfo

## Member Typedef Documentation

## ConstPointer

using itk::AdaptiveStochasticLBFGSOptimizer::ConstPointer = SmartPointer<const Self>

Definition at line 78 of file itkAdaptiveStochasticLBFGSOptimizer.h.

## Pointer

using itk::AdaptiveStochasticLBFGSOptimizer::Pointer = SmartPointer<Self>

Definition at line 77 of file itkAdaptiveStochasticLBFGSOptimizer.h.

## Self

using itk::AdaptiveStochasticLBFGSOptimizer::Self = AdaptiveStochasticLBFGSOptimizer

Standard ITK.

Definition at line 75 of file itkAdaptiveStochasticLBFGSOptimizer.h.

## Superclass

using itk::AdaptiveStochasticLBFGSOptimizer::Superclass = StandardStochasticGradientOptimizer

Definition at line 76 of file itkAdaptiveStochasticLBFGSOptimizer.h.

## Constructor & Destructor Documentation

## AdaptiveStochasticLBFGSOptimizer()

itk::AdaptiveStochasticLBFGSOptimizer::AdaptiveStochasticLBFGSOptimizer | ( |  | ) |

protected

## ~AdaptiveStochasticLBFGSOptimizer()

itk::AdaptiveStochasticLBFGSOptimizer::~AdaptiveStochasticLBFGSOptimizer | ( |  | ) |

override protected default

## 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

## ITK_DISALLOW_COPY_AND_MOVE()

itk::AdaptiveStochasticLBFGSOptimizer::ITK_DISALLOW_COPY_AND_MOVE | ( | AdaptiveStochasticLBFGSOptimizer |  | ) |

## New()

Pointer itk::AdaptiveStochasticLBFGSOptimizer::New | ( |  | ) |

static

Method for creation through the object factory.

## 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 | ( |  | ) |

override protected virtual

Function to update the current time If UseAdaptiveStepSizes is false this function just increments the CurrentTime by . 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 { 10 }

protected

Definition at line 140 of file itkAdaptiveStochasticLBFGSOptimizer.h.

## m_SigmoidMax

double itk::AdaptiveStochasticLBFGSOptimizer::m_SigmoidMax { 1.0 }

private

Settings

Definition at line 146 of file itkAdaptiveStochasticLBFGSOptimizer.h.

## m_SigmoidMin

double itk::AdaptiveStochasticLBFGSOptimizer::m_SigmoidMin { -0.8 }

private

Definition at line 147 of file itkAdaptiveStochasticLBFGSOptimizer.h.

## m_SigmoidScale

double itk::AdaptiveStochasticLBFGSOptimizer::m_SigmoidScale { 1e-8 }

private

Definition at line 148 of file itkAdaptiveStochasticLBFGSOptimizer.h.

## m_StepSizeStrategy

std::string itk::AdaptiveStochasticLBFGSOptimizer::m_StepSizeStrategy {}

protected

Definition at line 141 of file itkAdaptiveStochasticLBFGSOptimizer.h.

## m_UpdateFrequenceL

unsigned long itk::AdaptiveStochasticLBFGSOptimizer::m_UpdateFrequenceL {}

protected

The PreviousGradient, necessary for the CruzAcceleration

Definition at line 137 of file itkAdaptiveStochasticLBFGSOptimizer.h.

## m_UseAdaptiveStepSizes

bool itk::AdaptiveStochasticLBFGSOptimizer::m_UseAdaptiveStepSizes { true }

protected

Definition at line 139 of file itkAdaptiveStochasticLBFGSOptimizer.h.

## m_UseSearchDirForAdaptiveStepSize

bool itk::AdaptiveStochasticLBFGSOptimizer::m_UseSearchDirForAdaptiveStepSize {}

protected

Definition at line 138 of file itkAdaptiveStochasticLBFGSOptimizer.h.

Generated on 1768596610 for elastix by 1.15.0 |