[Insight-users] Connected component

Luis Ibanez luis . ibanez at kitware . com
Wed, 07 Aug 2002 11:27:38 -0400


Hi Mark,

You may want to look at the filters listed below.
These filters identify regions that are connected to a seed.
The criterion for connectivity is different for each filter.

ConfidenceConnectedImageFilter:
Groups pixels whose local statistics are consistent
with those of the seed point:
http://www.itk.org/Insight/Doxygen/html/classitk_1_1ConfidenceConnectedImageFilter.html

ConnectedThresholdImageFilter:
 From the seed points connects all the pixels whose values
are within a range specified by the user.
http://www.itk.org/Insight/Doxygen/html/classitk_1_1ConnectedThresholdImageFilter.html

IsolatedConnected:
 From the seed point connects all the pixels that are
not connected to another seed.
http://www.itk.org/Insight/Doxygen/html/classitk_1_1IsolatedConnectedImageFilter.html


These filters use internally the FloodFill iterator.
http://www.itk.org/Insight/Doxygen/html/classitk_1_1FloodFilledImageFunctionConditionalIterator.html
This powerful iterator walks along the pixels of the image
that are connected to a seed provided by the user.


You may also want to try the more sophisticated:

SimpleFuzzyConnectednessImageFilter:
http://www.itk.org/Insight/Doxygen/html/classitk_1_1SimpleFuzzyConnectednessScalarImageFilter.html
This filter computes affinities between pixels by evaluating the
possible paths joining one pixel to another. Pixels with low cost
paths are considered neighbors.

Using statistical classifiers before any of those filters could
let you apply clustering algorithms like in statistical pattern
recognition methods.


Abour your second question, ITK do not have such a filter
yet, but it should be relatively easy to implement by using
existing components. The counting of pixels could be done
by using again the floodfill iterator.


Please let us know if you have any further questions.

Thanks


   Luis


================================================================

Mark Hastenteufel wrote:
> Hallo itk community!
> 
> Is there a connected component filter available in itk, i.e., a filter
> that labels a segmented image? Such an algorithm should produce an
> output image, where each cluster of connected pixels gets its own value
> in the output image.
> 
> Furthermore I'm looking for a filter, which deletes all objects
> (connected pixels) in an image, where the number of pixels are lower
> than a threshold. I do not know the exact name of such an algorithm. 
> 
> Thank you in advance,
> 
> Mark
>