15 #ifndef __elxConjugateGradient_h
16 #define __elxConjugateGradient_h
89 template <
class TElastix>
142 virtual void StartOptimization(
void);
146 virtual void BeforeRegistration(
void);
147 virtual void BeforeEachResolution(
void);
148 virtual void AfterEachResolution(
void);
149 virtual void AfterEachIteration(
void);
150 virtual void AfterRegistration(
void);
152 itkGetConstMacro(StartLineSearch,
bool);
160 LineOptimizerPointer m_LineOptimizer;
163 virtual std::string GetLineSearchStopCondition(
void)
const;
167 virtual std::string DeterminePhase(
void)
const;
172 virtual bool TestConvergence(
bool firstLineSearchDone );
178 virtual void LineSearch(
179 const ParametersType searchDir,
183 DerivativeType & g );
188 void operator=(
const Self& );
190 void InvokeIterationEvent(
const EventObject & event);
204 #ifndef ITK_MANUAL_INSTANTIATION
205 #include "elxConjugateGradient.hxx"
208 #endif // end #ifndef __elxConjugateGradient_h
Superclass1::CostFunctionType CostFunctionType
Superclass::RegistrationPointer RegistrationPointer
OptimizerBase< TElastix > Superclass2
#define elxClassNameMacro(_name)
LineOptimizerType::Pointer LineOptimizerPointer
A set of conjugate gradient algorithms.
EventPassThroughType::Pointer EventPassThroughPointer
This class is the elastix base class for all Optimizers.
ReceptorMemberCommand< Self > EventPassThroughType
Superclass::ElastixType ElastixType
Superclass::ConfigurationPointer ConfigurationPointer
bool m_StopIfWolfeNotSatisfied
Superclass1::DerivativeType DerivativeType
ITK version of the MoreThuente line search algorithm.
Superclass::ElastixPointer ElastixPointer
Superclass2::ElastixType ElastixType
Superclass::ConfigurationType ConfigurationType
double m_SearchDirectionMagnitude
Superclass1::StopConditionType StopConditionType
SmartPointer< Self > Pointer
Superclass2::RegistrationPointer RegistrationPointer
SmartPointer< Self > Pointer
Superclass2::RegistrationType RegistrationType
Superclass1::ScalesType ScalesType
itk::Optimizer ITKBaseType
Superclass::CostFunctionType CostFunctionType
EventPassThroughPointer m_EventPasser
Superclass2::ElastixPointer ElastixPointer
MoreThuenteLineSearchOptimizer LineOptimizerType
Superclass::DerivativeType DerivativeType
Superclass2::ConfigurationPointer ConfigurationPointer
virtual ~ConjugateGradient()
An optimizer based on the itk::GenericConjugateGradientOptimizer.
Superclass::ParametersType ParametersType
Superclass::ScalesType ScalesType
Superclass2::ITKBaseType ITKBaseType
Superclass1::CostFunctionPointer CostFunctionPointer
SmartPointer< const Self > ConstPointer
Superclass::RegistrationType RegistrationType
bool m_GenerateLineSearchIterations
bool m_WolfeIsStopCondition
Superclass2::ConfigurationType ConfigurationType
GenericConjugateGradientOptimizer Superclass1
Superclass1::ParametersType ParametersType