![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
A base class for LineSearch optimizers. More...
#include <itkLineSearchOptimizer.h>
A base class for LineSearch optimizers.
Scales are expected to be handled by the main optimizer.
Definition at line 31 of file itkLineSearchOptimizer.h.
typedef SmartPointer<const Self> itk::LineSearchOptimizer::ConstPointer |
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
Definition at line 38 of file itkLineSearchOptimizer.h.
typedef Superclass::CostFunctionType itk::LineSearchOptimizer::CostFunctionType |
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
Definition at line 46 of file itkLineSearchOptimizer.h.
typedef Superclass::DerivativeType itk::LineSearchOptimizer::DerivativeType |
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
Definition at line 45 of file itkLineSearchOptimizer.h.
typedef Superclass::MeasureType itk::LineSearchOptimizer::MeasureType |
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
Definition at line 41 of file itkLineSearchOptimizer.h.
typedef Superclass::ParametersType itk::LineSearchOptimizer::ParametersType |
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
Definition at line 44 of file itkLineSearchOptimizer.h.
typedef SmartPointer<Self> itk::LineSearchOptimizer::Pointer |
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
Definition at line 37 of file itkLineSearchOptimizer.h.
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
Definition at line 35 of file itkLineSearchOptimizer.h.
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
Definition at line 36 of file itkLineSearchOptimizer.h.
itk::LineSearchOptimizer::LineSearchOptimizer | ( | ) | [protected] |
virtual itk::LineSearchOptimizer::~LineSearchOptimizer | ( | ) | [inline, protected, virtual] |
Definition at line 110 of file itkLineSearchOptimizer.h.
itk::LineSearchOptimizer::LineSearchOptimizer | ( | const Self & | ) | [private] |
double itk::LineSearchOptimizer::DirectionalDerivative | ( | const DerivativeType & | derivative | ) | const [protected] |
Computes the inner product of the argument and the line search direction.
virtual const char* itk::LineSearchOptimizer::GetClassName | ( | ) | const [virtual] |
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
virtual void itk::LineSearchOptimizer::GetCurrentDerivative | ( | DerivativeType & | derivative | ) | const [pure virtual] |
Implemented in itk::MoreThuenteLineSearchOptimizer.
virtual double itk::LineSearchOptimizer::GetCurrentStepLength | ( | ) | const [virtual] |
StepLength is a a scalar, defined as: m_InitialPosition + StepLength * m_LineSearchDirection = m_CurrentPosition
virtual MeasureType itk::LineSearchOptimizer::GetCurrentValue | ( | void | ) | const [pure virtual] |
Implemented in itk::MoreThuenteLineSearchOptimizer.
virtual void itk::LineSearchOptimizer::GetCurrentValueAndDerivative | ( | MeasureType & | value, |
DerivativeType & | derivative | ||
) | const [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 double itk::LineSearchOptimizer::GetInitialStepLengthEstimate | ( | ) | const [virtual] |
virtual const ParametersType& itk::LineSearchOptimizer::GetLineSearchDirection | ( | ) | [virtual] |
virtual double itk::LineSearchOptimizer::GetMaximumStepLength | ( | ) | const [virtual] |
virtual double itk::LineSearchOptimizer::GetMinimumStepLength | ( | ) | const [virtual] |
void itk::LineSearchOptimizer::operator= | ( | const Self & | ) | [private] |
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
void itk::LineSearchOptimizer::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected] |
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
virtual void itk::LineSearchOptimizer::SetCurrentStepLength | ( | double | step | ) | [protected, virtual] |
Set the current step length AND the current position, where the current position is computed as: m_CurrentPosition = m_InitialPosition + StepLength * m_LineSearchDirection
virtual void itk::LineSearchOptimizer::SetInitialDerivative | ( | const DerivativeType & | ) | [inline, virtual] |
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 65 of file itkLineSearchOptimizer.h.
virtual void itk::LineSearchOptimizer::SetInitialStepLengthEstimate | ( | double | _arg | ) | [virtual] |
virtual void itk::LineSearchOptimizer::SetInitialValue | ( | MeasureType | ) | [inline, virtual] |
Reimplemented in itk::MoreThuenteLineSearchOptimizer.
Definition at line 67 of file itkLineSearchOptimizer.h.
virtual void itk::LineSearchOptimizer::SetLineSearchDirection | ( | const ParametersType & | arg | ) | [inline, virtual] |
Set/Get the LineSearchDirection
Definition at line 49 of file itkLineSearchOptimizer.h.
virtual void itk::LineSearchOptimizer::SetMaximumStepLength | ( | double | _arg | ) | [virtual] |
virtual void itk::LineSearchOptimizer::SetMinimumStepLength | ( | double | _arg | ) | [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.
double itk::LineSearchOptimizer::m_CurrentStepLength [protected] |
Definition at line 113 of file itkLineSearchOptimizer.h.
Definition at line 133 of file itkLineSearchOptimizer.h.
Definition at line 129 of file itkLineSearchOptimizer.h.
Definition at line 132 of file itkLineSearchOptimizer.h.
Definition at line 131 of file itkLineSearchOptimizer.h.
Generated on 24-10-2011 for elastix by ![]() |
![]() |