Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkGaussianDistribution_h
00018 #define __itkGaussianDistribution_h
00019
00020 #include "itkProbabilityDistribution.h"
00021
00022 namespace itk {
00023 namespace Statistics {
00024
00053 class ITK_EXPORT GaussianDistribution :
00054 public ProbabilityDistribution
00055 {
00056 public:
00058 typedef GaussianDistribution Self;
00059 typedef ProbabilityDistribution Superclass;
00060 typedef SmartPointer<Self> Pointer;
00061 typedef SmartPointer<const Self> ConstPointer;
00062
00064 itkTypeMacro(GaussianDistribution, ProbabilityDistribution);
00065
00067 itkNewMacro(Self);
00068
00071 virtual unsigned long GetNumberOfParameters() const { return 2; }
00072
00075 virtual double EvaluatePDF(double x) const;
00076
00080 virtual double EvaluatePDF(double x, const ParametersType&) const;
00081
00084 virtual double EvaluatePDF(double x, double mean, double variance) const;
00085
00088 virtual double EvaluateCDF(double x) const;
00089
00093 virtual double EvaluateCDF(double x, const ParametersType&) const;
00094
00097 virtual double EvaluateCDF(double x, double mean, double variance) const;
00098
00102 virtual double EvaluateInverseCDF(double p) const;
00103
00108 virtual double EvaluateInverseCDF(double p, const ParametersType&) const;
00109
00113 virtual double EvaluateInverseCDF(double p,
00114 double mean,
00115 double variance) const;
00116
00119 virtual void SetMean(double);
00120
00123 virtual double GetMean() const;
00124
00126 virtual bool HasMean() const { return true; }
00127
00131 virtual void SetVariance(double);
00132
00135 virtual double GetVariance() const;
00136
00138 virtual bool HasVariance() const { return true; }
00139
00144 static double PDF(double x);
00145
00151 static double PDF(double x, const ParametersType&);
00152
00157 static double PDF(double x, double mean, double variance);
00158
00163 static double CDF(double x);
00164
00170 static double CDF(double x, const ParametersType&);
00171
00176 static double CDF(double x, double mean, double variance);
00177
00208 static double InverseCDF(double p);
00210
00217 static double InverseCDF(double p, const ParametersType&);
00218
00224 static double InverseCDF(double p, double mean, double variance);
00225
00226 protected:
00227 GaussianDistribution(void);
00228 virtual ~GaussianDistribution(void) {}
00229
00230 void PrintSelf(std::ostream& os, Indent indent) const;
00231
00232 private:
00233 GaussianDistribution(const Self&);
00234 void operator=(const Self&);
00235
00236 };
00237
00238 }
00239 }
00240
00241 #endif
00242