Skeleton pruning

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Skeleton pruning

Jan Eglinger
Hi all,

in the "Analyze Skeleton (2D/3D)" plugin
http://fiji.sc/AnalyzeSkeleton
there are two pruning methods:
- cycle detection and pruning to avoid circular graphs
- end pruning, which removes *all* blind-ended branches

I would like to use a different pruning method that allows me to remove
branches:
- either only up to a specified length, as detailed here:

    http://en.wikipedia.org/wiki/Pruning_(morphology)
     and
    http://reference.wolfram.com/mathematica/ref/Pruning.html

- or by another algorithm that manages to keep the "important" branches,
as seen in this publication:

***
Skeleton pruning by contour partitioning with discrete curve evolution

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.92.9789&rep=rep1&type=pdf
***

Did anybody implement this already in ImageJ/Java?

Thanks for any hints regarding this,
Jan

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Skeleton pruning

Gabriel Landini
On Thursday 16 Aug 2012 15:59:26 Jan Eglinger wrote:

> in the "Analyze Skeleton (2D/3D)" plugin
> http://fiji.sc/AnalyzeSkeleton
> there are two pruning methods:
> - cycle detection and pruning to avoid circular graphs
> - end pruning, which removes *all* blind-ended branches
>
> I would like to use a different pruning method that allows me to remove
> branches:
> - either only up to a specified length, as detailed here:

Hi,
Skeleton pruning is usually (I believe) done via the Hit-or-Miss transform for
either a number of cycles (i.e. length) or all (until idempotence of the
result).
In the morphology collection there are a couple of 1-line macros showing how
to prune just one pixel or all prunable the branches of a 2D skeleton (Prune1
and PruneAll macros) using a 2D H-or-M plugin (also included).
http://www.dentistry.bham.ac.uk/landinig/software/software.html

I am not aware of a 3D H-or-M transform plugin, but maybe Thomas Boudier has
implemented one?
Hope it helps

Gabriel

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Skeleton pruning

Michael Doube-3
In reply to this post by Jan Eglinger
Hi Jan

> - end pruning, which removes *all* blind-ended branches
I wrote that, so can try to guide you with any development. The idea
was to exclude 'broken' branches from branch length measurement, in a
structure which should have no dead-end branches. Kind-of-like how you
can exclude particles that are truncated by the sides of a stack.

> I would like to use a different pruning method that allows me to remove
> branches:
> - either only up to a specified length, as detailed here:
That should be doable relatively easily because the branch length is
already calculated, so you could skip branches over a particular length,
and only prune branches less than that length. (I guess you want to do
that rather than pruning them down to a particular length).

> - or by another algorithm that manages to keep the "important" branches,
That sounds much trickier!

Michael

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html