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

#include <itkFRPROptimizer.h>

+ Inheritance diagram for itk::FRPROptimizer:
+ Collaboration diagram for itk::FRPROptimizer:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef CostFunctionType::Pointer CostFunctionPointer
typedef SingleValuedCostFunction CostFunctionType
typedef
SingleValuedNonLinearOptimizer::ParametersType 
ParametersType
typedef SmartPointer< SelfPointer
typedef FRPROptimizer Self
typedef PowellOptimizer Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
void SetToFletchReeves ()
void SetToPolakRibiere ()
void StartOptimization ()
virtual void SetUseUnitLengthGradient (bool _arg)
virtual bool GetUseUnitLengthGradient () const

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 FRPROptimizer ()
virtual void GetValueAndDerivative (ParametersType &p, double *val, ParametersType *xi)
virtual void LineOptimize (ParametersType *p, ParametersType &xi, double *val)
virtual void LineOptimize (ParametersType *p, ParametersType &xi, double *val, ParametersType &tempCoord)
void PrintSelf (std::ostream &os, Indent indent) const
virtual ~FRPROptimizer ()

Private Types

enum  OptimizationType {
  FletchReeves,
  PolakRibiere
}

Private Member Functions

 FRPROptimizer (const FRPROptimizer &)

Private Attributes

OptimizationType m_OptimizationType
bool m_UseUnitLengthGradient

Detailed Description

Implements Fletch-Reeves & Polak-Ribiere optimization using dBrent line search.

This optimizer needs a cost function. This optimizer needs to be able to compute partial derivatives of the cost function with respect to each parameter.

The SetStepLength determines the initial distance to step in a line direction when bounding the minimum (using bracketing triple spaced using a derivative-based search strategy).

The StepTolerance terminates optimization when the parameter values are known to be within this (scaled) distance of the local extreme.

The ValueTolerance terminates optimization when the cost function values at the current parameters and at the local extreme are likely (within a second order approximation) to be within this is tolerance.

Definition at line 49 of file itkFRPROptimizer.h.


Member Typedef Documentation

Reimplemented from itk::PowellOptimizer.

Definition at line 57 of file itkFRPROptimizer.h.

Reimplemented from itk::PowellOptimizer.

Definition at line 69 of file itkFRPROptimizer.h.

Type of the Cost Function

Reimplemented from itk::PowellOptimizer.

Definition at line 65 of file itkFRPROptimizer.h.

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

Reimplemented from itk::PowellOptimizer.

Definition at line 59 of file itkFRPROptimizer.h.

Reimplemented from itk::PowellOptimizer.

Definition at line 56 of file itkFRPROptimizer.h.

Standard "Self" typedef.

Reimplemented from itk::PowellOptimizer.

Definition at line 54 of file itkFRPROptimizer.h.

Reimplemented from itk::PowellOptimizer.

Definition at line 55 of file itkFRPROptimizer.h.


Member Enumeration Documentation

Enumerator:
FletchReeves 
PolakRibiere 

Definition at line 107 of file itkFRPROptimizer.h.


Constructor & Destructor Documentation

virtual itk::FRPROptimizer::~FRPROptimizer ( ) [protected, virtual]

Member Function Documentation

virtual::itk::LightObject::Pointer itk::FRPROptimizer::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::PowellOptimizer.

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

Run-time type information (and related methods).

Reimplemented from itk::PowellOptimizer.

virtual bool itk::FRPROptimizer::GetUseUnitLengthGradient ( ) const [virtual]

Convert gradient to a unit length vector

virtual void itk::FRPROptimizer::GetValueAndDerivative ( ParametersType p,
double *  val,
ParametersType xi 
) [protected, virtual]

Get the value of the n-dimensional cost function at this scalar step distance along the current line direction from the current line origin. Line origin and distances are set via SetLine

virtual void itk::FRPROptimizer::LineOptimize ( ParametersType p,
ParametersType xi,
double *  val 
) [protected, virtual]
virtual void itk::FRPROptimizer::LineOptimize ( ParametersType p,
ParametersType xi,
double *  val,
ParametersType tempCoord 
) [protected, virtual]
static Pointer itk::FRPROptimizer::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::PowellOptimizer.

void itk::FRPROptimizer::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::PowellOptimizer.

Set it to the Fletch-Reeves optimizer

Set it to the Fletch-Reeves optimizer

virtual void itk::FRPROptimizer::SetUseUnitLengthGradient ( bool  _arg) [virtual]

Convert gradient to a unit length vector

Start optimization.

Reimplemented from itk::PowellOptimizer.


Member Data Documentation

Definition at line 112 of file itkFRPROptimizer.h.

Definition at line 114 of file itkFRPROptimizer.h.


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