[Insight-users] about level set methods

Burak Özkalaycı bozkalayci at gmail.com
Tue Sep 11 09:40:18 EDT 2007


 Thanks for the clarifying reply. I want to ask one more thing about
curvature-based term. just think of a sphere whose mean curvature should be
a constant. If I only use the curvature term in that equation and start the
level set front to evolve will it expand or shrink without stopping. In
order to stop the evolution is it common to weight the curvature with some
stopping criteria to get the Z(x) in that equation, or do I miss something?
thanks a lot again.

Burak

Luca Antiga wrote:

Hi Burak,

I think
m_AdvectionImage = A(x);
PropagationSpeed = P(x);
CurvatureSpeed = Z(x);

correct

1- According to my understand the m_SpeedImage is expected to be calculated
from the m_FeatureImage in a desired fashion. that's why it is not
implemented. However I can not find the connection of this m_SpeedImage with
the A, P, Z terms?

The itk::SegmentationLevelSetFunction is the superclass of all actual level
set functions (see dependency graph here
http://public.kitware.com/Insight/Doxygen/html/classitk_1_1SegmentationLevelSetFunction.html).

You have to look at the derived classes for the actual calculations of the
scalar and vector fields.
For instance, in itk::GeodesicActiveContourLevelSetFunction the speed image
is computed as the feature image itself,
and the advection image is generated using either centered finite
differences or Gaussian derivative convolution.
These are not the only possibilities, just take a look at the various
derived classes.

2- How Z is calculated, I could not find anything about it also?
3- According to Osher's Level Set Methods book the right hand side of the
equation
http://www.itk.org/Doxygen32/html/form_149.png
should be calculated by using center differences. Is it implemented like
that?


The computation of the curvature term (actually, the curvature terms) is
implemented in the itk::LevelSetFunction class
using centered finite differences. Z is what is called "CurvatureSpeed",
which defaults to 1 in itk::LevelSetFunction,
while it is set equal to PropagationSpeed in
itk::GeodesicActiveContourLevelSetFunction.

4- Are the magnitude of the gradients of Phi same for the right and left
side of that equation? (since the left side should use the upwind methods
where the right side should use center differences)

Actually, I think that curvature has to be computed with centered finite
differences, while |\grad \phi| has to be computed with upwind finite
differences both for left and right hand sides of the equation, since what
you are doing is advecting the level sets in both cases. What changes is the
scaling term, which is equal to the propagation in one case and depends on
the level set curvature (computed with centered finite differences) in the
other.

Hope it helped

Luca



-- 
Luca Antiga, PhD
Head, Medical Imaging Unit,
Bioengineering Department,
Mario Negri Institute
email: antiga at marionegri.it
web: http://villacamozzi.marionegri.it/~luca<http://villacamozzi.marionegri.it/%7Eluca>
mail: Villa Camozzi, 24020, Ranica (BG), Italy
phone: +39 035 4535-381



On Sep 11, 2007, at 12:44 PM, Burak Özkalaycı wrote:

Dear all,

I am a little bit confused about the level set implementation in ITK.
my questions are according to

http://www.itk.org/Doxygen32/html/itkLevelSetFunction_8h.html and
http://www.itk.org/Doxygen32/html/itkSegmentationLevelSetFunction_8h.html

There exist m_FeatureImage, m_SpeedImage, m_AdvectionImage,
PropagationSpeed, CurvatureSpeed. The levelset function to be solved is
given as :

http://www.itk.org/Doxygen32/html/form_149.png

I think
m_AdvectionImage = A(x);
PropagationSpeed = P(x);
CurvatureSpeed = Z(x);

1- According to my understand the m_SpeedImage is expected to be calculated
from the m_FeatureImage in a desired fashion. that's why it is not
implemented. However I can not find the connection of this m_SpeedImage with
the A, P, Z terms?
2- How Z is calculated, I could not find anything about it also?
3- According to Osher's Level Set Methods book the right hand side of the
equation
http://www.itk.org/Doxygen32/html/form_149.png
should be calculated by using center differences. Is it implemented like
that?
4- Are the magnitude of the gradients of Phi same for the right and left
side of that equation? (since the left side should use the upwind methods
where the right side should use center differences)

If anyone can answer my implementation and theory based questions I will be
so glad. And also any reference to headers or sources are welcome.

Thank you in advance

Burak



Burak Ozkalayci < burak.ozkalayci at UGent.be>
PhD Student
Electronic and Information Systems (ELIS-MEDISIP)
Ghent University Hospital - IBITECH
_______________________________________________
Insight-users mailing list
Insight-users at itk.org
http://www.itk.org/mailman/listinfo/insight-users


  Burak Ozkalayci <burak.ozkalayci at UGent.be>  PhD Student  Electronic and
Information Systems (ELIS-MEDISIP)  Ghent University Hospital - IBITECH
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/insight-users/attachments/20070911/a3750bcb/attachment.html


More information about the Insight-users mailing list