I want a robust line detection scheme which can deal
with lines of different widths and also distinguish between lines and
just random peaks from noise.
You might look into the open source Wild Magic tools available at
http://www.geometrictools.com. Form some time, Dave Eberly (their
creator) had some best-in-class ridge detection code. If anyone knows
of better (or of other!), I'd love to hear about it.
How robust is ridge detection & is there
any difference between ridge and line detection?
In principle, ridge detection is roboust. Of course, this depends on
your precise definition of ridge and the tools that you use to extract
the ridge.
Ridge and line detecsion are VERY different, as a ridge of intensity
occurs in a (protentially large) region where the intensity values are
locally close those the values on the ridge. Think of the Appalachian
Trail, a hiking route that often follows the ridge of the Appalachian
Mountains. If the trail follows the mountain ridge, the terrain around
the trail is close in altitude to the altitude of the ridge. In the
same way, the intensity values near the ridge of a function will be
close to its values on the ridge. And herein lies the difficulty in
ridge extraction.
Jason