18 #ifndef itkQuasiNewtonOptimizerv4_h
19 #define itkQuasiNewtonOptimizerv4_h
24 #include "vnl/algo/vnl_matrix_inverse.h"
25 #include "vnl/algo/vnl_determinant.h"
58 template<
typename TInternalComputationValueType>
93 void StartOptimization(
bool doOnlyInitialization =
false )
override;
112 itkSetMacro(MaximumNewtonStepSizeInPhysicalUnits, TInternalComputationValueType);
121 virtual void EstimateNewtonStepOverSubRange(
const IndexRangeType& subrange );
157 virtual void EstimateNewtonStep();
163 virtual bool ComputeHessianAndStepWithBFGS(
IndexValueType location);
172 void CombineGradientNewtonStep();
182 void ModifyCombinedNewtonStep();
188 void AdvanceOneStep()
override;
193 void PrintSelf(std::ostream & os,
Indent indent)
const override;
205 #ifndef ITK_MANUAL_INSTANTIATION
206 #include "itkQuasiNewtonOptimizerv4.hxx"
std::string m_NewtonStepWarning
Light weight base class for most itk classes.
unsigned long SizeValueType
typename Superclass::ParametersType ParametersType
DomainThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_EstimateNewtonStepThreader
typename Superclass::ParametersType ParametersType
typename Superclass::DerivativeType DerivativeType
std::vector< HessianType > HessianArrayType
TInternalComputationValueType InternalComputationValueType
typename Superclass::MeasureType MeasureType
typename Superclass::MeasureType MeasureType
Array2D class representing a 2D array with size defined at construction time.
signed long IndexValueType
DerivativeType m_NewtonStep
std::vector< bool > m_NewtonStepValidFlags
class ITK_FORWARD_EXPORT QuasiNewtonOptimizerv4Template
TInternalComputationValueType m_MaximumNewtonStepSizeInPhysicalUnits
ParametersType m_OptimalStep
MeasureType m_PreviousValue
ParametersType m_BestPosition
Control indentation during Print() invocation.
typename Superclass::DerivativeType DerivativeType
Gradient descent optimizer.
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
HessianArrayType m_HessianArray
ParametersType m_PreviousPosition
ParametersType m_CurrentPosition
Implement a Quasi-Newton optimizer with BFGS Hessian estimation.