![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
An optimizer based on the itk::QuasiNewtonLBFGSOptimizer. More...
#include <elxQuasiNewtonLBFGS.h>
An optimizer based on the itk::QuasiNewtonLBFGSOptimizer.
The QuasiNewtonLBFGS class is a wrap around the QuasiNewtonLBFGSOptimizer. It uses the itk::MoreThuenteLineSearchOptimizer. Please read the documentation of these classes to find out more about it.
This optimizer supports the NewSamplesEveryIteration option. It requests new samples for the computation of each search direction (not during the line search). Actually this makes no sense for a QuasiNewton optimizer. So, think twice before using the NewSamplesEveryIteration option.
The parameters used in this class are:
(Optimizer "QuasiNewtonLBFGS")
(GenerateLineSearchIterations "true")
(MaximumNumberOfIterations 100 100 50)
(MaximumNumberOfLineSearchIterations 10 10 5)
(StepLength 2.0 1.0 0.5)
(LineSearchValueTolerance 0.0001 0.0001 0.0001)
(LineSearchGradientTolerance 0.9 0.9 0.9)
(GradientMagnitudeTolerance 0.001 0.0001 0.000001)
(LBFGSUpdateAccuracy 5 10 20)
(StopIfWolfeNotSatisfied "true" "false")
Definition at line 87 of file elxQuasiNewtonLBFGS.h.
typedef Superclass2::ConfigurationPointer elastix::QuasiNewtonLBFGS< TElastix >::ConfigurationPointer |
Reimplemented from elastix::OptimizerBase< TElastix >.
Definition at line 126 of file elxQuasiNewtonLBFGS.h.
typedef Superclass2::ConfigurationType elastix::QuasiNewtonLBFGS< TElastix >::ConfigurationType |
Reimplemented from elastix::OptimizerBase< TElastix >.
Definition at line 125 of file elxQuasiNewtonLBFGS.h.
typedef SmartPointer<const Self> elastix::QuasiNewtonLBFGS< TElastix >::ConstPointer |
Reimplemented from itk::QuasiNewtonLBFGSOptimizer.
Definition at line 100 of file elxQuasiNewtonLBFGS.h.
typedef Superclass1::CostFunctionPointer elastix::QuasiNewtonLBFGS< TElastix >::CostFunctionPointer |
Definition at line 116 of file elxQuasiNewtonLBFGS.h.
typedef Superclass1::CostFunctionType elastix::QuasiNewtonLBFGS< TElastix >::CostFunctionType |
Typedef's inherited from Superclass1.
Reimplemented from itk::QuasiNewtonLBFGSOptimizer.
Definition at line 115 of file elxQuasiNewtonLBFGS.h.
typedef Superclass1::DerivativeType elastix::QuasiNewtonLBFGS< TElastix >::DerivativeType |
Reimplemented from itk::QuasiNewtonLBFGSOptimizer.
Definition at line 119 of file elxQuasiNewtonLBFGS.h.
typedef Superclass2::ElastixPointer elastix::QuasiNewtonLBFGS< TElastix >::ElastixPointer |
Reimplemented from elastix::OptimizerBase< TElastix >.
Definition at line 124 of file elxQuasiNewtonLBFGS.h.
typedef Superclass2::ElastixType elastix::QuasiNewtonLBFGS< TElastix >::ElastixType |
Typedef's inherited from Elastix.
Reimplemented from elastix::OptimizerBase< TElastix >.
Definition at line 123 of file elxQuasiNewtonLBFGS.h.
typedef EventPassThroughType::Pointer elastix::QuasiNewtonLBFGS< TElastix >::EventPassThroughPointer |
Definition at line 135 of file elxQuasiNewtonLBFGS.h.
typedef ReceptorMemberCommand<Self> elastix::QuasiNewtonLBFGS< TElastix >::EventPassThroughType |
Definition at line 134 of file elxQuasiNewtonLBFGS.h.
typedef Superclass2::ITKBaseType elastix::QuasiNewtonLBFGS< TElastix >::ITKBaseType |
Reimplemented from elastix::OptimizerBase< TElastix >.
Definition at line 129 of file elxQuasiNewtonLBFGS.h.
typedef LineOptimizerType::Pointer elastix::QuasiNewtonLBFGS< TElastix >::LineOptimizerPointer |
Definition at line 133 of file elxQuasiNewtonLBFGS.h.
typedef MoreThuenteLineSearchOptimizer elastix::QuasiNewtonLBFGS< TElastix >::LineOptimizerType |
Extra typedefs
Definition at line 132 of file elxQuasiNewtonLBFGS.h.
typedef Superclass1::ParametersType elastix::QuasiNewtonLBFGS< TElastix >::ParametersType |
Reimplemented from itk::QuasiNewtonLBFGSOptimizer.
Definition at line 118 of file elxQuasiNewtonLBFGS.h.
typedef SmartPointer<Self> elastix::QuasiNewtonLBFGS< TElastix >::Pointer |
Reimplemented from itk::QuasiNewtonLBFGSOptimizer.
Definition at line 99 of file elxQuasiNewtonLBFGS.h.
typedef Superclass2::RegistrationPointer elastix::QuasiNewtonLBFGS< TElastix >::RegistrationPointer |
Reimplemented from elastix::OptimizerBase< TElastix >.
Definition at line 128 of file elxQuasiNewtonLBFGS.h.
typedef Superclass2::RegistrationType elastix::QuasiNewtonLBFGS< TElastix >::RegistrationType |
Reimplemented from elastix::OptimizerBase< TElastix >.
Definition at line 127 of file elxQuasiNewtonLBFGS.h.
typedef Superclass1::ScalesType elastix::QuasiNewtonLBFGS< TElastix >::ScalesType |
Reimplemented from itk::QuasiNewtonLBFGSOptimizer.
Definition at line 120 of file elxQuasiNewtonLBFGS.h.
typedef QuasiNewtonLBFGS elastix::QuasiNewtonLBFGS< TElastix >::Self |
Standard ITK.
Reimplemented from itk::QuasiNewtonLBFGSOptimizer.
Definition at line 96 of file elxQuasiNewtonLBFGS.h.
typedef Superclass1::StopConditionType elastix::QuasiNewtonLBFGS< TElastix >::StopConditionType |
Reimplemented from itk::QuasiNewtonLBFGSOptimizer.
Definition at line 117 of file elxQuasiNewtonLBFGS.h.
typedef QuasiNewtonLBFGSOptimizer elastix::QuasiNewtonLBFGS< TElastix >::Superclass1 |
Definition at line 97 of file elxQuasiNewtonLBFGS.h.
typedef OptimizerBase<TElastix> elastix::QuasiNewtonLBFGS< TElastix >::Superclass2 |
Definition at line 98 of file elxQuasiNewtonLBFGS.h.
elastix::QuasiNewtonLBFGS< TElastix >::QuasiNewtonLBFGS | ( | ) | [protected] |
virtual elastix::QuasiNewtonLBFGS< TElastix >::~QuasiNewtonLBFGS | ( | ) | [inline, protected, virtual] |
Definition at line 155 of file elxQuasiNewtonLBFGS.h.
elastix::QuasiNewtonLBFGS< TElastix >::QuasiNewtonLBFGS | ( | const Self & | ) | [private] |
virtual void elastix::QuasiNewtonLBFGS< TElastix >::AfterEachIteration | ( | void | ) | [virtual] |
Reimplemented from elastix::BaseComponent.
virtual void elastix::QuasiNewtonLBFGS< TElastix >::AfterEachResolution | ( | void | ) | [virtual] |
Reimplemented from elastix::BaseComponent.
virtual void elastix::QuasiNewtonLBFGS< TElastix >::AfterRegistration | ( | void | ) | [virtual] |
Reimplemented from elastix::BaseComponent.
virtual void elastix::QuasiNewtonLBFGS< TElastix >::BeforeEachResolution | ( | void | ) | [virtual] |
Reimplemented from elastix::BaseComponent.
virtual void elastix::QuasiNewtonLBFGS< TElastix >::BeforeRegistration | ( | void | ) | [virtual] |
Methods to set parameters and print output at different stages in the registration process.
Reimplemented from elastix::BaseComponent.
virtual std::string elastix::QuasiNewtonLBFGS< TElastix >::DeterminePhase | ( | void | ) | const [protected, virtual] |
Generate a string, representing the phase of optimisation (line search, main)
elastix::QuasiNewtonLBFGS< TElastix >::elxClassNameMacro | ( | "QuasiNewtonLBFGS< TElastix >" | ) |
Name of this class. Use this name in the parameter file to select this specific optimizer.
example: (Optimizer "QuasiNewtonLBFGS")
virtual const char* elastix::QuasiNewtonLBFGS< TElastix >::GetClassName | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::QuasiNewtonLBFGSOptimizer.
virtual std::string elastix::QuasiNewtonLBFGS< TElastix >::GetLineSearchStopCondition | ( | void | ) | const [protected, virtual] |
Convert the line search stop condition to a string
virtual bool elastix::QuasiNewtonLBFGS< TElastix >::GetStartLineSearch | ( | ) | const [virtual] |
void elastix::QuasiNewtonLBFGS< TElastix >::InvokeIterationEvent | ( | const EventObject & | event | ) | [private] |
virtual void elastix::QuasiNewtonLBFGS< TElastix >::LineSearch | ( | const ParametersType | searchDir, |
double & | step, | ||
ParametersType & | x, | ||
MeasureType & | f, | ||
DerivativeType & | g | ||
) | [protected, virtual] |
Call the superclass' implementation. If an ExceptionObject is caught, because the line search optimizer tried a too big step, the exception is printed, but ignored further. The optimizer stops, but elastix just goes on to the next resolution.
Reimplemented from itk::QuasiNewtonLBFGSOptimizer.
static Pointer elastix::QuasiNewtonLBFGS< TElastix >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::QuasiNewtonLBFGSOptimizer.
void elastix::QuasiNewtonLBFGS< TElastix >::operator= | ( | const Self & | ) | [private] |
Reimplemented from itk::QuasiNewtonLBFGSOptimizer.
virtual void elastix::QuasiNewtonLBFGS< TElastix >::StartOptimization | ( | void | ) | [virtual] |
Check if any scales are set, and set the UseScales flag on or off; after that call the superclass' implementation
Reimplemented from itk::QuasiNewtonLBFGSOptimizer.
virtual bool elastix::QuasiNewtonLBFGS< TElastix >::TestConvergence | ( | bool | firstLineSearchDone | ) | [protected, virtual] |
Reimplement the superclass. Calls the superclass' implementation and checks if the MoreThuente line search routine has stopped with Wolfe conditions satisfied.
Reimplemented from itk::QuasiNewtonLBFGSOptimizer.
EventPassThroughPointer elastix::QuasiNewtonLBFGS< TElastix >::m_EventPasser [private] |
Definition at line 189 of file elxQuasiNewtonLBFGS.h.
bool elastix::QuasiNewtonLBFGS< TElastix >::m_GenerateLineSearchIterations [private] |
Definition at line 192 of file elxQuasiNewtonLBFGS.h.
LineOptimizerPointer elastix::QuasiNewtonLBFGS< TElastix >::m_LineOptimizer [protected] |
Definition at line 155 of file elxQuasiNewtonLBFGS.h.
double elastix::QuasiNewtonLBFGS< TElastix >::m_SearchDirectionMagnitude [private] |
Definition at line 190 of file elxQuasiNewtonLBFGS.h.
bool elastix::QuasiNewtonLBFGS< TElastix >::m_StartLineSearch [private] |
Definition at line 191 of file elxQuasiNewtonLBFGS.h.
bool elastix::QuasiNewtonLBFGS< TElastix >::m_StopIfWolfeNotSatisfied [private] |
Definition at line 193 of file elxQuasiNewtonLBFGS.h.
bool elastix::QuasiNewtonLBFGS< TElastix >::m_WolfeIsStopCondition [private] |
Definition at line 194 of file elxQuasiNewtonLBFGS.h.
Generated on 24-10-2011 for elastix by ![]() |
![]() |