slow movement - outlining within imageOps.cannyEdge the imgOp structure to be abstracted