Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BFL::BFL::DiscretePdf Class Reference

Class representing a PDF on a discrete variable. More...

#include <mixtureParticleFilter.h>

Inheritance diagram for BFL::BFL::DiscretePdf:
Inheritance graph
[legend]

Public Member Functions

virtual DiscretePdfClone () const
 Clone function. More...
 
 DiscretePdf (unsigned int num_states=0)
 Constructor (dimension = number of classes) An equal probability is set for all classes. More...
 
 DiscretePdf (const DiscretePdf &)
 Copy Constructor. More...
 
int MostProbableStateGet ()
 Get the index of the most probable state. More...
 
unsigned int NumStatesGet () const
 Get the number of discrete States. More...
 
vector< ProbabilityProbabilitiesGet () const
 Get all probabilities. More...
 
bool ProbabilitiesSet (vector< Probability > &values)
 Set all probabilities. More...
 
Probability ProbabilityGet (const int &state) const
 Implementation of virtual base class method. More...
 
bool ProbabilitySet (int state, Probability a)
 Function to change/set the probability of a single state. More...
 
bool SampleFrom (vector< Sample< int > > &list_samples, const unsigned int num_samples, int method=DEFAULT, void *args=NULL) const
 Draw multiple samples from the Pdf (overloaded) More...
 
bool SampleFrom (Sample< int > &one_sample, int method=DEFAULT, void *args=NULL) const
 Draw 1 sample from the Pdf: More...
 
virtual ~DiscretePdf ()
 Destructor. More...
 
- Public Member Functions inherited from BFL::BFL::Pdf< int >
virtual MatrixWrapper::SymmetricMatrix CovarianceGet () const
 Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf. More...
 
unsigned int DimensionGet () const
 Get the dimension of the argument. More...
 
virtual void DimensionSet (unsigned int dim)
 Set the dimension of the argument. More...
 
virtual int ExpectedValueGet () const
 Get the expected value E[x] of the pdf. More...
 
 Pdf (unsigned int dimension=0)
 Constructor. More...
 
virtual ~Pdf ()
 Destructor. More...
 

Protected Member Functions

bool CumPDFUpdate ()
 Updates the cumPDF. More...
 
bool NormalizeProbs ()
 Normalize all the probabilities (eg. after setting a probability) More...
 

Protected Attributes

vector< double > _CumPDF
 STL-vector containing the Cumulative PDF (for efficient sampling) More...
 
unsigned int _num_states
 The number of discrete state. More...
 
vector< Probability > * _Values_p
 Pointer to the discrete PDF-values, the sum of the elements = 1. More...
 

Detailed Description

Class representing a PDF on a discrete variable.

This class is an instantation from the template class Pdf, with added methods to get a set the probability of a certain discrete value (methods only relevant for discrete pdfs)

Definition at line 34 of file mixtureParticleFilter.h.

Constructor & Destructor Documentation

BFL::DiscretePdf::DiscretePdf ( unsigned int  num_states = 0)

Constructor (dimension = number of classes) An equal probability is set for all classes.

Parameters
num_statesnumber of different classes or states

Definition at line 31 of file discretepdf.cpp.

BFL::DiscretePdf::DiscretePdf ( const DiscretePdf my_dpdf)

Copy Constructor.

Definition at line 47 of file discretepdf.cpp.

BFL::DiscretePdf::~DiscretePdf ( )
virtual

Destructor.

Definition at line 59 of file discretepdf.cpp.

Member Function Documentation

DiscretePdf * BFL::DiscretePdf::Clone ( ) const
virtual

Clone function.

Implements BFL::BFL::Pdf< int >.

Definition at line 69 of file discretepdf.cpp.

bool BFL::DiscretePdf::CumPDFUpdate ( )
protected

Updates the cumPDF.

Definition at line 225 of file discretepdf.cpp.

int BFL::DiscretePdf::MostProbableStateGet ( )

Get the index of the most probable state.

Definition at line 250 of file discretepdf.cpp.

