Orfeo Toolbox  3.16
itkCumulativeGaussianOptimizer.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkCumulativeGaussianOptimizer.h,v $
5  Language: C++
6  Date: $Date: 2009-06-24 12:02:50 $
7  Version: $Revision: 1.7 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 
18 #ifndef __itkCumulativeGaussianOptimizer_h
19 #define __itkCumulativeGaussianOptimizer_h
20 
23 
24 namespace itk
25 {
26 
49 {
50 
51 public:
52 
58 
61 
64 
66  itkNewMacro(Self);
67 
70 
72  itkSetMacro(DifferenceTolerance, double);
73  itkSetMacro(Verbose, bool);
74  itkGetMacro(ComputedMean, double);
75  itkGetMacro(ComputedStandardDeviation, double);
76  itkGetMacro(UpperAsymptote, double);
77  itkGetMacro(LowerAsymptote, double);
78  itkGetMacro(FinalSampledArray, MeasureType*);
79  itkGetMacro(FitError, double);
80 
81  void SetDataArray(MeasureType * dataArray);
82 
84  void StartOptimization();
85 
87  void PrintArray(MeasureType * array);
88 
90  const std::string GetStopConditionDescription() const;
91 
92 protected:
94  virtual ~CumulativeGaussianOptimizer();
95  void PrintSelf(std::ostream &os, Indent indent) const;
96 
97 private:
98 
101 
103  double m_ComputedMean;
104 
107 
110 
114 
117 
120 
123 
125  bool m_Verbose;
126 
128  double m_FitError;
129 
133 
136 
138  MeasureType * ExtendGaussian(MeasureType * originalArray, MeasureType * extendedArray, int startingPointForInsertion);
139 
141  MeasureType * RecalculateExtendedArrayFromGaussianParameters(MeasureType * originalArray,
142  MeasureType * extendedArray,
143  int startingPointForInsertion);
144 
147  double FindAverageSumOfSquaredDifferences(MeasureType * array1, MeasureType * array2);
148 
150  void FindParametersOfGaussian(MeasureType * sampledGaussianArray);
151 
153  void MeasureGaussianParameters(MeasureType * array);
154 
156  void PrintComputedParameterHeader();
157 
159  void PrintComputedParameters();
160 
162  double VerticalBestShift(MeasureType * originalArray, MeasureType * newArray);
163 
166 
167 };
168 
169 } // end namespace itk
170 
171 #endif

Generated at Sat Feb 2 2013 23:34:06 for Orfeo Toolbox with doxygen 1.8.1.1