ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkTDistribution.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 itkTDistribution_h
19#define itkTDistribution_h
20
22#include "itkNumericTraits.h"
23#include "ITKStatisticsExport.h"
24
25namespace itk::Statistics
26{
57class ITKStatistics_EXPORT TDistribution : public ProbabilityDistribution
58{
59public:
60 ITK_DISALLOW_COPY_AND_MOVE(TDistribution);
61
67
69 itkOverrideGetNameOfClassMacro(TDistribution);
70
72 itkNewMacro(Self);
73
77 GetNumberOfParameters() const override
78 {
79 return 1;
80 }
81
84 double
85 EvaluatePDF(double x) const override;
86
90 double
91 EvaluatePDF(double x, const ParametersType &) const override;
92
95 virtual double
96 EvaluatePDF(double x, SizeValueType degreesOfFreedom) const;
97
100 double
101 EvaluateCDF(double x) const override;
102
106 double
107 EvaluateCDF(double x, const ParametersType &) const override;
108
111 virtual double
112 EvaluateCDF(double x, SizeValueType degreesOfFreedom) const;
113
117 double
118 EvaluateInverseCDF(double p) const override;
119
124 double
125 EvaluateInverseCDF(double p, const ParametersType &) const override;
126
130 virtual double
131 EvaluateInverseCDF(double p, SizeValueType degreesOfFreedom) const;
132
136
139 virtual SizeValueType
141
143 bool
144 HasMean() const override
145 {
146 return true;
147 }
148
150 double
151 GetMean() const override;
152
155 bool
156 HasVariance() const override;
157
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 ~TDistribution() 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.
ProbabilityDistribution Superclass
bool HasVariance() const override
double GetVariance() const override
SizeValueType GetNumberOfParameters() const override
~TDistribution() override=default
SmartPointer< const Self > ConstPointer
static double CDF(double x, SizeValueType degreesOfFreedom)
virtual double EvaluateCDF(double x, SizeValueType degreesOfFreedom) const
double EvaluateCDF(double x) const override
double EvaluateInverseCDF(double p) const override
static double PDF(double x, SizeValueType degreesOfFreedom)
void PrintSelf(std::ostream &os, Indent indent) const override
virtual SizeValueType GetDegreesOfFreedom() const
double EvaluateCDF(double x, const ParametersType &) const override
static double InverseCDF(double p, SizeValueType degreesOfFreedom)
virtual double EvaluateInverseCDF(double p, SizeValueType degreesOfFreedom) const
double EvaluatePDF(double x) const override
double EvaluateInverseCDF(double p, const ParametersType &) const override
double GetMean() const override
virtual double EvaluatePDF(double x, SizeValueType degreesOfFreedom) const
virtual void SetDegreesOfFreedom(SizeValueType)
static double InverseCDF(double p, const ParametersType &)
double EvaluatePDF(double x, const ParametersType &) const override
static double CDF(double x, const ParametersType &)
static double PDF(double x, const ParametersType &)
unsigned long SizeValueType
Definition itkIntTypes.h:86