Finds patterns in ndarrays

npm install phase-align
10 downloads in the last month


Aligns two ndarrays up to a translation such that the sum of squared differences between them is minimized. This can be used as a quick preprocess for other more detailed alignment algorithms.


Here is a simple example showing how to use this code to image alignment. First, let's start out with an image:

var lena = require("luminance")(require("lena"))

Next, let's cut out a patch:

var patch = lena.lo(222, 215).hi(80, 80)

Which looks like this:

Finally, we can use phase-align to find the patch in the original image like this:

var position = require("phase-align")(patch, lena)

Which prints out the coordinates of the upper left corner fo the patch in the original:

[ 222, 215 ]


npm install phase-align

require("phase-align")(patch, image[, options])

Finds the pixel coordinates of the occurence of patch within the larger image

  • patch is an ndarray to match
  • image is the image to match within
  • options is an object containing some optional parameters
    • normalize Default true. If set, images are normalized for intensity before matching.

Returns An array of coordinates representing the occurence of patch within image


(c) 2013 Mikola Lysenko. MIT License

npm loves you