Safe Haskell | None |
---|

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

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

# 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]`

.