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.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::CostFunctionType | CostFunctionType |
typedef Superclass::DerivativeType | DerivativeType |
typedef Superclass::MeasureType | MeasureType |
typedef Superclass::ParametersType | ParametersType |
typedef SmartPointer< Self > | Pointer |
typedef LineSearchOptimizer | Self |
typedef SingleValuedNonLinearOptimizer | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () const |
virtual void | GetCurrentDerivative (DerivativeType &derivative) const =0 |
virtual double | GetCurrentStepLength () const |
virtual MeasureType | GetCurrentValue (void) 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 |
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 | |
Protected Attributes | |
double | m_CurrentStepLength |
Private Member Functions | |
LineSearchOptimizer (const Self &) | |
void | operator= (const Self &) |
Private Attributes | |
double | m_InitialStepLengthEstimate |
ParametersType | m_LineSearchDirection |
double | m_MaximumStepLength |
double | m_MinimumStepLength |
typedef SmartPointer< const Self > itk::LineSearchOptimizer::ConstPointer |
Definition at line 44 of file itkLineSearchOptimizer.h.
typedef Superclass::CostFunctionType itk::LineSearchOptimizer::CostFunctionType |
Definition at line 52 of file itkLineSearchOptimizer.h.
typedef Superclass::DerivativeType itk::LineSearchOptimizer::DerivativeType |
Definition at line 51 of file itkLineSearchOptimizer.h.
typedef Superclass::MeasureType itk::LineSearchOptimizer::MeasureType |
Definition at line 49 of file itkLineSearchOptimizer.h.
typedef Superclass::ParametersType itk::LineSearchOptimizer::ParametersType |
Definition at line 50 of file itkLineSearchOptimizer.h.
typedef SmartPointer< Self > itk::LineSearchOptimizer::Pointer |
Definition at line 43 of file itkLineSearchOptimizer.h.
Definition at line 41 of file itkLineSearchOptimizer.h.
Definition at line 42 of file itkLineSearchOptimizer.h.
|
protected |
|
inlineoverrideprotected |
Definition at line 120 of file itkLineSearchOptimizer.h.
|
private |
|
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 |
|
private |
|
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 73 of file itkLineSearchOptimizer.h.
|
virtual |
|
inlinevirtual |
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
Definition at line 75 of file itkLineSearchOptimizer.h.
|
inlinevirtual |
Set/Get the LineSearchDirection
Definition at line 55 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 123 of file itkLineSearchOptimizer.h.
|
private |
Definition at line 144 of file itkLineSearchOptimizer.h.
|
private |
Definition at line 140 of file itkLineSearchOptimizer.h.
|
private |
Definition at line 143 of file itkLineSearchOptimizer.h.
|
private |
Definition at line 142 of file itkLineSearchOptimizer.h.
Generated on 1667476801 for elastix by 1.9.4 |