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

itk::CumulativeGaussianCostFunction Class Reference
[NumericsFunctions]

Cost function for the Cumulative Gaussian Optimizer. More...

#include <itkCumulativeGaussianCostFunction.h>

Inheritance diagram for itk::CumulativeGaussianCostFunction:

Inheritance graph
[legend]
Collaboration diagram for itk::CumulativeGaussianCostFunction:

Collaboration graph
[legend]
List of all members.

Public Types

typedef CumulativeGaussianCostFunction Self
typedef MultipleValuedCostFunction Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::ParametersType ParametersType
typedef Superclass::MeasureType MeasureType
typedef Superclass::DerivativeType DerivativeType
enum  { SpaceDimension = 4 }

Public Member Functions

void GetDerivative (const ParametersType &, DerivativeType &) const
MeasureType GetValue (const ParametersType &parameters) const
MeasureTypeGetValue (ParametersType &parameters)
double CalculateFitError (MeasureType *setTestArray)
double EvaluateCumulativeGaussian (double argument) const
unsigned int GetNumberOfParameters () const
unsigned int GetNumberOfValues () const
void Initialize (unsigned int rangeDimension)
void SetOriginalDataArray (MeasureType *setOriginalDataArray)

Static Public Member Functions

Pointer New ()

Protected Member Functions

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

Detailed Description

Cost function for the Cumulative Gaussian Optimizer.

The Cumulative Gaussian is defined as the integral of a normalized Gaussian over the domain $ [-\infty, \infty] $.

Let G(x) be the normalized Gaussian defined as
$ G(x) = \frac{1}{{\sigma \sqrt {2\pi } }}e^{ - \frac{{\left( {x - \mu } \right)^2 }}{{2\sigma ^2 }}} $. The Cumulative Gaussian, is acquired by integrating G(x) then scaling and offseting it by the lower asymptotes $ I_1 and upper $ I_2 $ $: $ C\left( x \right) = I_1 + \frac{{I_2 - I_1 }}{2}\left( {1 + erf\left( {\frac{{x - \mu }}{{\sigma \sqrt 2 }}} \right)} \right) $, where $ C\left( { - \infty } \right) = I_1 $ and $ C\left( \infty \right) = I_2 $.
C(x) can only be tabulated since it's a variation of the
error function. It is included in this class as the function EvaluateCumulativeGaussian, where the argument of the function is $ {\frac{{x - \mu }}{{\sigma \sqrt 2 }}} $.

Definition at line 50 of file itkCumulativeGaussianCostFunction.h.


Member Typedef Documentation

typedef SmartPointer<const Self> itk::CumulativeGaussianCostFunction::ConstPointer
 

Reimplemented from itk::MultipleValuedCostFunction.

Definition at line 58 of file itkCumulativeGaussianCostFunction.h.

typedef Superclass::DerivativeType itk::CumulativeGaussianCostFunction::DerivativeType
 

GradientType typedef. It defines a type used to return the cost function derivative.

Reimplemented from itk::MultipleValuedCostFunction.

Definition at line 66 of file itkCumulativeGaussianCostFunction.h.

Referenced by GetDerivative().

typedef Superclass::MeasureType itk::CumulativeGaussianCostFunction::MeasureType
 

MeasureType typedef. It defines a type used to return the cost function value.

Reimplemented from itk::MultipleValuedCostFunction.

Definition at line 65 of file itkCumulativeGaussianCostFunction.h.

typedef Superclass::ParametersType itk::CumulativeGaussianCostFunction::ParametersType
 

Array Typedefs.

Reimplemented from itk::MultipleValuedCostFunction.

Definition at line 64 of file itkCumulativeGaussianCostFunction.h.

Referenced by GetDerivative().

typedef SmartPointer<Self> itk::CumulativeGaussianCostFunction::Pointer
 

Reimplemented from itk::MultipleValuedCostFunction.

Definition at line 57 of file itkCumulativeGaussianCostFunction.h.

typedef CumulativeGaussianCostFunction itk::CumulativeGaussianCostFunction::Self
 

Standard typedefs.

Reimplemented from itk::MultipleValuedCostFunction.

Definition at line 55 of file itkCumulativeGaussianCostFunction.h.

typedef MultipleValuedCostFunction itk::CumulativeGaussianCostFunction::Superclass
 

Reimplemented from itk::MultipleValuedCostFunction.

Definition at line 56 of file itkCumulativeGaussianCostFunction.h.


Member Enumeration Documentation

anonymous enum
 

The dimensions of parameter space; mean, standard deviation, lower and upper asymptotes.

Enumeration values:
SpaceDimension 
Definition at line 69 of file itkCumulativeGaussianCostFunction.h.


Constructor & Destructor Documentation

itk::CumulativeGaussianCostFunction::CumulativeGaussianCostFunction  )  [protected]
 

virtual itk::CumulativeGaussianCostFunction::~CumulativeGaussianCostFunction  )  [protected, virtual]
 


Member Function Documentation

double itk::CumulativeGaussianCostFunction::CalculateFitError MeasureType setTestArray  ) 
 

Calculate a fit error between the data and the fit curve.

double itk::CumulativeGaussianCostFunction::EvaluateCumulativeGaussian double  argument  )  const
 

Given the argument of a Cumulative Gaussian, return its value.

void itk::CumulativeGaussianCostFunction::GetDerivative const ParametersType ,
DerivativeType
const [inline, virtual]
 

Not necessary for this optimizer.

Implements itk::MultipleValuedCostFunction.

Definition at line 72 of file itkCumulativeGaussianCostFunction.h.

References DerivativeType, and ParametersType.

unsigned int itk::CumulativeGaussianCostFunction::GetNumberOfParameters  )  const [virtual]
 

Get the SpaceDimension.

Implements itk::CostFunction.

unsigned int itk::CumulativeGaussianCostFunction::GetNumberOfValues  )  const [virtual]
 

Get the number Range Dimension.

Implements itk::MultipleValuedCostFunction.

MeasureType* itk::CumulativeGaussianCostFunction::GetValue ParametersType parameters  ) 
 

Return a pointer of values evaluated for the given parameters.

MeasureType itk::CumulativeGaussianCostFunction::GetValue const ParametersType parameters  )  const [virtual]
 

Return the values evaluated for the given parameters.

Implements itk::MultipleValuedCostFunction.

void itk::CumulativeGaussianCostFunction::Initialize unsigned int  rangeDimension  ) 
 

Initialize the arrays.

Pointer itk::CumulativeGaussianCostFunction::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

void itk::CumulativeGaussianCostFunction::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::CostFunction.

void itk::CumulativeGaussianCostFunction::SetOriginalDataArray MeasureType setOriginalDataArray  ) 
 

Set the original data array.


The documentation for this class was generated from the following file:
Generated at Sun Apr 1 03:15:27 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000