[Insight-users] Finding Connctedness
Luis Ibanez
luis . ibanez at kitware . com
Mon, 12 Aug 2002 15:44:54 -0400
The mention of "symmetry" was related to the connectedness used for
an object versus the connectedness used for the background. That is,
the object/backgound symmetry concerning connectedness.
It was not done in the context of "symmetric relation" between pixels.
It is accepted that if pixel A is connected to pixel B then pixel B
is also connected to pixel A.
The discussion was about the difficulty in defining a consistent
connectedness for a fully segmented image. If we decide to extract an
organ as a 6 connected object, the remaining of the image must be
considered a 26 connected object in order to be consistent.
If we look for a complete partition of tissues some of them will have
to be considered 26-connected and some others 6-connected in a totally
arbitrary way. (e.g. we cannot extract gray matter and white matter
using 26 connectedness for both)
If we want to use the same connectedness for all the tissues the only
options in 3D are the 12-connectedness and 14-connectedness. Which as
you mention have directionality sensitivities because they are
equivalent to distorted FCC and BCC grids respectively.
Luis
=========================================================================
Jay Udupa wrote:
> I do not understand what is meant by "symmetry" in these discussions. I
> understand "symmetry" for a relation. If any connectedness relation is not
> symmetric, we are in trouble because then it will not be an equivalence
> relation and will fail to have the important property of identifying the
> equivalence classes with connected components. 6-, 26-, 18-connectedness,
> and there are other connectivity relations such as 14 in 3D (and its
> equivalents in nD, see GMIP 50, 311-323, 1994, see also CVGIP 45, 196-214,
> 1989), they are all symmetric relations. There are directionally sensitive
> connectivity relations (14-connectivity in 3D is an extreme example). They
> may have tremendous computational advantages. See again the above two
> references. I agree with what Ross expressed.
>
> Jay Udupa
> _____
>
> Ross Whitaker wrote:
>
>
>>"Connectedness" can be used for things other than tissue segmentation.
>> For instance, when tracing edges or tracking features, it is sometimes
>>desirable to have a notion of connectedness that is asymmetrical. There
>>is nothing wrong with providing such functionality, as long as it is
>>documented. I.e. I don't think we should not get pedagogical about the
>>algorithms we offer.
>>
>>Is 18 connectedness symmetric?
>>
>>Ross
>>
>>Luis Ibanez wrote:
>>
>>
>>>Hi Suresh,
>>>
>>>Just for the record: Both 6 and 26 connectedness are a
>>>ill-defined digital topologies since they lead to an
>>>asymmetrical definition of object and background.
>>>
>>>26 connected objects require 6 connected backgrounds and
>>> 6 connected objects require 26 connected backgrounds
>>>
>>>When it comes to fully segment a medical image there is
>>>no such thing as "background". We only have tissue classes.
>>>That means that some tissues should be considered 26
>>>connected while others are 6 connected. The choice is totally
>>>arbitrary and there is no way to get it right.
>>>
>>>All this is the consequence of the poor choice made early in
>>>the image processing field for using rectilinear grids a
>>>sampling grids.
>>>
>>>We should be using hexagonal grids in 2D, and BCC grids in 3D
>>>as has been continously recommended by the mathematical morphology
>>>community.
>>>
>>>
>>>but...
>>>given that we are now stuck with rectilinear grids here is what
>>>you could do for obtaining 26-connected regions:
>>>
>>>
>>>The current connected filters in ITK are based on the powerful
>>>itkFloodFillFunctionConditionalIterator.
>>>
>>>This iterator visits all the pixels that are connected to a
>>>seed provided by the user.
>>>
>>>The neighborhood relationship used in this iterator in 3D is
>>>six connectedness. Note that this is a N-D iterator, so in
>>>general it only looks for the 2N nearest neighbors of a pixel.
>>>
>>>It should be relatively easy to modify this iterator in order
>>>to make it visit another neighborhood structure (e.g. 26 in 3D).
>>>
>>>You will find the neighborhood related code in lines 98 to 143
>>>of the file:
>>>
>>>Insight/Code/Common/itkFloodFilleFunctionConditionalIterator.txx
>>>
>>>By creating a variant of this iterator, it will be pretty straight
>>>forward to rebuild any of the region growing filters. (it will be
>>>basically a typedef change since all the walking process is encoded
>>>inside the iterator )
>>>
>>>Please let us know if you would like more details in how to
>>>implement this.
>>>
>>>
>>>Thanks
>>>
>>> Luis
>>>
>>>
>>>============================================================
>>>
>>>suresh kumar buddhavarapu wrote:
>>>
>>>
>>>>Hi friends,
>>>>
>>>>I'm working on finding on all connected components within avolume for
>>>>a specific connectedness 26 or 6 .
>>>>I looked at RegionGrowingFilters. I unable find any clas or function
>>>>to do it.
>>>>Can you help me...
>>>>
>>>>Thanks
>>>>
>>>>suresh
>>>>
>>>>_______________________________________________
>>>>Insight-users mailing list
>>>>Insight-users@public.kitware.com
>>>>http://public.kitware.com/mailman/listinfo/insight-users
>>>>
>>>>
>>>
>>>
>>>
>>>_______________________________________________
>>>Insight-users mailing list
>>>Insight-users@public.kitware.com
>>>http://public.kitware.com/mailman/listinfo/insight-users
>>>
>>>
>>>
>>--
>>Ross T. Whitaker, Assistant Professor
>>50 S. Central Campus Drive, Rm. 3190
>>University of Utah
>>Salt Lake City, UT 84112-9205
>>voice: 801/587-9549, fax: 801/581-5843
>>web: www.cs.utah.edu/~whitaker
>>
>>_______________________________________________
>>Insight-users mailing list
>>Insight-users@public.kitware.com
>>http://public.kitware.com/mailman/listinfo/insight-users
>>
>
>