19 #ifndef __itkLineSearchOptimizer_h 20 #define __itkLineSearchOptimizer_h 22 #include "itkSingleValuedNonLinearOptimizer.h" 24 #include "itkIntTypes.h" 62 itkGetConstReferenceMacro( LineSearchDirection, ParametersType );
74 const DerivativeType & itkNotUsed( derivative ) ) {}
88 MeasureType & value, DerivativeType & derivative )
const = 0;
99 itkGetConstMacro( CurrentStepLength,
double );
110 itkSetMacro( MinimumStepLength,
double );
111 itkGetConstMacro( MinimumStepLength,
double );
112 itkSetMacro( MaximumStepLength,
double );
113 itkGetConstMacro( MaximumStepLength,
double );
114 itkSetMacro( InitialStepLengthEstimate,
double );
115 itkGetConstMacro( InitialStepLengthEstimate,
double );
121 void PrintSelf( std::ostream & os, Indent indent )
const;
150 #endif // #ifndef __itkLineSearchOptimizer_h SingleValuedNonLinearOptimizer Superclass
double m_MaximumStepLength
SmartPointer< Self > Pointer
double m_CurrentStepLength
SmartPointer< const Self > ConstPointer
virtual void GetCurrentValueAndDerivative(MeasureType &value, DerivativeType &derivative) const =0
double m_MinimumStepLength
virtual ~LineSearchOptimizer()
double m_InitialStepLengthEstimate
void PrintSelf(std::ostream &os, Indent indent) const
virtual MeasureType GetCurrentValue(void) const =0
void operator=(const Self &)
double DirectionalDerivative(const DerivativeType &derivative) const
A base class for LineSearch optimizers.
Superclass::DerivativeType DerivativeType
ParametersType m_LineSearchDirection
virtual void SetCurrentStepLength(double step)
virtual void SetInitialValue(MeasureType)
virtual void GetCurrentDerivative(DerivativeType &derivative) const =0
Superclass::CostFunctionType CostFunctionType
Superclass::MeasureType MeasureType
virtual void SetInitialDerivative(const DerivativeType &)
Superclass::ParametersType ParametersType
virtual void SetLineSearchDirection(const ParametersType &arg)