ImageJ native "Skeletonize" implementation. - works only with 8-bit binary image. A faster implementation is available as a plugin Skeletonize3D written by Ignacio Arganda-Carreras. Pros of this plugin is summarized here.
This plugin performs Strahler analysis on topographic skeletons (2D/3D). Strahler numbering is a numerical procedure that summarizes the branching complexity of mathematical trees.