ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkProbabilityDistribution.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 itkProbabilityDistribution_h
19#define itkProbabilityDistribution_h
20
21#include "itkIntTypes.h"
22#include "itkObject.h"
23#include "itkObjectFactory.h"
24#include "itkArray.h"
25#include "ITKStatisticsExport.h"
26
27namespace itk::Statistics
28{
70class ITKStatistics_EXPORT ProbabilityDistribution : public Object
71{
72public:
73 ITK_DISALLOW_COPY_AND_MOVE(ProbabilityDistribution);
74
80
82 itkOverrideGetNameOfClassMacro(ProbabilityDistribution);
83
86
90 virtual SizeValueType
92
96 itkGetConstReferenceMacro(Parameters, ParametersType);
97
101 virtual void
103
106 virtual double
107 EvaluatePDF(double x) const = 0;
108
112 virtual double
113 EvaluatePDF(double x, const ParametersType &) const = 0;
114
118 virtual double
119 EvaluateCDF(double x) const = 0;
120
124 virtual double
125 EvaluateCDF(double x, const ParametersType &) const = 0;
126
131 virtual double
132 EvaluateInverseCDF(double p) const = 0;
133
138 virtual double
139 EvaluateInverseCDF(double p, const ParametersType &) const = 0;
140
142 virtual bool
143 HasMean() const = 0;
144
146 virtual bool
147 HasVariance() const = 0;
148
151 virtual double
152 GetMean() const = 0;
153
156 virtual double
157 GetVariance() const = 0;
158
159protected:
162 void
163 PrintSelf(std::ostream & os, Indent indent) const override;
164
166}; // end of class
167} // namespace itk::Statistics
168
169#endif
Array class with size defined at construction time.
Definition itkArray.h:48
Control indentation during Print() invocation.
Definition itkIndent.h:50
Implements transparent reference counting.
virtual double EvaluateCDF(double x, const ParametersType &) const =0
void PrintSelf(std::ostream &os, Indent indent) const override
virtual double EvaluateInverseCDF(double p) const =0
virtual double EvaluatePDF(double x, const ParametersType &) const =0
virtual void SetParameters(const ParametersType &params)
virtual double GetMean() const =0
virtual SizeValueType GetNumberOfParameters() const =0
virtual double EvaluateInverseCDF(double p, const ParametersType &) const =0
virtual double EvaluatePDF(double x) const =0
virtual double EvaluateCDF(double x) const =0
virtual double GetVariance() const =0
unsigned long SizeValueType
Definition itkIntTypes.h:86