![]() |
ITK
5.4.0
Insight Toolkit
|
#include <itkQuaternionRigidTransformGradientDescentOptimizer.h>
Implement a gradient descent optimizer.
QuaternionRigidTransformGradientDescentOptimizer is an extension to the simple gradient descent optimizer implemented in GradientDescentOptimizer. At each iteration the current position is updated according to
p(n+1) = p(n) + learningRate * d f(p(n)) / d p(n)
\[ p_{n+1} = p_n + \mbox{learningRate} \, \frac{\partial f(p_n) }{\partial p_n} \]
The learning rate is a fixed scalar defined via SetLearningRate(). The optimizer steps through a user defined number of iterations; no convergence checking is done. The first four components of p are assumed to be the four components of the quaternion. After each update, the quaternion is normalized to have a magnitude of one. This ensures the transform is purely rigid.
Definition at line 52 of file itkQuaternionRigidTransformGradientDescentOptimizer.h.
Inheritance diagram for itk::QuaternionRigidTransformGradientDescentOptimizer:
Collaboration diagram for itk::QuaternionRigidTransformGradientDescentOptimizer:Public Member Functions | |
| void | AdvanceOneStep () override |
| const char * | GetNameOfClass () const override |
Public Member Functions inherited from itk::GradientDescentOptimizer | |
| virtual void | AdvanceOneStep () |
| virtual SizeValueType | GetCurrentIteration () const |
| virtual const DerivativeType & | GetGradient () const |
| virtual const double & | GetLearningRate () const |
| const char * | GetNameOfClass () const override |
| virtual const SizeValueType & | GetNumberOfIterations () const |
| virtual const double & | GetValue () const |
| void | ResumeOptimization () |
| virtual void | SetLearningRate (double _arg) |
| virtual void | SetNumberOfIterations (SizeValueType _arg) |
| void | StartOptimization () override |
| void | StopOptimization () |
| virtual const bool & | GetMaximize () const |
| virtual void | SetMaximize (bool _arg) |
| virtual void | MaximizeOn () |
| bool | GetMinimize () const |
| void | SetMinimize (bool v) |
| void | MinimizeOn () |
| void | MinimizeOff () |
| virtual const StopConditionGradientDescentOptimizerEnum & | GetStopCondition () const |
| const std::string | GetStopConditionDescription () const override |
Public Member Functions inherited from itk::SingleValuedNonLinearOptimizer | |
| virtual CostFunctionType * | GetModifiableCostFunction () |
| const char * | GetNameOfClass () const override |
| MeasureType | GetValue (const ParametersType ¶meters) const |
| virtual void | SetCostFunction (CostFunctionType *costFunction) |
| const char * | GetNameOfClass () const override |
Public Member Functions inherited from itk::Optimizer | |
| virtual const ParametersType & | GetCurrentPosition () const |
| virtual const ParametersType & | GetInitialPosition () const |
| const char * | GetNameOfClass () const override |
| virtual const std::string | GetStopConditionDescription () const |
| virtual void | SetInitialPosition (const ParametersType ¶m) |
| void | SetScales (const ScalesType &scales) |
| virtual void | StartOptimization () |
| virtual const ScalesType & | GetScales () const |
| virtual const ScalesType & | GetInverseScales () const |
Public Member Functions inherited from itk::Object | |
| unsigned long | AddObserver (const EventObject &event, Command *) |
| unsigned long | AddObserver (const EventObject &event, Command *) const |
| unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
| LightObject::Pointer | CreateAnother () const override |
| virtual void | DebugOff () const |
| virtual void | DebugOn () const |
| Command * | GetCommand (unsigned long tag) |
| bool | GetDebug () const |
| MetaDataDictionary & | GetMetaDataDictionary () |
| const MetaDataDictionary & | GetMetaDataDictionary () const |
| virtual ModifiedTimeType | GetMTime () const |
| const char * | GetNameOfClass () const override |
| virtual const TimeStamp & | GetTimeStamp () const |
| bool | HasObserver (const EventObject &event) const |
| void | InvokeEvent (const EventObject &) |
| void | InvokeEvent (const EventObject &) const |
| virtual void | Modified () const |
| void | Register () const override |
| void | RemoveAllObservers () |
| void | RemoveObserver (unsigned long tag) |
| void | SetDebug (bool debugFlag) const |
| void | SetReferenceCount (int) override |
| void | UnRegister () const noexcept override |
| void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
| void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
| virtual void | SetObjectName (std::string _arg) |
| virtual const std::string & | GetObjectName () const |
Public Member Functions inherited from itk::LightObject | |
| Pointer | Clone () const |
| virtual Pointer | CreateAnother () const |
| virtual void | Delete () |
| virtual const char * | GetNameOfClass () const |
| virtual int | GetReferenceCount () const |
| void | Print (std::ostream &os, Indent indent=0) const |
| virtual void | Register () const |
| virtual void | SetReferenceCount (int) |
| virtual void | UnRegister () const noexcept |
Static Public Member Functions | |
| static Pointer | New () |
Static Public Member Functions inherited from itk::GradientDescentOptimizer | |
| static Pointer | New () |
Static Public Member Functions inherited from itk::SingleValuedNonLinearOptimizer | |
| static Pointer | New () |
Static Public Member Functions inherited from itk::NonLinearOptimizer | |
| static Pointer | New () |
Static Public Member Functions inherited from itk::Optimizer | |
| static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
| static bool | GetGlobalWarningDisplay () |
| static void | GlobalWarningDisplayOff () |
| static void | GlobalWarningDisplayOn () |
| static Pointer | New () |
| static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
| static void | BreakOnError () |
| static Pointer | New () |
Protected Member Functions | |
| QuaternionRigidTransformGradientDescentOptimizer ()=default | |
| ~QuaternionRigidTransformGradientDescentOptimizer () override=default | |
Protected Member Functions inherited from itk::GradientDescentOptimizer | |
| GradientDescentOptimizer () | |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| ~GradientDescentOptimizer () override=default | |
Protected Member Functions inherited from itk::SingleValuedNonLinearOptimizer | |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| SingleValuedNonLinearOptimizer () | |
| ~SingleValuedNonLinearOptimizer () override=default | |
Protected Member Functions inherited from itk::NonLinearOptimizer | |
| NonLinearOptimizer ()=default | |
| ~NonLinearOptimizer () override | |
Protected Member Functions inherited from itk::Optimizer | |
| Optimizer () | |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| virtual void | SetCurrentPosition (const ParametersType ¶m) |
| ~Optimizer () override=default | |
Protected Member Functions inherited from itk::Object | |
| Object () | |
| bool | PrintObservers (std::ostream &os, Indent indent) const |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
| ~Object () override | |
Protected Member Functions inherited from itk::LightObject | |
| virtual LightObject::Pointer | InternalClone () const |
| LightObject () | |
| virtual void | PrintHeader (std::ostream &os, Indent indent) const |
| virtual void | PrintSelf (std::ostream &os, Indent indent) const |
| virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
| virtual | ~LightObject () |
Additional Inherited Members | |
Protected Attributes inherited from itk::GradientDescentOptimizer | |
| DerivativeType | m_Gradient {} |
| double | m_LearningRate { 1.0 } |
| bool | m_Maximize { false } |
Protected Attributes inherited from itk::SingleValuedNonLinearOptimizer | |
| CostFunctionPointer | m_CostFunction {} |
Protected Attributes inherited from itk::Optimizer | |
| ParametersType | m_CurrentPosition {} |
| bool | m_ScalesInitialized { false } |
Protected Attributes inherited from itk::LightObject | |
| std::atomic< int > | m_ReferenceCount {} |
| using itk::QuaternionRigidTransformGradientDescentOptimizer::ConstPointer = SmartPointer<const Self> |
Definition at line 61 of file itkQuaternionRigidTransformGradientDescentOptimizer.h.
| using itk::QuaternionRigidTransformGradientDescentOptimizer::ParametersType = Superclass::ParametersType |
Parameters type. It defines a position in the optimization search space.
Definition at line 71 of file itkQuaternionRigidTransformGradientDescentOptimizer.h.
Definition at line 60 of file itkQuaternionRigidTransformGradientDescentOptimizer.h.
| using itk::QuaternionRigidTransformGradientDescentOptimizer::Self = QuaternionRigidTransformGradientDescentOptimizer |
Standard class type aliases.
Definition at line 58 of file itkQuaternionRigidTransformGradientDescentOptimizer.h.
Definition at line 59 of file itkQuaternionRigidTransformGradientDescentOptimizer.h.
|
protecteddefault |
|
overrideprotecteddefault |
|
overridevirtual |
Advance one step following the gradient direction.
Reimplemented from itk::GradientDescentOptimizer.
|
overridevirtual |
Reimplemented from itk::GradientDescentOptimizer.
|
static |
Method for creation through the object factory.
1.9.3