DistanceTransform-0.1.2: Distance transform function.

Safe HaskellNone

DistanceTransform.Euclidean

Description

N-dimensional parallel Euclidean distance transform using an approach derived from: Meijster et al., "A general algorithm for computing distance transforms in linear time."

Synopsis

Documentation

edt :: (Integral a, Floating b, Vector v a, Vector v b, Vector v Int) => [Int] -> v a -> v bSource

Compute the Euclidean distance transform of an N-dimensional array. Dimensions given as [width,height,depth...]. The left-most dimension is the inner-most. For an array representing a 2D collection in row-major format, we would give [width,height] or [columns,rows].

edtPar :: (Integral a, Floating b, Vector v a, Vector v b, Vector v Int) => [Int] -> v a -> v bSource

Compute the Euclidean distance transform of an N-dimensional array using multiple processor cores. Dimensions given as [width,height,depth...]. The left-most dimension is the inner-most. For an array representing a 2D collection in row-major format, we would give [width,height] or [columns,rows].

sedt :: (Vector v a, Vector v Int, Integral a) => [Int] -> v a -> v IntSource

Compute the squared Euclidean distance transform of an N-dimensional array. Dimensions given as [width,height,depth...]. The left-most dimension is the inner-most.

sedtPar :: (Vector v a, Vector v Int, Integral a) => [Int] -> v a -> v IntSource

Compute the squared Euclidean distance transform of an N-dimensional array using multiple processor cores. Dimensions given as [width,height,depth...]. The left-most dimension is the inner-most.