[Insight-users] about level set methods

Luca Antiga luca.antiga at gmail.com
Tue Sep 11 08:44:37 EDT 2007


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
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



More information about the Insight-users mailing list