ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkGaussianDistribution.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef itkGaussianDistribution_h
19#define itkGaussianDistribution_h
20
22#include "ITKStatisticsExport.h"
23
24namespace itk::Statistics
25{
59class ITKStatistics_EXPORT GaussianDistribution : public ProbabilityDistribution
60{
61public:
62 ITK_DISALLOW_COPY_AND_MOVE(GaussianDistribution);
63
69
71 itkOverrideGetNameOfClassMacro(GaussianDistribution);
72
74 itkNewMacro(Self);
75
79 GetNumberOfParameters() const override
80 {
81 return 2;
82 }
83
86 double
87 EvaluatePDF(double x) const override;
88
92 double
93 EvaluatePDF(double x, const ParametersType &) const override;
94
97 virtual double
98 EvaluatePDF(double x, double mean, double variance) const;
99
102 double
103 EvaluateCDF(double x) const override;
104
108 double
109 EvaluateCDF(double x, const ParametersType &) const override;
110
113 virtual double
114 EvaluateCDF(double x, double mean, double variance) const;
115
119 double
120 EvaluateInverseCDF(double p) const override;
121
126 double
127 EvaluateInverseCDF(double p, const ParametersType &) const override;
128
132 virtual double
133 EvaluateInverseCDF(double p, double mean, double variance) const;
134
137 virtual void
138 SetMean(double);
139
142 double
143 GetMean() const override;
144
146 bool
147 HasMean() const override
148 {
149 return true;
150 }
151
155 virtual void
156 SetVariance(double);
157
160 double
161 GetVariance() const override;
162
164 bool
165 HasVariance() const override
166 {
167 return true;
168 }
169
174 static double
175 PDF(double x);
176
182 static double
183 PDF(double x, const ParametersType &);
184
189 static double
190 PDF(double x, double mean, double variance);
191
196 static double
197 CDF(double x);
198
204 static double
205 CDF(double x, const ParametersType &);
206
211 static double
212 CDF(double x, double mean, double variance);
213
242 static double
243 InverseCDF(double p);
244
251 static double
252 InverseCDF(double p, const ParametersType &);
253
259 static double
260 InverseCDF(double p, double mean, double variance);
261
262protected:
264 ~GaussianDistribution() override = default;
265
266 void
267 PrintSelf(std::ostream & os, Indent indent) const override;
268}; // end of class
269} // namespace itk::Statistics
270
271#endif
Control indentation during Print() invocation.
Definition itkIndent.h:50
Implements transparent reference counting.
static double CDF(double x, const ParametersType &)
double EvaluateInverseCDF(double p) const override
static double PDF(double x, const ParametersType &)
double GetMean() const override
static double InverseCDF(double p, const ParametersType &)
static double InverseCDF(double p, double mean, double variance)
static double InverseCDF(double p)
double EvaluateCDF(double x, const ParametersType &) const override
virtual double EvaluateInverseCDF(double p, double mean, double variance) const
~GaussianDistribution() override=default
SizeValueType GetNumberOfParameters() const override
double EvaluatePDF(double x) const override
double EvaluateInverseCDF(double p, const ParametersType &) const override
double EvaluateCDF(double x) const override
static double CDF(double x, double mean, double variance)
double EvaluatePDF(double x, const ParametersType &) const override
static double PDF(double x, double mean, double variance)
virtual double EvaluatePDF(double x, double mean, double variance) const
virtual double EvaluateCDF(double x, double mean, double variance) const
void PrintSelf(std::ostream &os, Indent indent) const override
double GetVariance() const override
unsigned long SizeValueType
Definition itkIntTypes.h:86