18 #ifndef itkCumulativeGaussianOptimizer_h
19 #define itkCumulativeGaussianOptimizer_h
23 #include "ITKOptimizersExport.h"
71 itkSetMacro(DifferenceTolerance,
double);
72 itkGetMacro(DifferenceTolerance,
double);
73 itkSetMacro(Verbose,
bool);
74 itkGetMacro(Verbose,
bool);
75 itkBooleanMacro(Verbose);
76 itkGetMacro(ComputedMean,
double);
77 itkGetMacro(ComputedStandardDeviation,
double);
78 itkGetMacro(UpperAsymptote,
double);
79 itkGetMacro(LowerAsymptote,
double);
81 itkGetMacro(FitError,
double);
89 StartOptimization()
override;
97 GetStopConditionDescription()
const override;
103 PrintSelf(std::ostream & os,
Indent indent)
const override;
107 double m_DifferenceTolerance{};
110 double m_ComputedMean{};
113 double m_ComputedStandardDeviation{};
116 double m_ComputedAmplitude{};
120 double m_ComputedTransitionHeight{};
123 double m_UpperAsymptote{};
126 double m_LowerAsymptote{};
129 double m_OffsetForMean{};
146 ExtendGaussian(MeasureType * originalArray, MeasureType * extendedArray,
int startingPointForInsertion);
150 RecalculateExtendedArrayFromGaussianParameters(MeasureType * originalArray,
151 MeasureType * extendedArray,
152 int startingPointForInsertion)
const;
157 FindAverageSumOfSquaredDifferences(MeasureType * array1, MeasureType * array2);
161 FindParametersOfGaussian(MeasureType * sampledGaussianArray);
165 MeasureGaussianParameters(MeasureType * array);
169 PrintComputedParameterHeader();
173 PrintComputedParameters()
const;
177 VerticalBestShift(MeasureType * originalArray, MeasureType * newArray);
180 std::ostringstream m_StopConditionDescription{};