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>
110 itkSetMacro(MaximumNewtonStepSizeInPhysicalUnits, TInternalComputationValueType);
191 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
194 QuasiNewtonOptimizerv4Template(const
Self &) ITK_DELETE_FUNCTION;
195 void operator=(const
Self &) ITK_DELETE_FUNCTION;
206 #ifndef ITK_MANUAL_INSTANTIATION
207 #include "itkQuasiNewtonOptimizerv4.hxx"
itk::Array2D< TInternalComputationValueType > HessianType
std::string m_NewtonStepWarning
Light weight base class for most itk classes.
Superclass::IndexRangeType IndexRangeType
QuasiNewtonOptimizerv4Template Self
Multi-threaded processing on a domain by processing sub-domains per thread.
Superclass::DerivativeType DerivativeType
Superclass::ParametersType ParametersType
SmartPointer< const Self > ConstPointer
virtual void ResetNewtonStep(IndexValueType location)
DomainThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_EstimateNewtonStepThreader
signed long IndexValueType
virtual void AdvanceOneStep(void) override
void ModifyCombinedNewtonStep()
SizeValueType m_MaximumIterationsWithoutProgress
Superclass::StopConditionType StopConditionType
unsigned long SizeValueType
SmartPointer< Self > Pointer
virtual void EstimateNewtonStep()
GradientDescentOptimizerv4Template< TInternalComputationValueType > Superclass
Superclass::MeasureType MeasureType
Superclass::DerivativeType DerivativeType
virtual void EstimateNewtonStepOverSubRange(const IndexRangeType &subrange)
Superclass::MeasureType MeasureType
Array2D class representing a 2D array with size defined at construction time.
void CombineGradientNewtonStep()
virtual void PrintSelf(std::ostream &os, Indent indent) const override
SizeValueType m_BestIteration
DerivativeType m_NewtonStep
Superclass::ParametersType ParametersType
std::vector< bool > m_NewtonStepValidFlags
Partitions an indexed container.
TInternalComputationValueType m_MaximumNewtonStepSizeInPhysicalUnits
virtual bool ComputeHessianAndStepWithBFGS(IndexValueType location)
Superclass::DerivativeType DerivativeType
ParametersType m_OptimalStep
TInternalComputationValueType InternalComputationValueType
MeasureType m_PreviousValue
ParametersType m_BestPosition
Control indentation during Print() invocation.
Superclass::MeasureType MeasureType
Gradient descent optimizer.
std::vector< HessianType > HessianArrayType
HessianArrayType m_HessianArray
virtual void StartOptimization(bool doOnlyInitialization=false) override
ThreadedIndexedContainerPartitioner::IndexRangeType IndexRangeType
ParametersType m_PreviousPosition
Superclass::IndexRangeType IndexRangeType
ParametersType m_CurrentPosition
Superclass::StopConditionType StopConditionType
Implement a Quasi-Newton optimizer with BFGS Hessian estimation.