Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::SingleValuedVnlCostFunctionAdaptor Class Reference
[NumericsOptimizers]

This class is an Adaptor that allows to pass itk::SingleValuedCostFunctions to vnl_optimizers expecting a vnl_cost_function. More...

#include <itkSingleValuedVnlCostFunctionAdaptor.h>

Collaboration diagram for itk::SingleValuedVnlCostFunctionAdaptor:
Collaboration graph
[legend]

List of all members.

Public Types

typedef
SingleValuedCostFunction::DerivativeType 
DerivativeType
typedef vnl_vector< double > InternalDerivativeType
typedef double InternalMeasureType
typedef vnl_vector< double > InternalParametersType
typedef
SingleValuedCostFunction::MeasureType 
MeasureType
typedef
SingleValuedCostFunction::ParametersType 
ParametersType
typedef Array< double > ScalesType

Public Member Functions

unsigned long AddObserver (const EventObject &event, Command *) const
virtual void compute (const InternalParametersType &x, InternalMeasureType *f, InternalDerivativeType *g)
void ConvertExternalToInternalGradient (const DerivativeType &input, InternalDerivativeType &output) const
virtual InternalMeasureType f (const InternalParametersType &inparameters)
const SingleValuedCostFunctionGetCostFunction (void) const
virtual void gradf (const InternalParametersType &inparameters, InternalDerivativeType &gradient)
void SetCostFunction (SingleValuedCostFunction *costFunction)
void SetScales (const ScalesType &scales)
 SingleValuedVnlCostFunctionAdaptor (unsigned int spaceDimension)



const ParametersTypeGetCachedCurrentParameters () const
const DerivativeTypeGetCachedDerivative () const
const MeasureTypeGetCachedValue () const
bool GetNegateCostFunction () const
void NegateCostFunctionOff ()
void NegateCostFunctionOn ()
void SetNegateCostFunction (bool value)

Protected Member Functions

void ReportIteration (const EventObject &event) const

Detailed Description

This class is an Adaptor that allows to pass itk::SingleValuedCostFunctions to vnl_optimizers expecting a vnl_cost_function.

This class returns a single valued.

Definition at line 36 of file itkSingleValuedVnlCostFunctionAdaptor.h.


Member Typedef Documentation

Derivatives of the SingleValuedCostFunction

Definition at line 54 of file itkSingleValuedVnlCostFunctionAdaptor.h.

InternalGradientType typedef.

Definition at line 48 of file itkSingleValuedVnlCostFunctionAdaptor.h.

InternalMeasureType typedef.

Definition at line 45 of file itkSingleValuedVnlCostFunctionAdaptor.h.

InternalParametersType typedef.

Definition at line 42 of file itkSingleValuedVnlCostFunctionAdaptor.h.

Type of the SingleValuedCostFunction value

Definition at line 57 of file itkSingleValuedVnlCostFunctionAdaptor.h.

Parameters of the SingleValuedCostFunction

Definition at line 51 of file itkSingleValuedVnlCostFunctionAdaptor.h.

Scales typedef

Definition at line 60 of file itkSingleValuedVnlCostFunctionAdaptor.h.


Constructor & Destructor Documentation

itk::SingleValuedVnlCostFunctionAdaptor::SingleValuedVnlCostFunctionAdaptor ( unsigned int  spaceDimension  ) 

Constructor with size


Member Function Documentation

unsigned long itk::SingleValuedVnlCostFunctionAdaptor::AddObserver ( const EventObject event,
Command  
) const

This AddObserver method allows to simulate that this class derives from an itkObject for the purpose of reporting iteration events. The goal of this method is to allow ITK-vnl optimizer adaptors to get iteration events despite the fact that VNL does not provide callbacks.

virtual void itk::SingleValuedVnlCostFunctionAdaptor::compute ( const InternalParametersType x,
InternalMeasureType f,
InternalDerivativeType g 
) [virtual]

Delegate computation of value and gradient to the costFunction.

void itk::SingleValuedVnlCostFunctionAdaptor::ConvertExternalToInternalGradient ( const DerivativeType input,
InternalDerivativeType output 
) const

Convert external derviative measures into internal type

