kalman-filter
Advanced tools
Comparing version 1.13.0 to 2.0.0
@@ -13,4 +13,3 @@ const modelCollection = require('./lib/model-collection'); | ||
correlationToCovariance: require('./lib/utils/correlation-to-covariance'), | ||
covarianceToCorrelation: require('./lib/utils/covariance-to-correlation'), | ||
linalgebra: require('./lib/linalgebra') | ||
covarianceToCorrelation: require('./lib/utils/covariance-to-correlation') | ||
}; |
@@ -1,7 +0,3 @@ | ||
const matMul = require('../lib/linalgebra/mat-mul.js'); | ||
const transpose = require('../lib/linalgebra/transpose.js'); | ||
const add = require('../lib/linalgebra/add.js'); | ||
const invert = require('../lib/linalgebra/invert.js'); | ||
const sub = require('../lib/linalgebra/sub.js'); | ||
const getIdentity = require('../lib/linalgebra/identity.js'); | ||
const {matMul, transpose, add, invert, subtract: sub, identity: getIdentity} = require('simple-linalg'); | ||
const State = require('./state.js'); | ||
@@ -8,0 +4,0 @@ const checkMatrix = require('./utils/check-matrix.js'); |
@@ -1,2 +0,2 @@ | ||
const identity = require('../linalgebra/identity.js'); | ||
const {identity} = require('simple-linalg'); | ||
@@ -3,0 +3,0 @@ /** |
@@ -1,2 +0,2 @@ | ||
const identity = require('../linalgebra/identity.js'); | ||
const {identity} = require('simple-linalg'); | ||
/** | ||
@@ -3,0 +3,0 @@ *Creates a dynamic model, following constant position model with respect with the dimensions provided in the observation parameters |
@@ -1,2 +0,2 @@ | ||
const identity = require('../linalgebra/identity.js'); | ||
const {identity} = require('simple-linalg'); | ||
@@ -3,0 +3,0 @@ /** |
@@ -10,3 +10,3 @@ | ||
const polymorphMatrix = require('../lib/utils/polymorph-matrix.js'); | ||
const distanceMat = require('../lib/linalgebra/distance-mat.js'); | ||
const {frobenius: distanceMat} = require('simple-linalg'); | ||
const State = require('./state.js'); | ||
@@ -13,0 +13,0 @@ const modelCollection = require('./model-collection.js'); |
@@ -1,2 +0,2 @@ | ||
const identity = require('../linalgebra/identity.js'); | ||
const {identity} = require('simple-linalg'); | ||
const polymorphMatrix = require('../utils/polymorph-matrix.js'); | ||
@@ -3,0 +3,0 @@ const checkMatrix = require('../utils/check-matrix.js'); |
@@ -1,3 +0,3 @@ | ||
const padWithZeros = require('../linalgebra/pad-with-zeros.js'); | ||
const identity = require('../linalgebra/identity.js'); | ||
const {padWithZeroCols: padWithZeros} = require('simple-linalg'); | ||
const {identity} = require('simple-linalg'); | ||
/** | ||
@@ -19,3 +19,3 @@ *Builds the stateProjection given an observedProjection | ||
if (observedProjection) { | ||
const stateProjection = padWithZeros(observedProjection, {dimension: dynamicDimension}); | ||
const stateProjection = padWithZeros(observedProjection, {columns: dynamicDimension}); | ||
return { | ||
@@ -33,3 +33,3 @@ observation: Object.assign({}, observation, { | ||
observation: Object.assign({}, observation, { | ||
stateProjection: padWithZeros(observationMatrix, {dimension: dynamicDimension}) | ||
stateProjection: padWithZeros(observationMatrix, {columns: dynamicDimension}) | ||
}), | ||
@@ -36,0 +36,0 @@ dynamic |
@@ -1,2 +0,2 @@ | ||
const diag = require('../linalgebra/diag.js'); | ||
const {diag} = require('simple-linalg'); | ||
@@ -3,0 +3,0 @@ /** |
@@ -1,7 +0,3 @@ | ||
const sub = require('./linalgebra/sub.js'); | ||
const transpose = require('./linalgebra/transpose.js'); | ||
const matMul = require('./linalgebra/mat-mul.js'); | ||
const invert = require('./linalgebra/invert.js'); | ||
const elemWise = require('./linalgebra/elem-wise.js'); | ||
const subSquareMatrix = require('./linalgebra/sub-square-matrix'); | ||
const {subtract: sub, transpose, matMul, invert, elemWise, subSquareMatrix} = require('simple-linalg'); | ||
const arrayToMatrix = require('./utils/array-to-matrix.js'); | ||
@@ -8,0 +4,0 @@ |
/** | ||
* @typedef {Number | Array.<Number> | Array.<Array.<Number>>} CovarianceParam | ||
*/ | ||
const diag = require('../linalgebra/diag'); | ||
const {diag} = require('simple-linalg'); | ||
const checkMatrix = require('./check-matrix'); | ||
@@ -6,0 +6,0 @@ /** |
@@ -1,2 +0,2 @@ | ||
// Const diag = require('../linalgebra/diag.js'); | ||
// Const {diag} = require('simple-linalg');; | ||
@@ -3,0 +3,0 @@ /** |
{ | ||
"name": "kalman-filter", | ||
"version": "1.13.0", | ||
"version": "2.0.0", | ||
"description": "Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript", | ||
@@ -90,2 +90,3 @@ "main": "index.js", | ||
"hasard": "^1.6.1", | ||
"http-server": "^14.1.1", | ||
"semantic-release": "^19.0.3", | ||
@@ -98,4 +99,4 @@ "webpack": "^5.21.1", | ||
"@rayyamhk/matrix": "^1.0.5", | ||
"http-server": "^14.1.1", | ||
"matrix-inverse": "^2.0.0" | ||
"matrix-inverse": "^2.0.0", | ||
"simple-linalg": "^1.0.1" | ||
}, | ||
@@ -102,0 +103,0 @@ "xo": { |
@@ -1,2 +0,2 @@ | ||
![Kalman Filter Gif](./demo/demo.gif) | ||
![Kalman Filter Bike Gif](./demo/demo_light.gif) | ||
@@ -12,3 +12,3 @@ # kalman-filter | ||
* Split Prediction/Correction steps | ||
* Extended Kalman Filter (when using functions for dynamics and observation matrixes) | ||
* Extended Kalman Filter | ||
* Correlation Matrix | ||
@@ -18,7 +18,10 @@ | ||
* [Browser interactive constant acceleration on bikes](http://piercus.github.io/kalman-filter) | ||
* [Sinusoidale Extended Kalman-Filter](https://observablehq.com/d/a033acc0859cc0de) | ||
* [Code pen GPS Data smoothing with constant speed](https://codepen.io/piercus/pen/wvoqPww) | ||
* [Partial Observation](https://github.com/piercus/kalman-filter/issues/34) | ||
* [Smooth 3x3 rotation matrix](https://github.com/piercus/kalman-filter/issues/37) | ||
|Link | Description | Image | | ||
|---|---|---| | ||
| [Bikes](http://piercus.github.io/kalman-filter) | 4D Constant Acceleration boxes | ![Kalman Filter Bike Gif](./demo/demo_light.gif) | | ||
| [Bouncing Ball](http://piercus.github.io/kalman-filter/bouncing.html) | 2D constant acceleration with bounces | ![3x3 rotation matrix](./demo/bouncing-ball.gif) | | ||
| [Sinusoidale Extended Kalman-Filter](https://observablehq.com/d/a033acc0859cc0de) | 1D Extended KF Sinus | ![Kalman Filter Sin Extended](./demo/Sinus-EKF.png) | | ||
| [Code pen GPS Data smoothing with constant speed](https://codepen.io/piercus/pen/wvoqPww) | 2D constant speed | ![Kalman Filter GPS](./demo/gps.png) | | ||
| [Partial Observation](https://github.com/piercus/kalman-filter/issues/34) | 1D / 2 sensor with missing values | ![partial](./demo/partial.png) | | ||
| [Smooth 3x3 rotation matrix](https://github.com/piercus/kalman-filter/issues/37) | 4d smoothing | ![3x3 rotation matrix](./demo/quaternion.png) | | ||
@@ -25,0 +28,0 @@ [Open an issue](https://github.com/piercus/kalman-filter/issues/new) to add more examples in this section explaining how you use this library ! |
695
66335
9
30
1150
+ Addedsimple-linalg@^1.0.1
+ Addedsimple-linalg@1.5.0(transitive)
- Removedhttp-server@^14.1.1
- Removedansi-styles@4.3.0(transitive)
- Removedasync@2.6.4(transitive)
- Removedbasic-auth@2.0.1(transitive)
- Removedcall-bind@1.0.7(transitive)
- Removedchalk@4.1.2(transitive)
- Removedcolor-convert@2.0.1(transitive)
- Removedcolor-name@1.1.4(transitive)
- Removedcorser@2.0.1(transitive)
- Removeddebug@3.2.7(transitive)
- Removeddefine-data-property@1.1.4(transitive)
- Removedes-define-property@1.0.0(transitive)
- Removedes-errors@1.3.0(transitive)
- Removedeventemitter3@4.0.7(transitive)
- Removedfollow-redirects@1.15.6(transitive)
- Removedfunction-bind@1.1.2(transitive)
- Removedget-intrinsic@1.2.4(transitive)
- Removedgopd@1.0.1(transitive)
- Removedhas-flag@4.0.0(transitive)
- Removedhas-property-descriptors@1.0.2(transitive)
- Removedhas-proto@1.0.3(transitive)
- Removedhas-symbols@1.0.3(transitive)
- Removedhasown@2.0.2(transitive)
- Removedhe@1.2.0(transitive)
- Removedhtml-encoding-sniffer@3.0.0(transitive)
- Removedhttp-proxy@1.18.1(transitive)
- Removedhttp-server@14.1.1(transitive)
- Removediconv-lite@0.6.3(transitive)
- Removedlodash@4.17.21(transitive)
- Removedmime@1.6.0(transitive)
- Removedminimist@1.2.8(transitive)
- Removedmkdirp@0.5.6(transitive)
- Removedms@2.1.3(transitive)
- Removedobject-inspect@1.13.1(transitive)
- Removedopener@1.5.2(transitive)
- Removedportfinder@1.0.32(transitive)
- Removedqs@6.12.1(transitive)
- Removedrequires-port@1.0.0(transitive)
- Removedsafe-buffer@5.1.2(transitive)
- Removedsafer-buffer@2.1.2(transitive)
- Removedsecure-compare@3.0.1(transitive)
- Removedset-function-length@1.2.2(transitive)
- Removedside-channel@1.0.6(transitive)
- Removedsupports-color@7.2.0(transitive)
- Removedunion@0.5.0(transitive)
- Removedurl-join@4.0.1(transitive)
- Removedwhatwg-encoding@2.0.0(transitive)