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