|
|
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 | |
| 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 |
| virtual void | SetCurrentStepLength (double step) |
| virtual | ~LineSearchOptimizer () |
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 47 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 |
|
inlineprotectedvirtual |
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 |
|
protected |
|
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 OURCE_DATE_EPOCH for elastix by 1.8.13 |