ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkCumulativeGaussianOptimizer.h>
This is an optimizer specific to estimating the parameters of Cumulative Gaussian sampled data.
This optimizer will only work if the data array is sampled from a Cumulative Gaussian curve. It's more of a curve fitter than an optimizer, with the advantage of being fast and specific. It works by taking the derivative of the Cumulative Gaussian sample then repeatedly extending the tails of the Gaussian and recalculating the Gaussian parameters until the change in iterations is within tolerance or very small. The Gaussian is then integrated to reproduce the Cumulative Gaussian and the asymptotes are estimated by using least squares fit to estimate the constant from integration.
Definition at line 47 of file itkCumulativeGaussianOptimizer.h.
typedef SmartPointer< const Self > itk::CumulativeGaussianOptimizer::ConstPointer |
Reimplemented from itk::MultipleValuedNonLinearOptimizer.
Definition at line 56 of file itkCumulativeGaussianOptimizer.h.
Cost function typedef. NOTE: This optimizer is specific to fitting a Cumulative Gaussian.
Reimplemented from itk::MultipleValuedNonLinearOptimizer.
Definition at line 60 of file itkCumulativeGaussianOptimizer.h.
Data array typedef.
Reimplemented from itk::MultipleValuedNonLinearOptimizer.
Definition at line 63 of file itkCumulativeGaussianOptimizer.h.
Reimplemented from itk::MultipleValuedNonLinearOptimizer.
Definition at line 55 of file itkCumulativeGaussianOptimizer.h.
Standard typedefs.
Reimplemented from itk::MultipleValuedNonLinearOptimizer.
Definition at line 53 of file itkCumulativeGaussianOptimizer.h.
Reimplemented from itk::MultipleValuedNonLinearOptimizer.
Definition at line 54 of file itkCumulativeGaussianOptimizer.h.
itk::CumulativeGaussianOptimizer::CumulativeGaussianOptimizer | ( | ) | [protected] |
virtual itk::CumulativeGaussianOptimizer::~CumulativeGaussianOptimizer | ( | ) | [protected, virtual] |
virtual::itk::LightObject::Pointer itk::CumulativeGaussianOptimizer::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::MultipleValuedNonLinearOptimizer.
MeasureType* itk::CumulativeGaussianOptimizer::ExtendGaussian | ( | MeasureType * | originalArray, |
MeasureType * | extendedArray, | ||
int | startingPointForInsertion | ||
) | [private] |
Extend the tails of the Gaussian.
double itk::CumulativeGaussianOptimizer::FindAverageSumOfSquaredDifferences | ( | MeasureType * | array1, |
MeasureType * | array2 | ||
) | [private] |
Calculates the squared difference error between each Gaussian iteration loop.
void itk::CumulativeGaussianOptimizer::FindParametersOfGaussian | ( | MeasureType * | sampledGaussianArray | ) | [private] |
Given an array sampled from a Gaussin, compute the final parameters.
virtual double itk::CumulativeGaussianOptimizer::GetComputedMean | ( | ) | [virtual] |
Set and get macros.
virtual double itk::CumulativeGaussianOptimizer::GetComputedStandardDeviation | ( | ) | [virtual] |
Set and get macros.
virtual MeasureType* itk::CumulativeGaussianOptimizer::GetFinalSampledArray | ( | ) | [virtual] |
Set and get macros.
virtual double itk::CumulativeGaussianOptimizer::GetFitError | ( | ) | [virtual] |
Set and get macros.
virtual double itk::CumulativeGaussianOptimizer::GetLowerAsymptote | ( | ) | [virtual] |
Set and get macros.
virtual const char* itk::CumulativeGaussianOptimizer::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::MultipleValuedNonLinearOptimizer.
const std::string itk::CumulativeGaussianOptimizer::GetStopConditionDescription | ( | ) | const [virtual] |
Report the reason for stopping.
Reimplemented from itk::Optimizer.
virtual double itk::CumulativeGaussianOptimizer::GetUpperAsymptote | ( | ) | [virtual] |
Set and get macros.
void itk::CumulativeGaussianOptimizer::MeasureGaussianParameters | ( | MeasureType * | array | ) | [private] |
Measure the parameters of a Gaussian sampled array.
static Pointer itk::CumulativeGaussianOptimizer::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::MultipleValuedNonLinearOptimizer.
void itk::CumulativeGaussianOptimizer::PrintArray | ( | MeasureType * | array | ) |
Print an array.
void itk::CumulativeGaussianOptimizer::PrintComputedParameterHeader | ( | ) | [private] |
Print the header for output table.
void itk::CumulativeGaussianOptimizer::PrintComputedParameters | ( | ) | [private] |
Print the computed parameters.
void itk::CumulativeGaussianOptimizer::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::MultipleValuedNonLinearOptimizer.
MeasureType* itk::CumulativeGaussianOptimizer::RecalculateExtendedArrayFromGaussianParameters | ( | MeasureType * | originalArray, |
MeasureType * | extendedArray, | ||
int | startingPointForInsertion | ||
) | [private] |
Recalulate the parameters of the extended Gaussian array.
void itk::CumulativeGaussianOptimizer::SetDataArray | ( | MeasureType * | dataArray | ) |
virtual void itk::CumulativeGaussianOptimizer::SetDifferenceTolerance | ( | double | _arg | ) | [virtual] |
Set and get macros.
virtual void itk::CumulativeGaussianOptimizer::SetVerbose | ( | bool | _arg | ) | [virtual] |
Set and get macros.
void itk::CumulativeGaussianOptimizer::StartOptimization | ( | ) | [virtual] |
Start the optimizer.
Reimplemented from itk::Optimizer.
double itk::CumulativeGaussianOptimizer::VerticalBestShift | ( | MeasureType * | originalArray, |
MeasureType * | newArray | ||
) | [private] |
Find the constant of the integrated sample.
double itk::CumulativeGaussianOptimizer::m_ComputedAmplitude [private] |
The final amplitude of the Gaussian.
Definition at line 110 of file itkCumulativeGaussianOptimizer.h.
double itk::CumulativeGaussianOptimizer::m_ComputedMean [private] |
The final mean of the Cumulative Gaussian.
Definition at line 104 of file itkCumulativeGaussianOptimizer.h.
double itk::CumulativeGaussianOptimizer::m_ComputedStandardDeviation [private] |
The final standard deviation of the Cumulative Gaussian.
Definition at line 107 of file itkCumulativeGaussianOptimizer.h.
double itk::CumulativeGaussianOptimizer::m_ComputedTransitionHeight [private] |
The transition height (distance between upper and lower asymptotes) of the Cumulative Gaussian.
Definition at line 114 of file itkCumulativeGaussianOptimizer.h.
Original data array.
Definition at line 136 of file itkCumulativeGaussianOptimizer.h.
double itk::CumulativeGaussianOptimizer::m_DifferenceTolerance [private] |
When to stop the iteration for the Gaussian extension loop.
Definition at line 101 of file itkCumulativeGaussianOptimizer.h.
Array of values computed from the final parameters of the Cumulative Gaussian.
Definition at line 133 of file itkCumulativeGaussianOptimizer.h.
double itk::CumulativeGaussianOptimizer::m_FitError [private] |
Least squares fit error as a measure of goodness.
Definition at line 129 of file itkCumulativeGaussianOptimizer.h.
double itk::CumulativeGaussianOptimizer::m_LowerAsymptote [private] |
The final lower asymptote of the Cumulative Gaussian.
Definition at line 120 of file itkCumulativeGaussianOptimizer.h.
double itk::CumulativeGaussianOptimizer::m_OffsetForMean [private] |
Offset for the mean calculation.
Definition at line 123 of file itkCumulativeGaussianOptimizer.h.
std::ostringstream itk::CumulativeGaussianOptimizer::m_StopConditionDescription [private] |
Describe the stop condition
Definition at line 166 of file itkCumulativeGaussianOptimizer.h.
double itk::CumulativeGaussianOptimizer::m_UpperAsymptote [private] |
The final upper asymptote of the Cumulative Gaussian.
Definition at line 117 of file itkCumulativeGaussianOptimizer.h.
bool itk::CumulativeGaussianOptimizer::m_Verbose [private] |
Flag to print iteration results.
Definition at line 126 of file itkCumulativeGaussianOptimizer.h.