|
|
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <itkLineSearchOptimizer.h>
A base class for LineSearch optimizers.
Scales are expected to be handled by the main optimizer.
Definition at line 37 of file itkLineSearchOptimizer.h.
Inheritance diagram for itk::LineSearchOptimizer:Public Types | |
| using | ConstPointer = SmartPointer< const Self > |
| using | Pointer = SmartPointer< Self > |
| using | Self = LineSearchOptimizer |
| using | Superclass = SingleValuedNonLinearOptimizer |
Public Member Functions | |
| virtual const char * | GetClassName () const |
| virtual void | GetCurrentDerivative (DerivativeType &derivative) const =0 |
| virtual double | GetCurrentStepLength () const |
| virtual MeasureType | GetCurrentValue () const =0 |
| virtual void | GetCurrentValueAndDerivative (MeasureType &value, DerivativeType &derivative) const =0 |
| virtual double | GetInitialStepLengthEstimate () const |
| virtual const ParametersType & | GetLineSearchDirection () |
| virtual double | GetMaximumStepLength () const |
| virtual double | GetMinimumStepLength () const |
| ITK_DISALLOW_COPY_AND_MOVE (LineSearchOptimizer) | |
| virtual void | SetInitialDerivative (const DerivativeType &) |
| virtual void | SetInitialStepLengthEstimate (double _arg) |
| virtual void | SetInitialValue (MeasureType) |
| virtual void | SetLineSearchDirection (const ParametersType &arg) |
| virtual void | SetMaximumStepLength (double _arg) |
| virtual void | SetMinimumStepLength (double _arg) |
Protected Member Functions | |
| double | DirectionalDerivative (const DerivativeType &derivative) const |
| LineSearchOptimizer () | |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| virtual void | SetCurrentStepLength (double step) |
| ~LineSearchOptimizer () override=default | |
Protected Attributes | |
| double | m_CurrentStepLength {} |
Private Attributes | |
| double | m_InitialStepLengthEstimate {} |
| ParametersType | m_LineSearchDirection {} |
| double | m_MaximumStepLength {} |
| double | m_MinimumStepLength {} |
| using itk::LineSearchOptimizer::ConstPointer = SmartPointer<const Self> |
Definition at line 45 of file itkLineSearchOptimizer.h.
| using itk::LineSearchOptimizer::Pointer = SmartPointer<Self> |
Definition at line 44 of file itkLineSearchOptimizer.h.
Definition at line 42 of file itkLineSearchOptimizer.h.
Definition at line 43 of file itkLineSearchOptimizer.h.
|
protected |
|
overrideprotecteddefault |
|
protected |
Computes the inner product of the argument and the line search direction.
|
virtual |
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
|
pure virtual |
Implemented in itk::MoreThuenteLineSearchOptimizer.
|
virtual |
StepLength is a a scalar, defined as: m_InitialPosition + StepLength * m_LineSearchDirection = m_CurrentPosition
|
pure virtual |
Implemented in itk::MoreThuenteLineSearchOptimizer.
|
pure virtual |
These methods must be implemented by inheriting classes. It depends on the specific line search algorithm if it already computed the value/derivative at the current position (in this case it can just copy the cached data). If it did not compute the value/derivative, it should call the cost function and evaluate the value/derivative at the current position.
These methods allow the main optimization algorithm to reuse data that the LineSearch algorithm already computed.
Implemented in itk::MoreThuenteLineSearchOptimizer.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
| itk::LineSearchOptimizer::ITK_DISALLOW_COPY_AND_MOVE | ( | LineSearchOptimizer | ) |
|
overrideprotected |
|
protectedvirtual |
Set the current step length AND the current position, where the current position is computed as: m_CurrentPosition = m_InitialPosition + StepLength * m_LineSearchDirection
|
inlinevirtual |
Inheriting classes may override these methods if they need value/derivative information of the cost function at the initial position.
NB: It is not guaranteed that these methods are called. If a main optimizer by chance has this information, it should call these methods, to avoid possible unnecessary computations.
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
Definition at line 76 of file itkLineSearchOptimizer.h.
|
virtual |
|
inlinevirtual |
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
Definition at line 79 of file itkLineSearchOptimizer.h.
|
inlinevirtual |
Set/Get the LineSearchDirection
Definition at line 57 of file itkLineSearchOptimizer.h.
|
virtual |
|
virtual |
Settings: the maximum/minimum step length and the initial estimate. NOTE: Not all line search methods are guaranteed to do something with this information. However, if a certain optimizer (using a line search optimizer) has any idea about the steplength it can call these methods, 'in the hope' that the line search optimizer does something sensible with it.
|
protected |
Definition at line 130 of file itkLineSearchOptimizer.h.
|
private |
Definition at line 149 of file itkLineSearchOptimizer.h.
|
private |
Definition at line 145 of file itkLineSearchOptimizer.h.
|
private |
Definition at line 148 of file itkLineSearchOptimizer.h.
|
private |
Definition at line 147 of file itkLineSearchOptimizer.h.
Generated on 1739326392 for elastix by 1.9.8 |