An improved algorithm is presented which is capable of transforming thick objects in a discrete binary image into thinner representations called skeletons. The skeletal shapes produced are shown to be more isotropic than those produced using other algorithms. The algorithm uses a non-iterative procedure based on the 4-distance ("city block") transform to produce connected reversible skeletons. The types and properties of 4-distance neighborhoods, which are used in skeletal pixel selection, are developed. Local-maxima are included in the skeleton, allowing reversibility using a reverse distance transform. Improved isotropy is achieved by defining pixels with certain types of neighborhoods to be interesting. It is shown that these isotropy-improving pixels may be added to the skeletons produced by any 4-distance-based skeletonizing algorithm that retains all local-maxima without affecting connectedness.