add canny method