BFL::BFL::DiscretePdf Class Reference

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

`#include <mixtureParticleFilter.h>`

Inheritance diagram for BFL::BFL::DiscretePdf:

## Public Member Functions | |

virtual DiscretePdf * | Clone () const |

Clone function. | |

DiscretePdf (unsigned int num_states=0) | |

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

DiscretePdf (const DiscretePdf &) | |

Copy Constructor. | |

int | MostProbableStateGet () |

Get the index of the most probable state. | |

unsigned int | NumStatesGet () const |

Get the number of discrete States. | |

vector< Probability > | ProbabilitiesGet () const |

Get all probabilities. | |

bool | ProbabilitiesSet (vector< Probability > &values) |

Set all probabilities. | |

Probability | ProbabilityGet (const int &state) const |

Implementation of virtual base class method. | |

bool | ProbabilitySet (int state, Probability a) |

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

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) | |

bool | SampleFrom (Sample< int > &one_sample, int method=DEFAULT, void *args=NULL) const |

Draw 1 sample from the Pdf: | |

virtual | ~DiscretePdf () |

Destructor. | |

## Protected Member Functions | |

bool | CumPDFUpdate () |

Updates the cumPDF. | |

bool | NormalizeProbs () |

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

## Protected Attributes | |

vector< double > | _CumPDF |

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

unsigned int | _num_states |

The number of discrete state. | |

vector< Probability > * | _Values_p |

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

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.

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

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

**Parameters:**-
num_states number 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.

DiscretePdf * BFL::DiscretePdf::Clone | ( | ) | const` [virtual]` |

bool BFL::DiscretePdf::CumPDFUpdate | ( | ) | ` [protected]` |

Updates the cumPDF.

Definition at line 225 of file discretepdf.cpp.

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:**-
values vector<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:**-
state number of state of which the probability will be set a probability 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_samples list of samples that will contain result of sampling num_samples Number of Samples to be drawn (iid) method Sampling method to be used. Each sampling method is currently represented by a #define statement, eg. #define BOXMULLER 1 args Pointer 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_sample sample that will contain result of sampling method Sampling method to be used. Each sampling method is currently represented by a #define statement, eg. #define BOXMULLER 1 args Pointer 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.

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 Feb 11 2019 03:45:12

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 Feb 11 2019 03:45:12