Distance transforms for ndarrays

npm install distance-transform
16 downloads in the last month


Distance transforms for Lp metrics on binary ndarrays. This code is based on Meijster's algorithm. For more information see:


//Generate some shape as a binary voxel image
var x = require("ndarray").zeros([256, 256])
x.set(128, 128, 1)

//Distance transform x in the Euclidean metric

//Save result
require("save-pixels")(x, "png").pipe(process.stdout)

Which creates the following image:


npm install distance-transform

require("distance-transform")(array[, p])

Performs a distance transform of array in place using Meijster's algorithm.

  • array is the array to transform
  • p is the exponent for the metric. (Default 2)

For different values of p you get different transforms

  • p = 1 gives the Manhattan/taxicab distance metric
  • p = 2 gives the Euclidean distance metric
  • p = Infinity gives the Chebyshev/chessboard distance metric
  • Other values of p give various interpolants

array is updated in place and gets the distance values.


(c) 2013 Mikola Lysenko. MIT License.

npm loves you