[Insight-users] Level set equation question

Zachary Pincus zpincus at stanford.edu
Tue Jan 25 02:08:11 EST 2005


Hello all,

I'm trying to better understand the ITK level set implementation (and 
in particular the shape prior parts), and I had a few questions about 
how ITK deals with the curvature term in the level set evolution.

First, I can't find much information about how the "Z" term of the 
level set equation is generated (cf. page 363 of the ITK Software Guide 
PDF). To remind, Z(X) is a function (defined over image coordinates) 
that modifies the weight of the mean curvature term kappa in the level 
set equation.

Now, I can't seem to find any documentation about inspecting/setting 
Z(X). There's plenty about working with A(X) (the advection field) and 
P(X) (the speed image), but unless I'm mistaken, I've only found 
mention of Z(X) in the documentation for a few level set functions 
(geodesic active contours, and some others). In these, we are told that 
Z(X) is taken directly from the edge potential image (Z(X) = g(X)), but 
in tracing through the code, I can't really find where this happens.

My general questions are: How is Z(x) generated? Can/should it be 
manipulated by the user in any cases? Also, how do the various 
curvature functions defined in LevelSetFunction influence the 
calculations (i.e. CurvatureSpeed(), SetUseMinimalCurvature(), and the 
like)?

As an aside, the Compute3DMinimalCurvature() function defined by 
LevelSetFunction is never called from anywhere in the ITK code. Under 
what circumstances should this function be used?

Finally, and on a related note, what is the difference between the 
CurvesLevelSetFilter and GeodesicActiveContourLevelSetFilter? They seem 
to differ only by a call in the corresponding level set functions to 
MinimalCurvatureOn()...

Thanks,
Zach Pincus

Department of Biochemistry and Program in Biomedical Informatics
Stanford University School of Medicine



More information about the Insight-users mailing list