ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
itk::MultiGradientOptimizerv4 Class Reference

#include <itkMultiGradientOptimizerv4.h>

+ Inheritance diagram for itk::MultiGradientOptimizerv4:
+ Collaboration diagram for itk::MultiGradientOptimizerv4:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef MetricType::DerivativeType DerivativeType
typedef
Superclass::InternalComputationValueType 
InternalComputationValueType
typedef
itk::GradientDescentOptimizerv4::Pointer 
LocalOptimizerPointer
typedef
itk::GradientDescentOptimizerv4 
LocalOptimizerType
typedef Superclass::MeasureType MeasureType
typedef Superclass::MetricType MetricType
typedef MetricType::Pointer MetricTypePointer
typedef std::vector< MeasureTypeMetricValuesListType
typedef OptimizerType::Pointer OptimizerPointer
typedef
OptimizersListType::size_type 
OptimizersListSizeType
typedef std::vector
< LocalOptimizerPointer
OptimizersListType
typedef ObjectToObjectOptimizerBase OptimizerType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef MultiGradientOptimizerv4 Self
typedef std::ostringstream StopConditionDescriptionType
typedef std::string StopConditionReturnStringType
typedef GradientDescentOptimizerv4 Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual SizeValueType GetCurrentIteration () const
const MetricValuesListTypeGetMetricValuesList () const
virtual const char * GetNameOfClass () const
virtual const SizeValueTypeGetNumberOfIterations ()
OptimizersListTypeGetOptimizersList ()
virtual const StopConditionTypeGetStopCondition ()
virtual const
StopConditionReturnStringType 
GetStopConditionDescription () const
virtual void ResumeOptimization ()
virtual void SetNumberOfIterations (SizeValueType _arg)
void SetOptimizersList (OptimizersListType &p)
virtual void StartOptimization (void)
virtual void StopOptimization (void)

Static Public Member Functions

static Pointer New ()

Protected Member Functions

virtual void PrintSelf (std::ostream &os, Indent indent) const
 MultiGradientOptimizerv4 ()
virtual ~MultiGradientOptimizerv4 ()

Protected Attributes

SizeValueType m_CurrentIteration
MeasureType m_MaximumMetricValue
MetricValuesListType m_MetricValuesList
MeasureType m_MinimumMetricValue
SizeValueType m_NumberOfIterations
OptimizersListType m_OptimizersList
bool m_Stop
StopConditionType m_StopCondition
StopConditionDescriptionType m_StopConditionDescription

Private Member Functions

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

Detailed Description

Multiple gradient-based optimizers are combined in order to perform a multi-objective optimization.

This optimizer will do a combined gradient descent optimization using whatever metric/optimizer gradient sub-optimizers are passed to it by the user. The learning rate or scaleestimator for each sub-optimizer controls the relative weight of each metric in the optimization. Denote the weights as $ w_1 $ and $ w_2 $ then the MultiGradientOptimizer will optimize $ \sum_i w_i Metric_i $ by using update rule:

\[ params_{new} = params_{old} + \frac{1}{N_{Metrics}} * ( \sum_i w_i Grad(Metric_i) ) \]

The test for this class illustrates the expected behavior.

Definition at line 42 of file itkMultiGradientOptimizerv4.h.


Member Typedef Documentation

Reimplemented from itk::GradientDescentOptimizerv4.

Definition at line 50 of file itkMultiGradientOptimizerv4.h.

Derivative type

Reimplemented from itk::GradientDescentOptimizerv4.

Definition at line 77 of file itkMultiGradientOptimizerv4.h.

Internal computation type, for maintaining a desired precision

Reimplemented from itk::GradientDescentOptimizerv4.

Definition at line 84 of file itkMultiGradientOptimizerv4.h.

Definition at line 59 of file itkMultiGradientOptimizerv4.h.

Definition at line 56 of file itkMultiGradientOptimizerv4.h.

Measure type

Reimplemented from itk::GradientDescentOptimizerv4.

Definition at line 80 of file itkMultiGradientOptimizerv4.h.

Metric type over which this class is templated

Reimplemented from itk::GradientDescentOptimizerBasev4.

Definition at line 73 of file itkMultiGradientOptimizerv4.h.

Reimplemented from itk::GradientDescentOptimizerBasev4.

