oseiskar / Simdkalman
Licence: mit
Python Kalman filters vectorized as Single Instruction, Multiple Data
Stars: ✭ 105
Programming Languages
python
139335 projects - #7 most used programming language
Labels
Projects that are alternatives of or similar to Simdkalman
Real-Time-Video-Stabilization
real time video stabilization using Kalman Filter
Stars: ✭ 119 (+13.33%)
Mutual labels: kalman-filter
Financial Models Numerical Methods
Collection of notebooks about quantitative finance, with interactive python code.
Stars: ✭ 3,534 (+3265.71%)
Mutual labels: kalman-filter
Norfair
Lightweight Python library for adding real-time 2D object tracking to any detector.
Stars: ✭ 933 (+788.57%)
Mutual labels: kalman-filter
MessyTimeSeries.jl
A Julia implementation of basic tools for time series analysis compatible with incomplete data.
Stars: ✭ 88 (-16.19%)
Mutual labels: kalman-filter
Kalmanjs
Javascript based Kalman filter for 1D data
Stars: ✭ 298 (+183.81%)
Mutual labels: kalman-filter
Mathematics
数学知识点滴积累 矩阵 数值优化 神经网络反向传播 图优化 概率论 随机过程 卡尔曼滤波 粒子滤波 数学函数拟合
Stars: ✭ 417 (+297.14%)
Mutual labels: kalman-filter
bayes-filters-lib
A flexible, modern, C++ recursive Bayesian estimation library.
Stars: ✭ 48 (-54.29%)
Mutual labels: kalman-filter
Loose Gnss Imu
Loosely coupled integration of GNSS and IMU
Stars: ✭ 97 (-7.62%)
Mutual labels: kalman-filter
Ros Sensor Fusion Tutorial
An in-depth step-by-step tutorial for implementing sensor fusion with robot_localization! 🛰
Stars: ✭ 306 (+191.43%)
Mutual labels: kalman-filter
Probabilistic robotics
solution of exercises of the book "probabilistic robotics"
Stars: ✭ 734 (+599.05%)
Mutual labels: kalman-filter
Kalmanfilter altimeter vario
Kalman filter to estimate altitude and climbrate(sinkrate) by fusing altitude and acceleration sensor data
Stars: ✭ 31 (-70.48%)
Mutual labels: kalman-filter
Freeimu Updates
IMU - FreeIMU Library Zero Drift, Altitude & LSM303 Heading Stability
Stars: ✭ 267 (+154.29%)
Mutual labels: kalman-filter
Robotics Toolbox Matlab
Robotics Toolbox for MATLAB
Stars: ✭ 601 (+472.38%)
Mutual labels: kalman-filter
Extended Kalman Filter
Udacity Self-Driving Car Engineer Nanodegree. Project: Extended Kalman Filters
Stars: ✭ 27 (-74.29%)
Mutual labels: kalman-filter
pySmooth
A unique time series library in Python that consists of Kalman filters (discrete, extended, and unscented), online ARIMA, and time difference model.
Stars: ✭ 29 (-72.38%)
Mutual labels: kalman-filter
Mad Location Manager
Mad Location Manager is a library for GPS and Accelerometer data "fusion" with Kalman filter
Stars: ✭ 369 (+251.43%)
Mutual labels: kalman-filter
Quant
Codera Quant is a Java framework for algorithmic trading strategies development, execution and backtesting via Interactive Brokers TWS API or other brokers API
Stars: ✭ 104 (-0.95%)
Mutual labels: kalman-filter
Tsanalysis.jl
This package includes basic tools for time series analysis, compatible with incomplete data.
Stars: ✭ 56 (-46.67%)
Mutual labels: kalman-filter
Kalman
Some Python Implementations of the Kalman Filter
Stars: ✭ 619 (+489.52%)
Mutual labels: kalman-filter
SIMD Kalman
Fast Kalman filters in Python leveraging single-instruction multiple-data vectorization. That is, running n similar Kalman filters on n independent series of observations. Not to be confused with SIMD processor instructions.
import simdkalman
kf = simdkalman.KalmanFilter(
state_transition = np.array([[1,1],[0,1]]),
process_noise = np.diag([0.1, 0.01]),
observation_model = np.array([[1,0]]),
observation_noise = 1.0)
data = numpy.random.normal(size=(200, 1000))
# smooth and explain existing data
smoothed = kf.smooth(data)
# predict new data
pred = kf.predict(data, 15)
See examples/example.py
for a more comprehensive example and
ReadTheDocs for the full documentation.
For the changelog, see releases page
According to examples/benchmark.py
. This can be up to 100x faster than
pykalman and 70x faster than
filterpy when can be vectorized over
many independent timeseries. Also in the non-vectorized case, it can be 2x
faster.
Installation
pip install simdkalman
Development
- Create virtualenv
- Python 2:
virtualenv venvs/python2
- Python 3:
python3 -m venv venvs/python3
- Python 2:
- Activate virtualenv:
source venvs/pythonNNN/bin/activate
- Install locally
pip install -e .[dev,test]
./run-tests.sh
-
deactivate
virtualenv
Distribution
(personal howto)
Once:
- create an account in https://testpypi.python.org/pypi and https://pypi.python.org/pypi
- create
~/.pypirc
as described here sudo pip install twine
- create testing virutalenvs:
virtualenv venvs/test-python2
python3 -m venv venvs/test-python3
Each distribution:
# first, set version in setup.py
# then create distributable package
python setup.py bdist_wheel
# test PyPI site
twine upload --repository testpypi dist/simdkalman-VERSION*
# the real thing
twine upload dist/simdkalman-VERSION*
# update git tags
git tag VERSION -m "released VERSION"
git push --tags
Test installation from the test site with
source venvs/test-pythonNNN/bin/activate
pip install \
--index-url https://test.pypi.org/simple/ \
--extra-index-url https://pypi.org/simple \
simdkalman --upgrade
# or the real thing with just
# pip install simdkalman
pip install matplotlib
python examples/example.py
deactivate
TODO
- [ ] EM algorithm documentation and options
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].