18 #ifndef itkGradientDescentLineSearchOptimizerv4_h
19 #define itkGradientDescentLineSearchOptimizerv4_h
59 template <
typename TInternalComputationValueType>
83 using typename Superclass::DerivativeType;
86 using typename Superclass::MeasureType;
87 using typename Superclass::ParametersType;
95 itkSetMacro(Epsilon, TInternalComputationValueType);
96 itkGetMacro(Epsilon, TInternalComputationValueType);
108 itkSetMacro(LowerLimit, TInternalComputationValueType);
109 itkGetMacro(LowerLimit, TInternalComputationValueType);
110 itkSetMacro(UpperLimit, TInternalComputationValueType);
111 itkGetMacro(UpperLimit, TInternalComputationValueType);
112 itkSetMacro(MaximumLineSearchIterations,
unsigned int);
113 itkGetMacro(MaximumLineSearchIterations,
unsigned int);
120 AdvanceOneStep()
override;
129 PrintSelf(std::ostream & os,
Indent indent)
const override;
139 TInternalComputationValueType
140 GoldenSectionSearch(TInternalComputationValueType a,
141 TInternalComputationValueType b,
142 TInternalComputationValueType c,
146 TInternalComputationValueType m_LowerLimit{};
147 TInternalComputationValueType m_UpperLimit{};
148 TInternalComputationValueType m_Phi{};
149 TInternalComputationValueType m_Resphi{};
150 TInternalComputationValueType m_Epsilon{};
153 unsigned int m_MaximumLineSearchIterations{};
156 unsigned int m_LineSearchIterations{};
164 #ifndef ITK_MANUAL_INSTANTIATION
165 # include "itkGradientDescentLineSearchOptimizerv4.hxx"