Algorithm used for growing seeds

I’ve seen here an example of how to segment a liver with 3ds slicer: (at the end of the movie is liver isolation).

And I saw that is used a lot of seeds points for inside liver and a lots of seeds points from outside of liver. Is there any method to know what SimpleITK/ITK methods has been used for that segmentation ? I know, maybe is a reverse engineering, but I really need only core simpleitk methods that complete that liver segmentation … I need this for a tooth segmentation which could be simplest … could you help me a little bit ?
Thank you.

Idea is that I saw at least two ITK filters that has been implied on growing seed algorithm, and as far as I know there is no SimpleITK filter which take two seeds array as input (one for inside organ, and one for outside).

The demo reveal that liver segmentation is made it in two steps:

  1. Set seeds points for the organ which should be isolated (liver, tooth, whatever). So, in which ITK algorithm is used these seeds points ?
  2. Set seeds points for outside of the organ. So, in which ITK algorithm is used these seeds points ? I didn’t saw any ITK algorithm that accept 2 seeds points as input. Of course, this is because there is used two ore more filters in order to to that. But what filter are used for inside seeds points, and what filter for outside seed points ?


Hello @flaviu2,

There are many algorithms that use two sets of seed points to perform segmentation, so that level of description is not enough to identify a specific algorithm (there is the whole family of graph cut based algorithms - not available in SimpleITK).

Another segmentation filter in SimpleITK that uses two sets of seed points
is CollidingFrontsImageFilter.

I would suggest that you inquire in the Slicer discourse with respect to which algorithm was actually used in the demo and then see if that set of filters is available in ITK/SimpleITK.


For reference, the question posted on Slicer forum was answered here:

1 Like