Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Distance transforms for ndarrays
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
example upgrade to 1.0
lib adding files
test upgrade to 1.0
.gitignore adding files
LICENSE adding files fixed image url
dt.js upgrade to 1.0
package.json upgrade to 1.0


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.

Something went wrong with that request. Please try again.