Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Rightclick on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
From: Carlos Alberto Bulant <carlos.alberto.bulant@gm...>  20121127 21:20:13
Attachments:
Message as HTML

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 nonezero 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 
From: Luca Antiga <luca.antiga@gm...>  20121203 09:22:30
Attachments:
Message as HTML

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 nonezero 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_______________________________________________ > vmtkusers mailing list > vmtkusers@... > https://lists.sourceforge.net/lists/listinfo/vmtkusers 
From: Carlos Alberto Bulant <carlos.alberto.bulant@gm...>  20121203 14:12:29
Attachments:
Message as HTML

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 pseudocode) how i understand the level set segmentation works, and then ask you some questions // pseudocode begin image iI(x) // the ifile image lvlSet_t0(x) < initialization procedure over the iI(x) image (no preprocessing is used on iI(x)) image I(x) // the featured image if featureimagefile fI(x) NOT NULL { I = fI }else { I = smooth(iI, smoothingiterations, smoothingtimestep,  smoothingconductance) } // 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 // Where levelsetstype defines the type levelsetFunction to be used image levelset = levelsetFunction (lvlSet_t0, g, p, iterations, propagation, curvature, advection) // pseudocode end Questions: * Which smoothing function is used? (i.e. gradient anisotropic diffusion, curvature anisotropic diffusion, etc) * 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) Thanks in advance! Best of regards Carlos 2012/12/3 Luca Antiga <luca.antiga@...> > 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 nonezero 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_______________________________________________ > vmtkusers mailing list > vmtkusers@... > https://lists.sourceforge.net/lists/listinfo/vmtkusers > > > 
From: Luca Antiga <luca.antiga@gm...>  20121212 15:30:21
Attachments:
Message as HTML

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 pseudocode) how i understand the level set segmentation works, and then ask you some questions > > // pseudocode begin > image iI(x) // the ifile > > image lvlSet_t0(x) < initialization procedure over the iI(x) image (no preprocessing 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:195206, 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 > // pseudocode 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.antiga@...> > 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 nonezero 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_______________________________________________ >> vmtkusers mailing list >> vmtkusers@... >> https://lists.sourceforge.net/lists/listinfo/vmtkusers > > 
From: Carlos Alberto Bulant <carlos.alberto.bulant@gm...>  20121216 11:36:48
Attachments:
Message as HTML

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.antiga@...> > 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 pseudocode) how i understand > the level set segmentation works, and then ask you some questions > > // pseudocode > begin > image iI(x) // the ifile > > image lvlSet_t0(x) < initialization procedure over the iI(x) image (no > preprocessing 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:195206, 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 > > // pseudocode > 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.antiga@...> > >> 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 nonezero 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_______________________________________________ >> vmtkusers mailing list >> vmtkusers@... >> https://lists.sourceforge.net/lists/listinfo/vmtkusers >> >> >> > > 
From: Luca Antiga <luca.antiga@gm...>  20121217 09:37:01
Attachments:
Message as HTML

Hi Carlos, you're right, I scrambled the expression for G, things are indeed the way you describe them. The bounded reciprocal would work with any > 0 epsilon added to the  grad I , so 1 is as good as others. For citing the pipeline you can use Antiga L, Piccinelli M, Botti L, EneIordache B, Remuzzi A and Steinman DA. An imagebased modeling framework for patientspecific computational hemodynamics. Medical and Biological Engineering and Computing, 46: 10971112, Nov 2008. Thanks Luca On Dec 16, 2012, at 12:36 PM, Carlos Alberto Bulant wrote: > 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.antiga@...> > 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 pseudocode) how i understand the level set segmentation works, and then ask you some questions >> >> // pseudocode begin >> image iI(x) // the ifile >> >> image lvlSet_t0(x) < initialization procedure over the iI(x) image (no preprocessing 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:195206, 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 > >> // pseudocode 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.antiga@...> >> 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 nonezero 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_______________________________________________ >>> vmtkusers mailing list >>> vmtkusers@... >>> https://lists.sourceforge.net/lists/listinfo/vmtkusers >> >> > > 
Sign up for the SourceForge newsletter:
No, thanks