I am relatively new to image processing and am working on a project that requires the thinning of binary images. In the literature, I've seen references to the Safe Point Thinning Algorithm(SPTA) quite a lot, but have failed to find any definitive source to the algorithm, maybe because most of the articles quoted to describe the SPTA are not in the public domain. Can you please explain SPTA for me? Or even point me to (free)resources that do? The pros and cons of the algorithm are welcome. I could also use any alternative algorithm that is "good enough".
SPTA seems to be a quite old skeleton algorithm that is even hard to find behind paywalls. Here is a link to a skeletonization paper that references it and comes with free access : http://dspace1.acs.ucalgary.ca/bitstream/1880/45551/2/1987-287-35.pdf
But roughly speaking the idea of skeleton algorithms is to look of a simple shape "midway" inside the detected blob. For example, if you have detected a rectangle, then its skeleton is going to be the points inside the rectangle that are at equal distance from its boundaries, which makes a shape like this (the part inside the rectangle):
-------- |>----<| --------
If it helps, think of the way children draw characters wit just a few strokes...
-- EDIT --
OK, if I had to choose some reference to implement (but I understood from the question that SPTA was actually used, not to be replaced), I would check the papers on this page: http://www.ensta-paristech.fr/~manzaner/publis.html
Disclaimer: I'm not this guy, I didn't write the papers, but I would start here because:
- the papers are available for download
- A. Manzanera worked a lot on limited hardware (e.g. embedded stuff), so I guess the algorithms are efficient and not so tricky to implement