[Insight-developers] CannySegmentationLevelSetImageFilter

Joshua Cates cates at sci . utah . edu
Fri, 21 Nov 2003 14:22:55 -0700 (MST)


Hi all,

Sorry I missed this discussion on the TCON.  When the level-set section in
the SoftwareGuide was first written there was still some inconsistency
among level-set filters, so we left the description of inside/outside to
up to documentation in specific classes.  Now everything is standardized
and correctly described in the doxygen pages for
SegmentationLevelSetImageFilter.

Let me see if I understand correctly: The confusion on the initialization
is that you expected "inside" to correspond to the intuitive notion of the
region enclosed by the implicit surface, when actually "inside" is
determined using values relative (lt) the isosurface you describe in the
input?  So using a binary initialization 0, 255 and choosing isosurface
value 127, for example, results in negative values external to the region
enclosed by the surface.

Note that the opposite sign convention (positive-outside) produces your
intuitive result from a binary initialization.  A perfectly valid way to
work with these filters is to turn on "ReverseExpansionDirection" which
effectively reverses the convention during calculations and gives the
expansion/contraction of the opposite sign convention.

There may also be some use in another method that allows you to flip the
sign of the values in your initialization?

I'll add some clarifications to the SoftwareGuide on these points.
Probably be a week or so before I can get to it.  Let me know if there are 
other points that need clarification.

Josh.

______________________________
 Josh Cates			
 Scientific Computing and Imaging Institute
 University of Utah
 Email: cates at sci . utah . edu
 Phone: (801) 587-7697
 URL:   http://www . sci . utah . edu/~cates


On Fri, 21 Nov 2003, Miller, James V (Research) wrote:

> I mentioned on the tcon this afternoon that we were having some problems
> with the CannySegmentationLevelSetImageFilter.  If we used a positive weight
> for the advection weight, our segmentations would contract whereas if we
> used a negative weight for the advection weight our segmentations would
> expand (like we wanted).  
>  
> Lydia mentioned that it may be due to how the seed image is being used.
> Once again, Lydia is right. We were passing in a binary image (the output of
> another segmentation algorithm) as the seed image.  The seed image had 255
> for the object and 0 for the background.  The SparseFieldLevelSetImageFilter
> takes this seed image and generates an initial level set by assigning pixels
> above a specified IsoValue as being outside the object and pixels below a
> specified IsoValue as being inside the object.  So while I thought my
> segmentation was shrinking, it was actually growing.  It was just that my
> "object" was actually my background.
>  
> So.  Here are my suggestions.  One, we should be very clear that the inside
> of objects have negative level set values and the outside of objects have
> positive level set values.  Two, we should change the documentation for
> *SegmentationLevelSetFilters so that it is clear that the seed image follows
> the same conventions for objectness as the levelsets, i.e. values less than
> the specified IsoValue are interior to the object, values greater than the
> specified IsoValue are exterior to the object.  I am not sure whether we
> want to go so far as to say the seed image is an initial level set (which
> does not really have to be) or whether we can just say that it follows the
> same conventions as level sets.
>  
> Finally, I am not sure when we changed the levelsets to be consistent with
> negative interiors and positive exteriors but I regardless of when it was
> done, it looks like the User Guide is out of date.  We'll need to propagate
> this into the User Guide and perhaps put out a list of "errata" on the web
> site.
>  
> Any comments?
>  
>  
> 
> Jim Miller 
> _____________________________________
> Visualization & Computer Vision
> GE Research
> Bldg. KW, Room C218B
> P.O. Box 8, Schenectady NY 12301
> 
> millerjv at research . ge . com <mailto:millerjv at research . ge . com> 
> 
> james . miller at research . ge . com
> (518) 387-4005, Dial Comm: 8*833-4005, 
> Cell: (518) 505-7065, Fax: (518) 387-6981 
> 
>  
>