ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions
itk::QuaternionRigidTransformGradientDescentOptimizer Class Reference

Implement a gradient descent optimizer. More...

#include <itkQuaternionRigidTransformGradientDescentOptimizer.h>

Inheritance diagram for itk::QuaternionRigidTransformGradientDescentOptimizer:
Collaboration diagram for itk::QuaternionRigidTransformGradientDescentOptimizer:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef
QuaternionRigidTransformGradientDescentOptimizer 
Self
typedef GradientDescentOptimizer Superclass

Public Member Functions

virtual void AdvanceOneStep (void)
virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 QuaternionRigidTransformGradientDescentOptimizer ()
virtual ~QuaternionRigidTransformGradientDescentOptimizer ()

Private Member Functions

void operator= (const Self &)
 QuaternionRigidTransformGradientDescentOptimizer (const Self &)

Detailed Description

Implement a gradient descent optimizer.

QuaternionRigidTransformGradientDescentOptimizer is an extension to the simple gradient descent optimizer implmented 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 the transform is purely rigid.

See also:
GradientDescentOptimizer

Definition at line 51 of file itkQuaternionRigidTransformGradientDescentOptimizer.h.


Member Typedef Documentation

Parameters type. It defines a position in the optimization search space.

Reimplemented from itk::SingleValuedNonLinearOptimizer.

Definition at line 66 of file itkQuaternionRigidTransformGradientDescentOptimizer.h.

Standard class typedefs.

Reimplemented from itk::GradientDescentOptimizer.

Definition at line 56 of file itkQuaternionRigidTransformGradientDescentOptimizer.h.


Constructor & Destructor Documentation

itk::QuaternionRigidTransformGradientDescentOptimizer::QuaternionRigidTransformGradientDescentOptimizer ( ) [inline, protected]
virtual itk::QuaternionRigidTransformGradientDescentOptimizer::~QuaternionRigidTransformGradientDescentOptimizer ( ) [inline, protected, virtual]
itk::QuaternionRigidTransformGradientDescentOptimizer::QuaternionRigidTransformGradientDescentOptimizer ( const Self ) [private]

Member Function Documentation

virtual void itk::QuaternionRigidTransformGradientDescentOptimizer::AdvanceOneStep ( void  ) [virtual]

Advance one step following the gradient direction.

Reimplemented from itk::GradientDescentOptimizer.

virtual::itk::LightObject::Pointer itk::QuaternionRigidTransformGradientDescentOptimizer::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::GradientDescentOptimizer.

virtual const char* itk::QuaternionRigidTransformGradientDescentOptimizer::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::GradientDescentOptimizer.

static Pointer itk::QuaternionRigidTransformGradientDescentOptimizer::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::GradientDescentOptimizer.

void itk::QuaternionRigidTransformGradientDescentOptimizer::operator= ( const Self ) [private]

Types inherited from the superclass

Reimplemented from itk::GradientDescentOptimizer.


The documentation for this class was generated from the following file: