1D noise reduction filters
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.gitignore
.travis.yml
LICENSE
README.md
index.js
package.json

README.md

filters build status

This module implements 1D noise reduction filters. There are currently two available:

  • median filter

  • rolling average with threshold

median

median(data, windowSize)
  • data: An array of numbers.

  • windowSize: The size of the window over which the median is applied. Should be an odd number greater than one, defaults to 3.

Example

var median = require('filters').median;
var raw = [ 2, 3, 4, 9, 6, 2 ];
console.log(median(raw));
// => [ 2, 3, 4, 6, 6, 2 ]

average

average(data, windowSize, threshold)
  • data: An array of numbers.

  • windowSize: The size of the rolling average window. Should be two or greater, defaults to 3.

  • threshold: Maximum difference between two numbers for the average still to be applied. Use this to smooth out small variations but large varitions through immediately. The difference between /a/ and /b/ is calculated as /(max(a, b) - min(a, b)) / max(a, b)/. No default.

Example

var median = require('filters').average;
var raw = [ 2, 3, 4, 9, 6, 2 ];
console.log(average(raw, 3, 0.5));
// => [ 2, 2.5, 3, 9, 7.5, 2 ]

License

MIT