[Insight-developers] Level-set framework

Joshua Cates cates at sci . utah . edu
Fri, 4 Jul 2003 15:01:24 -0600 (MDT)


Hi folks,

I have made some changes and updates to the level-set framework,
especially with respect to segmentation.

Here is a summary of the current state of things.

* The SparseFieldLevelSetImageFilter solver uses the Inside=Negative
Outside=Positive convention.  POSITIVE speed terms in LevelSetFunction
(propagation, advection, etc.) cause surface EXPANSION.  NEGATIVE speed
terms cause surface CONTRACTION.  I believe that all level-set based
segmentation filters now conform to these conventions.

* There have been some tweaks/fixes to the curvature calculation and the
LevelSetFunction time step calculation

* New methods replace a deprecated UseNegativeFeatures:

 SegmentationLevelSetImageFilter::SetReverseExpansionDirection(bool)
 SegmentationLevelSetImageFilter::ReverseExpansionDirectionOn()
 SegmentationLevelSetImageFilter::ReverseExpansionDirectionOff()

Setting ReverseExpansionDirectionOn() flips the EXPANSION convention by
flipping the sign of the appropriate level-set function terms (negative
speed = expand, positive speed = contract).

* New baseline images are checked in.

* The speed term of ThresholdSegmentationLevelSetImageFilter now uses an
optional second derivative term (Laplacian) to help lock onto edges.

* There are a few more improvements in the works which should speed up the
sparse field solver and (hopefully) give smoother convergence.

Josh.


______________________________
 Josh Cates			
 School of Computer Science	
 University of Utah
 Email: cates at sci . utah . edu
 Phone: (801) 587-7697
 URL:   http://www . sci . utah . edu/~cates