Direct Graphical Models  v.1.7.0
PDFGaussian.h
1 // Gaussian-based Probability Density function class
2 // Written by Sergey Kosov in 2015 for Project X
3 #pragma once
4 
5 #include "IPDF.h"
6 
7 namespace DirectGraphicalModels
8 {
9  // ================================ Histogram PDF Class ==============================
15  class CPDFGaussian : public IPDF
16  {
17  public:
18  DllExport CPDFGaussian(void) : IPDF(), m_mu(0), m_sigma2(0) {}
19  DllExport virtual ~CPDFGaussian(void) {}
20 
21  DllExport virtual void reset(void);
22 
23  DllExport virtual void addPoint(Scalar point);
24  DllExport virtual double getDensity(Scalar point);
25  DllExport virtual Scalar min(void) const { return Scalar(m_mu - 3 * sqrt(m_sigma2)); }
26  DllExport virtual Scalar max(void) const { return Scalar(m_mu + 3 * sqrt(m_sigma2)); }
27 
28 
29  protected:
30  DllExport virtual void saveFile(FILE *pFile) const;
31  DllExport virtual void loadFile(FILE *pFile);
32 
33 
34  private:
35  double m_mu;
36  double m_sigma2; // sigma^2
37  };
38 }
virtual void addPoint(Scalar point)
Adds a sample point for PDF estimation.
Definition: PDFGaussian.cpp:11
virtual Scalar max(void) const
Returns the upper argument boundary of the PDF.
Definition: PDFGaussian.h:26
virtual void reset(void)
Resets class variables.
Definition: PDFGaussian.cpp:5
virtual Scalar min(void) const
Returns the lower argument boundary of the PDF.
Definition: PDFGaussian.h:25
Interface class for Probability Density Function (PDF)
Definition: IPDF.h:16
Gaissian-based PDF class.
Definition: PDFGaussian.h:15
virtual void loadFile(FILE *pFile)
Loads the random model from the file.
Definition: PDFGaussian.cpp:38
virtual double getDensity(Scalar point)
Returns the probability density value for the argument point.
Definition: PDFGaussian.cpp:24
virtual void saveFile(FILE *pFile) const
Saves the random model into the file.
Definition: PDFGaussian.cpp:32