18#ifndef itkLBFGSOptimizerBasev4_h
19#define itkLBFGSOptimizerBasev4_h
22#include "vnl/algo/vnl_lbfgs.h"
23#include "vnl/algo/vnl_lbfgsb.h"
25#include "ITKOptimizersv4Export.h"
40template <
typename TInternalVnlOptimizerType>
75template <
typename TInternalVnlOptimizerType>
121 itkGetConstMacro(Trace,
bool);
122 itkBooleanMacro(Trace);
128 itkGetConstMacro(MaximumNumberOfFunctionEvaluations,
unsigned int);
138 itkGetConstMacro(GradientConvergenceTolerance,
double);
171template <
typename TInternalVnlOptimizerType>
179 : TInternalVnlOptimizerType(f)
193#ifndef ITK_MANUAL_INSTANTIATION
194# include "itkLBFGSOptimizerBasev4.hxx"
200#ifndef ITK_TEMPLATE_EXPLICIT_LBFGSOptimizerBasev4
209#if defined(ITKOptimizersv4_EXPORTS)
211# define ITKOptimizersv4_EXPORT_EXPLICIT ITK_FORWARD_EXPORT
214# define ITKOptimizersv4_EXPORT_EXPLICIT ITKOptimizersv4_EXPORT
219ITK_GCC_PRAGMA_DIAG_PUSH()
220ITK_GCC_PRAGMA_DIAG(ignored
"-Wattributes")
223# pragma warning(disable : 4661)
228ITK_GCC_PRAGMA_DIAG_POP()
231#undef ITKOptimizersv4_EXPORT_EXPLICIT
Control indentation during Print() invocation.
Wrapper helper around vnl optimizer.
bool report_iter() override
LBFGSOptimizerBaseHelperv4 Self
LBFGSOptimizerBaseHelperv4(vnl_cost_function &f, LBFGSOptimizerBasev4< TInternalVnlOptimizerType > *itkObj)
LBFGSOptimizerBasev4< TInternalVnlOptimizerType > * m_ItkObj
TInternalVnlOptimizerType Superclass
Abstract base for vnl lbfgs algorithm optimizers in ITKv4 registration framework.
SmartPointer< Self > Pointer
SingleValuedNonLinearVnlOptimizerv4 Superclass
Superclass::StopConditionDescriptionType StopConditionDescriptionType
void SetMetric(MetricType *metric) override
Superclass::CostFunctionAdaptorType CostFunctionAdaptorType
InternalOptimizerAutoPointer m_VnlOptimizer
double m_InfinityNormOfProjectedGradient
unsigned int m_MaximumNumberOfFunctionEvaluations
virtual void SetTrace(bool flag)
LBFGSOptimizerBasev4 Self
Superclass::StopConditionReturnStringType StopConditionReturnStringType
double m_GradientConvergenceTolerance
friend class LBFGSBOptimizerHelperv4
InternalOptimizerType * GetOptimizer()
virtual void SetGradientConvergenceTolerance(double f)
Superclass::ScalesType ScalesType
~LBFGSOptimizerBasev4() override=default
bool m_OptimizerInitialized
SmartPointer< const Self > ConstPointer
Superclass::MetricType MetricType
Superclass::ParametersType ParametersType
void PrintSelf(std::ostream &os, Indent indent) const override
std::ostringstream m_StopConditionDescription
void StartOptimization(bool doOnlyInitialization=false) override
virtual void SetMaximumNumberOfFunctionEvaluations(unsigned int n)
std::unique_ptr< InternalOptimizerType > InternalOptimizerAutoPointer
StopConditionReturnStringType GetStopConditionDescription() const override
LBFGSOptimizerBaseHelperv4< vnl_lbfgsb > InternalOptimizerType
double m_CostFunctionConvergenceFactor
Superclass::ParametersType ParametersType
Superclass::MetricType MetricType
SingleValuedNonLinearVnlOptimizerv4()
Superclass::StopConditionReturnStringType StopConditionReturnStringType
Superclass::ScalesType ScalesType
SingleValuedVnlCostFunctionAdaptorv4 CostFunctionAdaptorType
Superclass::StopConditionDescriptionType StopConditionDescriptionType
Implements transparent reference counting.
#define ITKOptimizersv4_EXPORT_EXPLICIT
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
template class ITKOptimizersv4_EXPORT_EXPLICIT LBFGSOptimizerBasev4< vnl_lbfgsb >
template class ITKOptimizersv4_EXPORT_EXPLICIT LBFGSOptimizerBasev4< vnl_lbfgs >