Safe Point Thinning Algorithm - How to?
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):

--------
|&gt;----&lt;|
--------


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