[Insight-users] closely-connected region traverser

Luis Ibanez luis.ibanez@kitware.com
Tue, 05 Nov 2002 08:26:51 -0500


Hi Puja,

You can make use of the ConditionalIterators
developed by Damion Shelton.

http://public.kitware.com/Insight/Doxygen/html/classitk_1_1ConditionalConstIterator.html

These iterators visit all the pixels in an image
that satisfy a user-provided condition.

A variant of this iterators is the FloodFilled iterator:
http://public.kitware.com/Insight/Doxygen/html/classitk_1_1FloodFilledFunctionConditionalConstIterator.html

which is the base of the ConnectedComponents filters.
http://public.kitware.com/Insight/Doxygen/html/classitk_1_1ConfidenceConnectedImageFilter.html
http://public.kitware.com/Insight/Doxygen/html/classitk_1_1IsolatedConnectedImageFilter.html
http://public.kitware.com/Insight/Doxygen/html/classitk_1_1ConnectedThresholdImageFilter.html


Don't worry about the "3-D", all Image-related
classes in ITK are "N-D". Including of course,
all the image iterators.


If what you want is to apply a process similar
to a mathematical morphology operation, like
erosion or dilation, 
http://public.kitware.com/Insight/Doxygen/html/classitk_1_1BinaryDilateImageFilter.html
http://public.kitware.com/Insight/Doxygen/html/classitk_1_1BinaryErodeImageFilter.html

you may want to use the smart neighborhood iterators.
http://public.kitware.com/Insight/Doxygen/html/classitk_1_1SmartNeighborhoodIterator.html

These iterators developed by Josh Cates make extremly
easy to visit all the image taking small neighborhoods
around the visited pixels. The iterator also deals
with boundary conditions.  This is what you may
need for implementing any of the classical
3x3x3 convolution filters used in image processing.


Please let us know if you have further questions.


Thanks,


    Luis


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

Puja Malik wrote:

> 
>>Hello,
>>
>>I was wondering if there is an itk function that meets these specific
>>needs:
>>
>>I have a binary image (only 1's and 0's).  I would like to traverse the
>>entire segmented area (only the 1's)
>>in small neighbourhoods.  Each small neighbourhood should consist of the
>>same number of tightly
>>connected pixels.
>>
>>Is there a function that can do this? Our specific application is for a 3D
>>image.
>>
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users@public.kitware.com
> http://public.kitware.com/mailman/listinfo/insight-users
> 
>