Canny edge detector

Implementation of the canny edge detector. The majority of the algorithm is data-parallel and implemented in Accelerate, with the final (sequential) phase implemented using repa. Uses the accelerate-io package to efficiently convert between the Accelerate and Repa array representations.

Original image

Original image

Result

Result