#include <itkCompositeValleyFunction.h>
Inheritance diagram for itk::CompositeValleyFunction:


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. Upper-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.
Public Types | |
| typedef Superclass::MeasureArrayType | MeasureArrayType |
| typedef Superclass::MeasureType | MeasureType |
| typedef CacheableScalarFunction | Superclass |
Public Member Functions | |
| CompositeValleyFunction (const MeasureArrayType &classMeans, const MeasureArrayType &classSigmas) | |
| truncation happens As a the return values from * | Evaluate (x) and GetCachedValue(x) may not be same for the same x.*/inline MeasureType GetCachedValue(MeasureType x) |
| MeasureType | Evaluate (MeasureType x) |
| double | GetCacheLowerBound () |
| double | GetCacheUpperBound () |
| double | GetInterval () |
| double | GetLowerBound () |
| long | GetNumberOfSamples () |
| double | GetUpperBound () |
| bool | IsCacheAvailable () |
| MeasureType | operator() (MeasureType x) |
| MeasureType | valley (MeasureType d) |
| virtual | ~CompositeValleyFunction () |
Public Attributes | |
| truncation happens As a | result |
| y | |
Protected Member Functions | |
| void | AddNewClass (double mean, double sigma) |
| void | CreateCache (double lowerBound, double upperBound, long sampleSize) |
| void | Initialize () |
|
|
Reimplemented from itk::CacheableScalarFunction. Definition at line 105 of file itkCompositeValleyFunction.h. |
|
|
Cost value type. Reimplemented from itk::CacheableScalarFunction. Definition at line 104 of file itkCompositeValleyFunction.h. |
|
|
Superclass to this class. Definition at line 101 of file itkCompositeValleyFunction.h. |
|
||||||||||||
|
Constructor. |
|
|
Destructor. Definition at line 112 of file itkCompositeValleyFunction.h. |
|
||||||||||||
|
Definition at line 151 of file itkCompositeValleyFunction.h. |
|
||||||||||||||||
|
Create the internal cache table and fill it with pre-evaluated values. |
|
|
Definition at line 95 of file itkCacheableScalarFunction.h. |
|
|
Evalaute the function at point x. Reimplemented from itk::CacheableScalarFunction. Definition at line 133 of file itkCompositeValleyFunction.h. References valley(). Referenced by operator()(). |
|
|
Get the lower-bound of domain that is used for filling the cache table. Definition at line 79 of file itkCacheableScalarFunction.h. |
|
|
Get the upper-bound of domain that is used for filling the cache table. Definition at line 76 of file itkCacheableScalarFunction.h. |
|
|
Gets the interval of each cell between the upper and lower bound Definition at line 88 of file itkCacheableScalarFunction.h. |
|
|
Get energy table's lower bound. Definition at line 118 of file itkCompositeValleyFunction.h. |
|
|
Get the number of samples between the lower-bound and upper-bound of the cache table. Definition at line 70 of file itkCacheableScalarFunction.h. |
|
|
Get energy table's higher bound. Definition at line 115 of file itkCompositeValleyFunction.h. |
|
|
calculate and save energy values |
|
|
Check if the internal cache table and its values are valid. Definition at line 73 of file itkCacheableScalarFunction.h. |
|
|
Gets an energy value for the intensity difference between a pixel and its corresponding bias. Definition at line 122 of file itkCompositeValleyFunction.h. References Evaluate(), and itk::fem::this. |
|
|
Get an energy value for the valley. Definition at line 147 of file itkCompositeValleyFunction.h. Referenced by Evaluate(). |
|
|
Definition at line 91 of file itkCacheableScalarFunction.h. |
|
|
Initial value: f(x) = (approximately) cache_table(index(x)) * Get the function return using the internal cache table * NOTE: Since the index calculation needs conversion from double * to int Definition at line 91 of file itkCacheableScalarFunction.h. |
1.4.2 written by Dimitri van Heesch,
© 1997-2000