Hi Luca,
Thanks for your replay, it has been very helpful.
Never the less it is note clear to me, yet, the current implementations of
G and P functions, you explained:

"In the current implementation, G is the bounded inverse of the intensity
gradient magnitude (1 / (epsilon + del G)).
P is the vector gradient of the bounded inverse of the intensity gradient
magnitued, where the gradient is computed with finite differences... "

so, you said
 G = 1 / (epsilon + del G)
I don't understand it, did you mean?

   G = 1 / (1 + | grad I |)       // here "grad ." is the gradient
operator, and "|.|" the absolute value
and
   P = -G
// This two forms will be the definitions on
http://www.itk.org/Doxygen/html/classitk_1_1GeodesicActiveContourLevelSetFunction.html

remembering that the PDE is

(2.22)     -w1 G(x) | grad F | + 2 w2 G(x) H(x) | grad F | + w3 <[grad
P(x)] , grad F >


finally, i would like to ask you how i should cite the use of the level set
segmentation pipeline, is there any paper or just the vmtk website?

Thank you in advance!




2012/12/12 Luca Antiga <luca.ant...@gmail.com>

> Hi Carlos,
>
> On Dec 3, 2012, at 3:12 PM, Carlos Alberto Bulant wrote:
>
> Hello Luca,
> thanks for the answers, i would like to do more questions related to the
> subject.
>
> i would like to summarize (in the form of pseudo-code) how i understand
> the level set segmentation works, and then ask you some questions
>
> // pseudo-code
> begin-------------------------------------------------------------------------------------------------------------
> image iI(x) // the -ifile
>
> image lvlSet_t0(x) <--- initialization procedure over the iI(x) image (no
> pre-processing is used on iI(x))
>
>
> correct
>
> image I(x)  // the featured image
> if -featureimagefile fI(x) NOT NULL {
>   I = fI
> }else {
>   I = smooth(iI, -smoothingiterations, -smoothingtimestep, -
> smoothingconductance)
> }
>
>
> Not really. The feature image can be provided (-featureimagefile) or it
> can be computed by the
> script. In which case it will be generated using the method specified by
> -featureimagetype,
> which can be "vtkgradient","gradient","upwind","fwhm". See the
> vmtkimagefeatures script
> for details on the feature images.
>
> Smoothing only comes into play for a particular level set type. There are
> currently three
> level set types available, which differ by the terms in the evolution
> equation:
>
> "geodesic": the equation we mentioned in the last email
> "curves": same as above but the curvature term does not contain mean
> curvature, but minimum curvature (see
> L. Lorigo, O. Faugeras, W.E.L. Grimson, R. Keriven, R. Kikinis, A.
> Nabavi, and C.-F. Westin, Curves: Curve evolution for vessel
> segmentation. Medical Image Analysis, 5:195-206, 2001.
> for details)
> "threshold": the level set will evolve towards a particular intensity
> level (as opposed to gradient magnitude ridges), and in addition you can
> include a Laplacian term; smoothing works here for building the Laplacian
> of the feature image
> "laplacian": the level set will evolve towards zeros of the Laplacian
> image as an advection term
>
> // calculates the G and P
> // Where grad operator is defined by -featureimagetype parameter.
> image g(x) = G( grad(I) )   // using equation 2.20 from the thesis
> image p(x) = P( grad(I) )   // using equation 2.21 from the thesis
>
>
> Yes (grad here is the intensity gradient magnitude)
>
> // Where -levelsetstype defines the type levelsetFunction to be used
>
>
> See above.
>
> image levelset = levelsetFunction (lvlSet_t0, g, p, -iterations, -propagation,
> -curvature, -advection)
>
>
> Yes
>
> // pseudo-code
> end--------------------------------------------------------------------------------------------------------------
>
> Questions:
> * Which smoothing function is used? (i.e. gradient anisotropic diffusion,
> curvature anisotropic diffusion, etc)
>
>
> It's a gradient anisotropic diffusion filter
> (itkGradientAnisotropicDiffusionImageFilter), used internally
> by itkThresholdSegmentationLevelSetFunction, as mentioned above.
> Take a look
> here: ITK/Code/Algorithms/itkThresholdSegmentationLevelSetFunction.h
> and ITK/Code/Algorithms/itkThresholdSegmentationLevelSetFunction.txx for
> details.
>
> * Are G and P functions the ones defined on the thesis? (on
> http://www.itk.org/Doxygen/html/classitk_1_1GeodesicActiveContourLevelSetFunction.html
>  P
> is P(G), and in the thesis there is another definition P(I), besides on the
> link there are suggestions on the most commonly definition of G, but i'm
> not sure on which is really used)
>
>
> In the current implementation, G is the bounded inverse of the intensity
> gradient magnitude (1 / (epsilon + del G)).
> P is the vector gradient of the bounded inverse of the intensity gradient
> magnitued, where the gradient is computed with finite differences if
> featurederivativesigma is 0, and using Gaussian derivative convolution
> with sigma = featurederivativesigma if the latter is greater than zero.
>
> Cheers
>
> Luca
>
> Thanks in advance!
> Best of regards
> Carlos
>
>
> 2012/12/3 Luca Antiga <luca.ant...@gmail.com>
>
>> Hello Carlos,
>>  welcome to vmtk and sorry for the wait. I hope the timing won't stop you
>> from sending more questions in the future.
>>
>> The level set code I used during my PhD was written by me, then ITK came
>> along and I was very happy to fully embrace it :-)
>> So right now level set implementation in vmtk is the one provided by ITK:
>>
>> http://www.itk.org/Doxygen/html/classitk_1_1GeodesicActiveContourLevelSetFunction.html
>> which is a specialization of this general formulation
>> http://www.itk.org/Doxygen/html/classitk_1_1LevelSetFunction.html
>>
>> As you see, the latter link includes a spatial modifier for the mean
>> curvature term (Z), which in the actually code is
>> returned by the CurvatureSpeed method. In the
>> GeodesicActiveContourLevelSetFunction such term is set equal to
>> G (the edge potential image).
>>
>> So, long story short, yes, the current implementation follows equation
>> 2.22.
>>
>> Correct me if i'm wrong:  G and P depend on the so called featured Image
>> ( | grad I(x) | on Luca's thesis), if executing the
>> vmtklevelsetsegmentation filter as before (without specifying a -
>> featureimagefile image)  Is the featured image used by G and P
>> calculated automatically (depending on the -featureimagetype parameter
>> with gradient as default)?
>>
>>
>> Exactly. Good job!
>>
>>
>> Luca
>>
>>
>> On Nov 27, 2012, at 10:19 PM, Carlos Alberto Bulant wrote:
>>
>> Hi VMTK users,
>> this is my first post in this mailing list (probably there will be more),
>> i'm a new user just starting to use the toolkit.
>> Now to my questions:
>>
>> When using the level set segmentation filter in the form of :
>>
>> vmtklevelsetsegmentation -ifile image_volume_voi.vti -ofile level_sets.vti
>>
>> assuming none-zero PropagationScaling (w1), CurvatureScaling (w2) and
>> AdvectionScaling (w3)  parameters, which of the Level Set formulation
>> (proposed on Luca Antiga's PhD thesis) does the implementation use?
>>
>> (2.19)     -w1 G(x) | grad F | + 2 w2 H(x) | grad F | + w3 <[grad P(x)] ,
>> grad F >
>> (2.22)     -w1 G(x) | grad F | + 2 w2 G(x) H(x) | grad F | + w3 <[grad
>> P(x)] , grad F >
>>
>>
>> In the current implementation, are G(x) and P(x) the one proposed on
>> Luca's thesis?
>>
>>
>> Correct me if i'm wrong:  G and P depend on the so called featured Image
>> ( | grad I(x) | on Luca's thesis), if executing the
>> vmtklevelsetsegmentation filter as before (without specifying a -
>> featureimagefile image)  Is the featured image used by G and P
>> calculated automatically (depending on the -featureimagetype parameter
>> with gradient as default)?
>>
>> Sorry for  my English,
>> Best of regards
>> Carlos
>>
>> ------------------------------------------------------------------------------
>> Keep yourself connected to Go Parallel:
>> DESIGN Expert tips on starting your parallel project right.
>>
>> http://goparallel.sourceforge.net_______________________________________________
>> vmtk-users mailing list
>> vmtk-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/vmtk-users
>>
>>
>>
>
>
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
vmtk-users mailing list
vmtk-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vmtk-users

Reply via email to