virtual InternalMeasureType itk::SingleValuedVnlCostFunctionAdaptor::f ( const InternalParametersType inparameters  )  [virtual]

Delegate computation of the value to the CostFunction.

const ParametersType& itk::SingleValuedVnlCostFunctionAdaptor::GetCachedCurrentParameters (  )  const

Return the value of the last evaluation to the value of the cost function. Note that this method DOES NOT triggers a computation of the function or the derivatives, it only returns previous values. Therefore the values here are only valid after you invoke the f() or gradf() methods.

const DerivativeType& itk::SingleValuedVnlCostFunctionAdaptor::GetCachedDerivative (  )  const

Return the value of the last evaluation to the value of the cost function. Note that this method DOES NOT triggers a computation of the function or the derivatives, it only returns previous values. Therefore the values here are only valid after you invoke the f() or gradf() methods.

const MeasureType& itk::SingleValuedVnlCostFunctionAdaptor::GetCachedValue (  )  const

Return the value of the last evaluation to the value of the cost function. Note that this method DOES NOT triggers a computation of the function or the derivatives, it only returns previous values. Therefore the values here are only valid after you invoke the f() or gradf() methods.

const SingleValuedCostFunction* itk::SingleValuedVnlCostFunctionAdaptor::GetCostFunction ( void   )  const [inline]

Get the CostFunction deriving from SingleValuedCostFunction

Definition at line 71 of file itkSingleValuedVnlCostFunctionAdaptor.h.

bool itk::SingleValuedVnlCostFunctionAdaptor::GetNegateCostFunction (  )  const

Return the value of the last evaluation to the value of the cost function. Note that this method DOES NOT triggers a computation of the function or the derivatives, it only returns previous values. Therefore the values here are only valid after you invoke the f() or gradf() methods.

virtual void itk::SingleValuedVnlCostFunctionAdaptor::gradf ( const InternalParametersType inparameters,
InternalDerivativeType gradient 
) [virtual]

Delegate computation of the gradient to the costFunction.

void itk::SingleValuedVnlCostFunctionAdaptor::NegateCostFunctionOff (  )  [inline]

Return the value of the last evaluation to the value of the cost function. Note that this method DOES NOT triggers a computation of the function or the derivatives, it only returns previous values. Therefore the values here are only valid after you invoke the f() or gradf() methods.

Definition at line 105 of file itkSingleValuedVnlCostFunctionAdaptor.h.

void itk::SingleValuedVnlCostFunctionAdaptor::NegateCostFunctionOn (  )  [inline]

Return the value of the last evaluation to the value of the cost function. Note that this method DOES NOT triggers a computation of the function or the derivatives, it only returns previous values. Therefore the values here are only valid after you invoke the f() or gradf() methods.

Definition at line 104 of file itkSingleValuedVnlCostFunctionAdaptor.h.

void itk::SingleValuedVnlCostFunctionAdaptor::ReportIteration ( const EventObject event  )  const [protected]

This method is intended to be called by the derived classes in order to notify of an iteration event to any Command/Observers

void itk::SingleValuedVnlCostFunctionAdaptor::SetCostFunction ( SingleValuedCostFunction costFunction  )  [inline]

Set the CostFunction deriving from SingleValuedCostFunction

Definition at line 67 of file itkSingleValuedVnlCostFunctionAdaptor.h.

void itk::SingleValuedVnlCostFunctionAdaptor::SetNegateCostFunction ( bool  value  ) 

Set/Get Negate cost function. The purpose of this boolean flag is to make possible to take certain VNL optimizers that are only minimizers, and use them for maximizing functions. When the boolean flag is set to true, the values returned by GetValue in the internal ITK cost function will be multiplied by -1 before returning it in the f() function. Similar operations will be done for the gradf() and compute() methods. When the boolean flag is set to false, then the values returned by the ITK cost function will be passed unchanged to the VNL optimizers.

void itk::SingleValuedVnlCostFunctionAdaptor::SetScales ( const ScalesType scales  ) 

Set current parameters scaling.


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

Generated at Sat Apr 17 00:37:46 2010 for ITK by doxygen 1.6.1 written by Dimitri van Heesch, © 1997-2000