18#ifndef itkQuasiNewtonOptimizerv4_h
19#define itkQuasiNewtonOptimizerv4_h
25#include "vnl/algo/vnl_matrix_inverse.h"
26#include "vnl/algo/vnl_determinant.h"
60template <
typename TInternalComputationValueType>
114 itkSetMacro(MaximumNewtonStepSizeInPhysicalUnits, TInternalComputationValueType);
215#ifndef ITK_MANUAL_INSTANTIATION
216# include "itkQuasiNewtonOptimizerv4.hxx"
Array2D class representing a 2D array.
SmartPointer< Self > Pointer
typename MetricType::MeasureType MeasureType
OptimizerParameters< TInternalComputationValueType > ParametersType
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
GradientDescentOptimizerv4Template()
typename MetricType::DerivativeType DerivativeType
Control indentation during Print() invocation.
Implement a Quasi-Newton optimizer with BFGS Hessian estimation.
void CombineGradientNewtonStep()
virtual void EstimateNewtonStepOverSubRange(const IndexRangeType &subrange)
ParametersType m_PreviousPosition
typename MetricType::MeasureType MeasureType
void ModifyCombinedNewtonStep()
OptimizerParameters< double > ParametersType
SmartPointer< Self > Pointer
SmartPointer< const Self > ConstPointer
~QuasiNewtonOptimizerv4Template() override=default
void StartOptimization(bool doOnlyInitialization=false) override
virtual void ResetNewtonStep(IndexValueType loc)
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
std::string m_NewtonStepWarning
QuasiNewtonOptimizerv4Template Self
DerivativeType m_NewtonStep
DomainThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_EstimateNewtonStepThreader
virtual void EstimateNewtonStep()
virtual bool ComputeHessianAndStepWithBFGS(IndexValueType loc)
void PrintSelf(std::ostream &os, Indent indent) const override
double m_MaximumNewtonStepSizeInPhysicalUnits
void AdvanceOneStep() override
GradientDescentOptimizerv4Template< TInternalComputationValueType > Superclass
MeasureType m_PreviousValue
QuasiNewtonOptimizerv4Template()
ParametersType m_OptimalStep
itk::Array2D< TInternalComputationValueType > HessianType
HessianArrayType m_HessianArray
std::vector< HessianType > HessianArrayType
SizeValueType m_BestIteration
SizeValueType m_MaximumIterationsWithoutProgress
ParametersType m_CurrentPosition
typename MetricType::DerivativeType DerivativeType
ParametersType m_BestPosition
BooleanStdVectorType m_NewtonStepValidFlags
TInternalComputationValueType InternalComputationValueType
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType
std::vector< Boolean > BooleanStdVectorType
QuasiNewtonOptimizerv4Template< double > QuasiNewtonOptimizerv4