15 #ifndef __elxQuasiNewtonLBFGS_h
16 #define __elxQuasiNewtonLBFGS_h
86 template <
class TElastix>
139 virtual void StartOptimization(
void);
143 virtual void BeforeRegistration(
void);
144 virtual void BeforeEachResolution(
void);
145 virtual void AfterEachResolution(
void);
146 virtual void AfterEachIteration(
void);
147 virtual void AfterRegistration(
void);
149 itkGetConstMacro(StartLineSearch,
bool);
157 LineOptimizerPointer m_LineOptimizer;
160 virtual std::string GetLineSearchStopCondition(
void)
const;
164 virtual std::string DeterminePhase(
void)
const;
169 virtual bool TestConvergence(
bool firstLineSearchDone );
175 virtual void LineSearch(
176 const ParametersType searchDir,
180 DerivativeType & g );
185 void operator=(
const Self& );
187 void InvokeIterationEvent(
const EventObject & event);
201 #ifndef ITK_MANUAL_INSTANTIATION
202 #include "elxQuasiNewtonLBFGS.hxx"
205 #endif // end #ifndef __elxQuasiNewtonLBFGS_h
double m_SearchDirectionMagnitude
Superclass::RegistrationPointer RegistrationPointer
Superclass::ParametersType ParametersType
MoreThuenteLineSearchOptimizer LineOptimizerType
Superclass::ScalesType ScalesType
#define elxClassNameMacro(_name)
Superclass::DerivativeType DerivativeType
bool m_StopIfWolfeNotSatisfied
bool m_GenerateLineSearchIterations
ITK version of the lbfgs algorithm ...
This class is the elastix base class for all Optimizers.
Superclass::CostFunctionType CostFunctionType
Superclass2::RegistrationType RegistrationType
Superclass::ElastixType ElastixType
Superclass::ConfigurationPointer ConfigurationPointer
ITK version of the MoreThuente line search algorithm.
Superclass2::ElastixPointer ElastixPointer
Superclass::ElastixPointer ElastixPointer
OptimizerBase< TElastix > Superclass2
Superclass::ConfigurationType ConfigurationType
Superclass2::ConfigurationPointer ConfigurationPointer
Superclass1::ScalesType ScalesType
EventPassThroughPointer m_EventPasser
SmartPointer< Self > Pointer
Superclass2::ConfigurationType ConfigurationType
virtual ~QuasiNewtonLBFGS()
Superclass1::CostFunctionPointer CostFunctionPointer
Superclass1::CostFunctionType CostFunctionType
Superclass1::ParametersType ParametersType
Superclass2::ITKBaseType ITKBaseType
itk::Optimizer ITKBaseType
SmartPointer< Self > Pointer
Superclass2::RegistrationPointer RegistrationPointer
Superclass1::StopConditionType StopConditionType
An optimizer based on the itk::QuasiNewtonLBFGSOptimizer.
bool m_WolfeIsStopCondition
QuasiNewtonLBFGSOptimizer Superclass1
ReceptorMemberCommand< Self > EventPassThroughType
SmartPointer< const Self > ConstPointer
Superclass1::DerivativeType DerivativeType
Superclass::RegistrationType RegistrationType
EventPassThroughType::Pointer EventPassThroughPointer
LineOptimizerType::Pointer LineOptimizerPointer
Superclass2::ElastixType ElastixType