bool BFL::DiscretePdf::NormalizeProbs ( )
protected

Normalize all the probabilities (eg. after setting a probability)

Definition at line 207 of file discretepdf.cpp.

unsigned int BFL::DiscretePdf::NumStatesGet ( ) const

Get the number of discrete States.

Definition at line 74 of file discretepdf.cpp.

vector< Probability > BFL::DiscretePdf::ProbabilitiesGet ( ) const

Get all probabilities.

Definition at line 112 of file discretepdf.cpp.

bool BFL::DiscretePdf::ProbabilitiesSet ( vector< Probability > &  values)

Set all probabilities.

Parameters
valuesvector<Probability> containing the new probability values. The sum of the probabilities of this list is not required to be one since the normalization is automatically carried out.

Definition at line 117 of file discretepdf.cpp.

Probability BFL::DiscretePdf::ProbabilityGet ( const int &  state) const
virtual

Implementation of virtual base class method.

Reimplemented from BFL::BFL::Pdf< int >.

Definition at line 80 of file discretepdf.cpp.

bool BFL::DiscretePdf::ProbabilitySet ( int  state,
Probability  a 
)

Function to change/set the probability of a single state.

Changes the probabilities such that AFTER normalization the probability of the state "state" is equal to the probability a

Parameters
statenumber of state of which the probability will be set
aprobability value to which the probability of state "state" will be set (must be <= 1)

Definition at line 86 of file discretepdf.cpp.

bool BFL::DiscretePdf::SampleFrom ( vector< Sample< int > > &  list_samples,
const unsigned int  num_samples,
int  method = DEFAULT,
void *  args = NULL 
) const
virtual

Draw multiple samples from the Pdf (overloaded)

Parameters
list_sampleslist of samples that will contain result of sampling
num_samplesNumber of Samples to be drawn (iid)
methodSampling method to be used. Each sampling method is currently represented by a #define statement, eg. #define BOXMULLER 1
argsPointer to a struct representing extra sample arguments. "Sample Arguments" can be anything (the number of steps a gibbs-iterator should take, the interval width in MCMC, ... (or nothing), so it is hard to give a meaning to what exactly Sample Arguments should represent...
Todo:
replace the C-call "void * args" by a more object-oriented structure: Perhaps something like virtual Sample * Sample (const int num_samples,class Sampler)
Bug:
Sometimes the compiler doesn't know which method to choose!

Reimplemented from BFL::BFL::Pdf< int >.

Definition at line 128 of file discretepdf.cpp.

bool BFL::DiscretePdf::SampleFrom ( Sample< int > &  one_sample,
int  method = DEFAULT,
void *  args = NULL 
) const
virtual

Draw 1 sample from the Pdf:

There's no need to create a list for only 1 sample!

Parameters
one_samplesample that will contain result of sampling
methodSampling method to be used. Each sampling method is currently represented by a #define statement, eg. #define BOXMULLER 1
argsPointer to a struct representing extra sample arguments
See also
SampleFrom()
Bug:
Sometimes the compiler doesn't know which method to choose!

Reimplemented from BFL::BFL::Pdf< int >.

Definition at line 181 of file discretepdf.cpp.

Member Data Documentation

vector<double> BFL::BFL::DiscretePdf::_CumPDF
protected

STL-vector containing the Cumulative PDF (for efficient sampling)

Definition at line 47 of file mixtureParticleFilter.h.

unsigned int BFL::BFL::DiscretePdf::_num_states
protected

The number of discrete state.

Definition at line 38 of file mixtureParticleFilter.h.

vector<Probability>* BFL::BFL::DiscretePdf::_Values_p
protected

Pointer to the discrete PDF-values, the sum of the elements = 1.

Definition at line 41 of file mixtureParticleFilter.h.


The documentation for this class was generated from the following files:


bfl
Author(s): Klaas Gadeyne, Wim Meeussen, Tinne Delaet and many others. See web page for a full contributor list. ROS package maintained by Wim Meeussen.
autogenerated on Mon Jun 10 2019 12:48:02