ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkChiSquareDistribution.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 itkChiSquareDistribution_h
19#define itkChiSquareDistribution_h
20
22#include "itkNumericTraits.h"
23#include "ITKStatisticsExport.h"
24
25namespace itk::Statistics
26{
56class ITKStatistics_EXPORT ChiSquareDistribution : public ProbabilityDistribution
57{
58public:
59 ITK_DISALLOW_COPY_AND_MOVE(ChiSquareDistribution);
60
66
68 itkOverrideGetNameOfClassMacro(ChiSquareDistribution);
69
71 itkNewMacro(Self);
72
76 GetNumberOfParameters() const override
77 {
78 return 1;
79 }
80
83 double
84 EvaluatePDF(double x) const override;
85
89 double
90 EvaluatePDF(double x, const ParametersType &) const override;
91
94 virtual double
95 EvaluatePDF(double x, SizeValueType degreesOfFreedom) const;
96
99 double
100 EvaluateCDF(double x) const override;
101
105 double
106 EvaluateCDF(double x, const ParametersType &) const override;
107
110 virtual double
111 EvaluateCDF(double x, SizeValueType degreesOfFreedom) const;
112
116 double
117 EvaluateInverseCDF(double p) const override;
118
123 double
124 EvaluateInverseCDF(double p, const ParametersType &) const override;
125
129 virtual double
130 EvaluateInverseCDF(double p, SizeValueType degreesOfFreedom) const;
131
135
138 virtual SizeValueType
140
142 bool
143 HasMean() const override
144 {
145 return true;
146 }
147
149 double
150 GetMean() const override;
151
153 bool
154 HasVariance() const override
155 {
156 return true;
157 }
158
160 double
161 GetVariance() const override;
162
168 static double
169 PDF(double x, const ParametersType &);
170
175 static double
176 PDF(double x, SizeValueType degreesOfFreedom);
177
187 static double
188 CDF(double x, const ParametersType &);
189
198 static double
199 CDF(double x, SizeValueType degreesOfFreedom);
200
211 static double
212 InverseCDF(double p, const ParametersType &);
213
224 static double
225 InverseCDF(double p, SizeValueType degreesOfFreedom);
226
227protected:
229 ~ChiSquareDistribution() override = default;
230
231 void
232 PrintSelf(std::ostream & os, Indent indent) const override;
233}; // end of class
234} // namespace itk::Statistics
235
236#endif
Control indentation during Print() invocation.
Definition itkIndent.h:50
Implements transparent reference counting.
void PrintSelf(std::ostream &os, Indent indent) const override
double GetVariance() const override
virtual void SetDegreesOfFreedom(SizeValueType)
static double PDF(double x, const ParametersType &)
static double InverseCDF(double p, const ParametersType &)
double EvaluatePDF(double x, const ParametersType &) const override
virtual SizeValueType GetDegreesOfFreedom() const
virtual double EvaluatePDF(double x, SizeValueType degreesOfFreedom) const
double EvaluateCDF(double x, const ParametersType &) const override
virtual double EvaluateInverseCDF(double p, SizeValueType degreesOfFreedom) const
double EvaluateCDF(double x) const override
static double CDF(double x, const ParametersType &)
virtual double EvaluateCDF(double x, SizeValueType degreesOfFreedom) const
double EvaluatePDF(double x) const override
double EvaluateInverseCDF(double p) const override
SizeValueType GetNumberOfParameters() const override
double EvaluateInverseCDF(double p, const ParametersType &) const override
static double InverseCDF(double p, SizeValueType degreesOfFreedom)
static double PDF(double x, SizeValueType degreesOfFreedom)
static double CDF(double x, SizeValueType degreesOfFreedom)
unsigned long SizeValueType
Definition itkIntTypes.h:86