Skip to content

thibauts/rbf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rbf

Radial Basis Function (RBF) interpolation

Builds Radial Basis Functions for input and output values of arbitrary dimensionality using standard or custom distance functions.

Installation

$ npm install rbf

Usage

var RBF = require('rbf');

var points = [
  [0, 0],
  [0, 100]
];

// values could be vectors of any dimensionality.
// The computed interpolant function will return values or vectors accordingly.
var values = [
  0.0,
  1.0
]

// RBF accepts a distance function as a third parameter :
// either one of the following strings or a custom distance function (defaults to 'linear').
//
// - linear: r
// - cubic: r**3
// - quintic: r**5
// - thin-plate: r**2 * log(r)
// - gaussian: exp(-(r/epsilon) ** 2)
// - multiquadric: sqrt((r/epsilon) ** 2 + 1)
// - inverse-multiquadric: 1 / sqrt((r/epsilon) ** 2 + 1)
//
// epsilon can be provided as a 4th parameter. Defaults to the average 
// euclidean distance between points.
//
var rbf = RBF(points, values /*, distanceFunction, epsilon */);

console.log(rbf([0, 50])); // => 0.5

Examples

Partial derivative of a gaussian, original and interpolated with 25 random samples (linear distance function).

Lena, original and interpolated with 4000 random samples (about 6% of the original pixels, linear distance function).

About

Radial Basis Function (RBF) interpolation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published