  A fundamental question for edge detection in noisy images is how faint can an
edge be and still be detected. In this paper we offer a formalism to study this
question and subsequently introduce computationally efficient multiscale edge
detection algorithms designed to detect faint edges in noisy images. In our
formalism we view edge detection as a search in a discrete, though potentially
large, set of feasible curves. First, we derive approximate expressions for the
detection threshold as a function of curve length and the complexity of the
search space. We then present two edge detection algorithms, one for straight
edges, and the second for curved ones. Both algorithms efficiently search for
edges in a large set of candidates by hierarchically constructing difference
filters that match the curves traced by the sought edges. We demonstrate the
utility of our algorithms in both simulations and applications involving
challenging real images. Finally, based on these principles, we develop an
algorithm for fiber detection and enhancement. We exemplify its utility to
reveal and enhance nerve axons in light microscopy images.
