All Projects → tbrown122387 → pf

tbrown122387 / pf

Licence: MIT license
PF: a header only template library for fast particle filtering!

Programming Languages

C++
36643 projects - #6 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to pf

Jupyter-Notebooks-Statistic-Walk-Throughs-Using-R
Jupyter notebooks with examples of statistical methods and analyses using R.
Stars: ✭ 21 (-48.78%)
Mutual labels:  statistical-methods, statistical-models
wetlandmapR
Scripts, tools and example data for mapping wetland ecosystems using data driven R statistical methods like Random Forests and open source GIS
Stars: ✭ 16 (-60.98%)
Mutual labels:  statistical-methods
pyfilter
Particle filtering and sequential parameter inference in Python
Stars: ✭ 52 (+26.83%)
Mutual labels:  particle-filter
pfs
A Particle Filtering over Sets Approach to Multi-Object Tracking
Stars: ✭ 15 (-63.41%)
Mutual labels:  particle-filter
Computer-Vision
Cool Vision projects
Stars: ✭ 51 (+24.39%)
Mutual labels:  particle-filter
sf-pkg
Generic Sensor Fusion Package for ROS
Stars: ✭ 28 (-31.71%)
Mutual labels:  particle-filter
SLAM AND PATH PLANNING ALGORITHMS
This repository contains the solutions to all the exercises for the MOOC about SLAM and PATH-PLANNING algorithms given by professor Claus Brenner at Leibniz University. This repository also contains my personal notes, most of them in PDF format, and many vector graphics created by myself to illustrate the theoretical concepts. Hope you enjoy it! :)
Stars: ✭ 107 (+160.98%)
Mutual labels:  particle-filter
allsummarizer
Multilingual automatic text summarizer using statistical approach and extraction
Stars: ✭ 28 (-31.71%)
Mutual labels:  statistical-methods
coursera robotics
Contains coursera robotics specialization assignment codes
Stars: ✭ 65 (+58.54%)
Mutual labels:  particle-filter
SparseRegression.jl
Statistical Models with Regularization in Pure Julia
Stars: ✭ 37 (-9.76%)
Mutual labels:  statistical-models
Deepgaze
Computer Vision library for human-computer interaction. It implements Head Pose and Gaze Direction Estimation Using Convolutional Neural Networks, Skin Detection through Backprojection, Motion Detection and Tracking, Saliency Map.
Stars: ✭ 1,552 (+3685.37%)
Mutual labels:  particle-filter
drynx
Decentralized, Secure, Verifiable System for Statistical Queries and Machine Learning on Distributed Datasets
Stars: ✭ 31 (-24.39%)
Mutual labels:  statistical-methods
PyForecast
PyForecast is a statistical modeling tool used by Reclamation water managers and reservoir operators to train and build predictive models for seasonal inflows and streamflows. PyForecast allows users to make current water-year forecasts using models developed with the program.
Stars: ✭ 24 (-41.46%)
Mutual labels:  statistical-models
dynamic-occupancy-grid-map
Implementation of A Random Finite Set Approach for Dynamic Occupancy Grid Maps with Real-Time Application
Stars: ✭ 89 (+117.07%)
Mutual labels:  particle-filter
srqm
An introductory statistics course for social scientists, using Stata
Stars: ✭ 43 (+4.88%)
Mutual labels:  statistical-methods
bayes-filters-lib
A flexible, modern, C++ recursive Bayesian estimation library.
Stars: ✭ 48 (+17.07%)
Mutual labels:  particle-filter
pair-trading-view
Pair Trading View - .NET application for visual analysis of synthetic financial instruments based on statistical models.
Stars: ✭ 45 (+9.76%)
Mutual labels:  statistical-models
GA SLAM
🚀 SLAM for autonomous planetary rovers with global localization
Stars: ✭ 40 (-2.44%)
Mutual labels:  particle-filter
Metida.jl
Julia package for fitting mixed-effects models with flexible random/repeated covariance structure.
Stars: ✭ 19 (-53.66%)
Mutual labels:  statistical-models
Intro to PyMC3
Short introduction to Bayesian statistical modelling with PyMC3
Stars: ✭ 18 (-56.1%)
Mutual labels:  statistical-models

PF: a library for fast particle filtering!

DOI DOI

This is a template library for particle filtering. Templated abstract base classes for different particle filters are provided (e.g. the Bootstrap Filter, the SISR filter, the Auxiliary Particle Filter, the Rao-Blackwellized particle filter), as well as non-abstract (but indeed templated) base classes for closed-form filtering algorithms (e.g. Kalman Filter, Hidden Markov Model filter, etc.).

Once you have a certain model in mind, all you have to do is make it into a class that inherits from the filter you want to use.

Dependencies

This code makes use of the following libraries:

Also, your compiler must enable C++17.

Installation

Option 1: Install with CMake

git clone this Github repostory, cd into the directory where everything is saved, then run the following commands:

mkdir build && cd build/
cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/usr/local
sudo cmake --build . --config Release --target install --parallel

You may subsitute another directory for /usr/local, if you wish. This will also build unit tests that can be run with the following command (assuming you're still in build/):

./test/pf_test

Note: for this to method work, you will need to install Catch2 "system wide" so that its *.cmake files are installed as well. To do this, click here.

Option 2: Drag-and-drop .h files

This is a header-only library, so there will be no extra building necessary. If you just want to copy the desired header files from include/pf into your own project, and build that project by itself, that's totally fine. There is no linking necessary, either. If you go this route, though, make sure to compile with C++17 enabled. Note, also, that this code all makes use of Eigen v3.3 and Boost v1.65.1. Unit tests use the Catch2 library.

Examples

Don't know how to use this? No problem. Check out the examples sub-directory. This is a stand-alone cmake project, so you can just copy this sub-directory anywhere you like, and start editing.

For example, copy to Desktop and have at it:

cp -r ~/pf/examples/ ~/Desktop/
cd Desktop/examples/
mkdir build && cd build
cmake ..
make

If there are no error messages, you will have an executable named pf_example in that same directory. Running it without command line arguments will prompt you for arguments and tell you how it can be used.

Contributing

Want to contribute to this project? Great! Click here for details on how to do that. We also have an "ideas list" you can check out here.

Paper

A full-length tutorial paper is available here, and a shorter introduction paper is available here.

Citation

Click the "DOI" link above. Or, if you're impatient, click 'here' for a Bibtex citation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].