Which edge or feature detector do I need?
A raw gradient, the full Canny pipeline, or a corner detector -- and when each one is the right tool.
Reach for this once the question moves from "smooth this image" to "find structure in it." A single gradient magnitude answers "how much does intensity change here"; the full Canny pipeline turns that into clean, thin, connected edge curves; and a corner detector answers a genuinely different question -- not "is there an edge here" but "is this point locatable and matchable again in a second image."
Step 1 -- do you need a raw gradient, or finished edge curves?
Example
A single per-pixel gradient estimate -- fast, no thresholding pipeline, still noise-sensitive on its own.
Example
Thin, well-localized, single-response edge curves ready to hand to a segmentation or shape-finding step.
Step 2 -- inside Canny: what turns a raw gradient into clean edges?
Example
The two-threshold, connectivity-based rule Canny's last stage uses to decide which weak-gradient pixels survive.
Step 3 -- do you need to find the SAME point again in another image?
Example
Edges alone are ambiguous along their own length (the aperture problem) -- a corner is the feature that's actually locatable and matchable point-to-point.