Definition at line 74 of file itkMultiGradientOptimizerv4.h.

Definition at line 81 of file itkMultiGradientOptimizerv4.h.

Definition at line 62 of file itkMultiGradientOptimizerv4.h.

typedef OptimizersListType::size_type itk::MultiGradientOptimizerv4::OptimizersListSizeType

Definition at line 64 of file itkMultiGradientOptimizerv4.h.

Definition at line 63 of file itkMultiGradientOptimizerv4.h.

Definition at line 61 of file itkMultiGradientOptimizerv4.h.

Parameters type.

Reimplemented from itk::ObjectToObjectOptimizerBase.

Definition at line 60 of file itkMultiGradientOptimizerv4.h.

Reimplemented from itk::GradientDescentOptimizerv4.

Definition at line 49 of file itkMultiGradientOptimizerv4.h.

Standard class typedefs.

Reimplemented from itk::GradientDescentOptimizerv4.

Definition at line 47 of file itkMultiGradientOptimizerv4.h.

Stop condition internal string type

Reimplemented from itk::GradientDescentOptimizerBasev4.

Definition at line 70 of file itkMultiGradientOptimizerv4.h.

Stop condition return string type

Reimplemented from itk::GradientDescentOptimizerBasev4.

Definition at line 67 of file itkMultiGradientOptimizerv4.h.

Reimplemented from itk::GradientDescentOptimizerv4.

Definition at line 48 of file itkMultiGradientOptimizerv4.h.


Constructor & Destructor Documentation

Default constructor

Default constructor


Member Function Documentation

virtual::itk::LightObject::Pointer itk::MultiGradientOptimizerv4::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::GradientDescentOptimizerv4.

Get the current iteration number.

Reimplemented from itk::GradientDescentOptimizerBasev4.

Get the list of metric values that we produced after the multi-objective search.

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

Run-time type information (and related methods).

Reimplemented from itk::GradientDescentOptimizerv4.

Get the number of iterations.

Reimplemented from itk::GradientDescentOptimizerBasev4.

Get the list of optimizers currently held.

Get stop condition enum

Reimplemented from itk::GradientDescentOptimizerBasev4.

Get the reason for termination

Reimplemented from itk::GradientDescentOptimizerBasev4.

Method for creation through the object factory.

Reimplemented from itk::GradientDescentOptimizerv4.

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

Mutex lock to protect modification to the reference count

Reimplemented from itk::GradientDescentOptimizerv4.

virtual void itk::MultiGradientOptimizerv4::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::GradientDescentOptimizerv4.

Resume the optimization. Can be called after StopOptimization to resume. The bulk of the optimization work loop is here.

Reimplemented from itk::GradientDescentOptimizerv4.

Set the number of iterations.

Reimplemented from itk::GradientDescentOptimizerBasev4.

Set the list of optimizers to combine

virtual void itk::MultiGradientOptimizerv4::StartOptimization ( void  ) [virtual]

Begin the optimization

Reimplemented from itk::GradientDescentOptimizerv4.

virtual void itk::MultiGradientOptimizerv4::StopOptimization ( void  ) [virtual]

Stop optimization. The object is left in a state so the optimization can be resumed by calling ResumeOptimization.

Reimplemented from itk::GradientDescentOptimizerBasev4.


Member Data Documentation

Reimplemented from itk::GradientDescentOptimizerBasev4.

Definition at line 135 of file itkMultiGradientOptimizerv4.h.

Definition at line 139 of file itkMultiGradientOptimizerv4.h.

Definition at line 137 of file itkMultiGradientOptimizerv4.h.

Definition at line 138 of file itkMultiGradientOptimizerv4.h.

Reimplemented from itk::GradientDescentOptimizerBasev4.

Definition at line 134 of file itkMultiGradientOptimizerv4.h.

Definition at line 136 of file itkMultiGradientOptimizerv4.h.

Reimplemented from itk::GradientDescentOptimizerBasev4.

Definition at line 131 of file itkMultiGradientOptimizerv4.h.

Reimplemented from itk::GradientDescentOptimizerBasev4.

Definition at line 132 of file itkMultiGradientOptimizerv4.h.

Reimplemented from itk::GradientDescentOptimizerBasev4.

Definition at line 133 of file itkMultiGradientOptimizerv4.h.


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