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

itk::CompositeValleyFunction Class Reference

Multiple valley shaped curve function. More...

#include <itkCompositeValleyFunction.h>

Inheritance diagram for itk::CompositeValleyFunction:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef CacheableScalarFunction Superclass
typedef Superclass::MeasureType MeasureType
typedef Superclass::MeasureArrayType MeasureArrayType

Public Methods

 CompositeValleyFunction (const MeasureArrayType &classMeans, const MeasureArrayType &classSigmas)
virtual ~CompositeValleyFunction ()
double GetHigherBound ()
double GetLowerBound ()
MeasureType operator() (MeasureType x)
MeasureType valley (MeasureType d)

Protected Methods

void AddNewClass (double mean, double sigma)
void Initialize ()
MeasureType Evaluate (MeasureType x)

Detailed Description

Multiple valley shaped curve function.

Its functional form f(x) is : sum (valley( (x - mean[i]) / sigma[i] ) ) over i from 0 to the number of target classes where valley(x) = 1 - 1 / (1 + x^2 / 3)

The plotting of the function return shows multiple lowest points at each mean[i] position. There are two more important shape parameters for this function, higher-bound and lower-bound. Higher-bound will be highest mean value among target classes' means + its sigma value * 9, and lower-bound will be lowest mean value among target classes' means - its sigma value * 9

For example, if there are two target classes with their means at 4 and 6. The plotting may look like the following:

| |********* ****** | * * | * * * | * * * * | * * * * | * * * * | * * ---+-----+------*------*------- | 2 4 6 |

This is a part of the bias correction methods and implementaion that was initially developed and implemented by Martin Styner, Univ. of North Carolina at Chapel Hill, and his colleagues.

For more details. refer to the following articles. "Parametric estimate of intensity inhomogeneities applied to MRI" Martin Styner, G. Gerig, Christian Brechbuehler, Gabor Szekely, IEEE TRANSACTIONS ON MEDICAL IMAGING; 19(3), pp. 153-165, 2000, (http://www.cs.unc.edu/~styner/docs/tmi00.pdf)

"Evaluation of 2D/3D bias correction with 1+1ES-optimization" Martin Styner, Prof. Dr. G. Gerig (IKT, BIWI, ETH Zuerich), TR-197 (http://www.cs.unc.edu/~styner/docs/StynerTR97.pdf)

Definition at line 96 of file itkCompositeValleyFunction.h.


Member Typedef Documentation

typedef Superclass::MeasureArrayType itk::CompositeValleyFunction::MeasureArrayType
 

Reimplemented from itk::CacheableScalarFunction.

Definition at line 105 of file itkCompositeValleyFunction.h.

typedef Superclass::MeasureType itk::CompositeValleyFunction::MeasureType
 

Cost value type.

Reimplemented from itk::CacheableScalarFunction.

Definition at line 104 of file itkCompositeValleyFunction.h.

Referenced by Evaluate().

typedef CacheableScalarFunction itk::CompositeValleyFunction::Superclass
 

Superclass to this class.

Definition at line 101 of file itkCompositeValleyFunction.h.


Constructor & Destructor Documentation

itk::CompositeValleyFunction::CompositeValleyFunction const MeasureArrayType   classMeans,
const MeasureArrayType   classSigmas
 

Constructor.

virtual itk::CompositeValleyFunction::~CompositeValleyFunction   [inline, virtual]
 

Destructor.

Definition at line 112 of file itkCompositeValleyFunction.h.


Member Function Documentation

void itk::CompositeValleyFunction::AddNewClass double    mean,
double    sigma
[inline, protected]
 

Definition at line 137 of file itkCompositeValleyFunction.h.

MeasureType itk::CompositeValleyFunction::Evaluate MeasureType    x [inline, protected, virtual]
 

Evalaute the function at point x.

Reimplemented from itk::CacheableScalarFunction.

Definition at line 147 of file itkCompositeValleyFunction.h.

References MeasureType.

double itk::CompositeValleyFunction::GetHigherBound   [inline]
 

Get energy table's higher bound.

Definition at line 115 of file itkCompositeValleyFunction.h.

double itk::CompositeValleyFunction::GetLowerBound   [inline]
 

Get energy table's lower bound.

Definition at line 118 of file itkCompositeValleyFunction.h.

void itk::CompositeValleyFunction::Initialize   [protected]
 

calculate and save energy values

MeasureType itk::CompositeValleyFunction::operator() MeasureType    x [inline]
 

Gets an energy value for the intensity difference between a pixel and its corresponding bias.

Definition at line 122 of file itkCompositeValleyFunction.h.

MeasureType itk::CompositeValleyFunction::valley MeasureType    d [inline]
 

Get an energy value for the valley.

Definition at line 133 of file itkCompositeValleyFunction.h.


The documentation for this class was generated from the following file:
Generated at Fri May 21 01:18:48 2004 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000