ITK
6.0.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.
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 |
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 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 *cmd) 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) const |
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.