Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Correlations over the 2D rigid motion group
JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
example
.gitignore
.npmignore
LICENSE
README.md
package.json
se2corr.js

README.md

se2-correlate

Computes the cross correlation for 2D images over the group of rigid motions.

Install

npm install se2-correlate

Example

"use strict"

var zeros = require("zeros")
var ops = require("ndarray-ops")
var getPixels = require("get-pixels")
var se2corr = require("se2-correlate")

getPixels("robot.png", function(err, robotPixels) {
  getPixels("maze.png", function(err, mazePixels) {
    var robot = ops.neqseq(robotPixels.pick(undefined, undefined, 3), 0)
    var maze = ops.ltseq(mazePixels.pick(undefined, undefined, 0), 128)

    var obstacle = zeros([64, 256, 256])
    ops.gtseq(se2corr(obstacle, robot, maze), 1.0)

    //Obstacle is now the configuration space obstacle fo the robot
  })
})

Here is an interactive visualization

require("se2-correlation")(out, a, b)

Computes the cross correlation of two 2D images over the group of rigid motions. The value of the output at a given pixel is determined by,

out(\theta, x, y) = \int \limits_{R^2} a( \cos(\theta) u, \sin(\theta) v) b(u, v) d u \: dv

In the discretized version, the rotations are sampled uniformly. The input bitmaps are centered and rotations are performed about the center point in each case. The output correlation is also centered

  • out is a 3D array with shape [n, p, q]
  • a is a 2D ndarray
  • b is also a 2D ndarray

Returns out

Credit

(c) 2013 Mikola Lysenko. MIT License

Something went wrong with that request. Please try again.