You can subscribe to this list here.
2005 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}
(3) 
_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}


2006 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}
(4) 
_{Aug}
(1) 
_{Sep}

_{Oct}

_{Nov}

_{Dec}
(7) 
2007 
_{Jan}
(13) 
_{Feb}
(3) 
_{Mar}
(8) 
_{Apr}
(8) 
_{May}
(4) 
_{Jun}
(12) 
_{Jul}
(1) 
_{Aug}
(1) 
_{Sep}
(2) 
_{Oct}

_{Nov}

_{Dec}

2008 
_{Jan}
(1) 
_{Feb}

_{Mar}

_{Apr}

_{May}
(7) 
_{Jun}
(1) 
_{Jul}
(27) 
_{Aug}
(3) 
_{Sep}

_{Oct}
(35) 
_{Nov}
(17) 
_{Dec}
(4) 
2009 
_{Jan}
(14) 
_{Feb}
(13) 
_{Mar}
(41) 
_{Apr}
(20) 
_{May}
(12) 
_{Jun}
(24) 
_{Jul}
(6) 
_{Aug}
(25) 
_{Sep}

_{Oct}
(42) 
_{Nov}
(33) 
_{Dec}
(17) 
2010 
_{Jan}
(6) 
_{Feb}
(11) 
_{Mar}
(24) 
_{Apr}
(13) 
_{May}
(18) 
_{Jun}
(32) 
_{Jul}
(8) 
_{Aug}
(10) 
_{Sep}
(12) 
_{Oct}
(33) 
_{Nov}
(40) 
_{Dec}
(4) 
2011 
_{Jan}
(6) 
_{Feb}
(32) 
_{Mar}
(12) 
_{Apr}
(7) 
_{May}
(18) 
_{Jun}
(8) 
_{Jul}
(16) 
_{Aug}
(10) 
_{Sep}
(37) 
_{Oct}
(16) 
_{Nov}
(21) 
_{Dec}
(43) 
2012 
_{Jan}
(30) 
_{Feb}
(22) 
_{Mar}
(42) 
_{Apr}
(39) 
_{May}
(56) 
_{Jun}
(47) 
_{Jul}
(42) 
_{Aug}
(10) 
_{Sep}
(45) 
_{Oct}
(21) 
_{Nov}
(14) 
_{Dec}
(11) 
2013 
_{Jan}
(15) 
_{Feb}
(33) 
_{Mar}
(74) 
_{Apr}
(50) 
_{May}
(57) 
_{Jun}
(21) 
_{Jul}
(27) 
_{Aug}
(35) 
_{Sep}
(2) 
_{Oct}

_{Nov}

_{Dec}

2014 
_{Jan}
(3) 
_{Feb}
(2) 
_{Mar}

_{Apr}

_{May}
(1) 
_{Jun}
(1) 
_{Jul}
(1) 
_{Aug}
(1) 
_{Sep}

_{Oct}
(1) 
_{Nov}

_{Dec}

2015 
_{Jan}
(1) 
_{Feb}

_{Mar}
(2) 
_{Apr}
(1) 
_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}
(1) 
_{Nov}

_{Dec}
(2) 
2016 
_{Jan}

_{Feb}

_{Mar}
(1) 
_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}
(1) 
_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 







1

2

3
(5) 
4
(1) 
5

6

7

8

9

10

11

12
(2) 
13

14

15

16
(1) 
17
(1) 
18

19

20

21
(1) 
22

23

24

25

26

27

28

29

30

31






From: Miguel Sotaquira <msotaquira@gm...>  20121221 11:13:03

Hi Luca, I'm trying to cut an open triangulated surface (polydata) using the wrapped version of vtkvmtkPolyDataScissors. I've managed to correctly create the 'CutLine' polydata (with the corresponding points, cells and idArray in the correct polydata locations where I want to perform the cutting). Then I use vtkvmtkPolyDataScissors in this way: scissor=vmtk.vtkvmtk.vtkvmtkPolyDataScissors() scissor.SetCutLine(CutLine) scissor.SetCutLinePointIdsArrayName('idArray') scissor.SetInput(Surface) scissor.Update() where 'Surface' is the polydata I want to cut. I use the method GetOutput() from 'scissor' to obtain the result of cutting (is this right?); when rendering this output I'm getting the same input polydata ('Surface'), i.e. no cutting has been performed. Am I missing something? Is this the correct use of vtkvmtkPolyDataScissors? Thanks for your suggestions, Miguel 
From: Luca Antiga <luca.antiga@gm...>  20121217 09:37:01

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 >> >> > > 
From: Carlos Alberto Bulant <carlos.alberto.bulant@gm...>  20121216 11:36:48

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@or...>  20121212 16:48:44

Dear Chiara, there has to be an issue with a library being there but not being the same version of the one used to build VTK. I need some more information:  what's the complete backtrace  what you compiled from source vs used as a binary package  whether or not you have other versions of VTK or python on your system. Best, Luca On Dec 4, 2012, at 11:12 AM, Chiara Trentin wrote: > Dear all, > I have successfully installed vmtk/VTK/ITK using the instructions of the VMTK website. > Unfortunately, when I try to run some module (e.g., vmtksurfacereader) the following error message appears: > > ERROR: In /opt/vmtkbuild/VTK/IO/vtkSTLReader.cxx, line 446 > vtkSTLReader (0xa709548): STLReader error reading file: Gamba_Piegata_lumen.stl Premature EOF while reading end solid. > > *** glibc detected *** python: double free or corruption (!prev): 0x0a70b030 *** > ======= Backtrace: ========= > /lib/i386linuxgnu/libc.so.6(+0x75ee2)[0xb737eee2] > bla bla bla > > I have a similar issue when using VTK python scripts... > Is there anyone who can help me? > > In the following some useful info about the software version. > > Ubuntu 12.04.1 LTS (release 12.04, precise) > git 1.7.9.5 > python 2.7.3 > cmake 2.8.7 > linuxlibcdev 3.2.034.53 > > > Thanks a lot > > Chiara > > > > > > > > >  > 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 valueadd services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d_______________________________________________ > vmtkusers mailing list > vmtkusers@... > https://lists.sourceforge.net/lists/listinfo/vmtkusers 
From: Luca Antiga <luca.antiga@gm...>  20121212 15:30:21

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: Chiara Trentin <chiara.trentin@iu...>  20121204 11:13:21

Dear all, I have successfully installed vmtk/VTK/ITK using the instructions of the VMTK website. Unfortunately, when I try to run some module (e.g., vmtksurfacereader) the following error message appears: ERROR: In /opt/vmtkbuild/VTK/IO/vtkSTLReader.cxx, line 446 vtkSTLReader (0xa709548): STLReader error reading file: Gamba_Piegata_lumen.stl Premature EOF while reading end solid. *** glibc detected *** python: double free or corruption (!prev): 0x0a70b030 *** ======= Backtrace: ========= /lib/i386linuxgnu/libc.so.6(+0x75ee2)[0xb737eee2] bla bla bla I have a similar issue when using VTK python scripts... Is there anyone who can help me? In the following some useful info about the software version. Ubuntu 12.04.1 LTS (release 12.04, precise) git 1.7.9.5 python 2.7.3 cmake 2.8.7 linuxlibcdev 3.2.034.53 Thanks a lot Chiara 
From: Carlos Alberto Bulant <carlos.alberto.bulant@gm...>  20121203 14:12:29

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...>  20121203 10:15:54

Dear Miguel, indeed this is weird. Can you run the model through a cleaner and a connectivity, this way: vmtksurfacetriangle ifile yoursurface.vtp pipe vmtksurfaceconnectivity ofile yoursurface_c.vtp and then run the algorithm on it? If all else fails, can you make the model available to me for a quick test? BTW, cool work Luca On Nov 30, 2012, at 3:23 PM, Bernabeu Llinares, Miguel wrote: > Dear VMTK users, > > I continued working on the project I described in my email on 30 Sep 2012 (see below). Following Arjan's advice I managed to get vmtkcenterlinemodeller to accurately resolve the vascular network. > > I'm currently processing a new image I obtained from my experimental collaborators and the same workflow I used in the past is failing at the vmtknetworkextraction step. I'm attaching two Paraview snapshots: one with the surface mesh from which I'm trying to obtain centrelines and a second one with the output generated by vmtknetworkextraction. > > I guess there's some singularity in the surface mesh that is making the vmtknetworkextraction algorithm fail (given that it has worked in the past for similar models). I'm unfortunately pretty clueless about what might be the culprit. Note that I've tried opening the surface mesh at the different points to no improvement. > > Any help would be greatly appreciated! > > Best wishes, > Miguel > > <network.png> > <centrelines.png> > > On 30 Sep 2012, at 13:03, Arjan Geers wrote: > >> Dear Miguel, >> >> It seems that the output image of vmtkcenterlinemodeller doesn't resolve all the details of the vascular network. You can improve the resolution of this image by changing the 'dimensions' parameter. Example with default values: >> >> vmtkcenterlinemodeller ifile surface_decimated095_clipped_centerlines.vtp radiusarray Radius dimensions 64 64 64 pipe vmtkmarchingcubes ofile surface_decimated095_clipped_centerlines_tubed.vtp >> >> Since the centerlines lie in the xyplane, you'll probably need less voxels in the zdirection. >> >> Hope this helps, >> >> Arjan >> >> On Sun, Sep 30, 2012 at 11:18 AM, Bernabeu Llinares, Miguel <miguel.bernabeu@...> wrote: >> Dear VMTK users, >> >> I'm using VTMK 1.0.0 to generate a 3D surface mesh from a single 2D image of a complex vascular network. A similar application was previously discussed in the mailing list: >> >> http://sourceforge.net/mailarchive/forum.php?thread_name=6DEB2248592748CCAB2FE24662DF4A05%40orobix.com&forum_name=vmtkusers >> >> I followed Luca's advice of replicating the image to generate a volume. From then, I used a combination of marching cubes and vmtknetworkextraction to obtain the centrelines of the model and its associated maximum inscribed sphere radius. What I would like to do next is to use vmtkcenterlinemodeller and marching cubes to fit tubes around the centrelines to obtain a network of cylindrical section (as opposite to the network of square ducts coming out of the first marching cubes step). Something like: >> >> vmtknetworkextraction ifile surface_decimated095_clipped.vtp ofile surface_decimated095_clipped_centerlines.vtp >> >> vmtkcenterlinemodeller ifile surface_decimated095_clipped_centerlines.vtp radiusarray Radius pipe vmtkmarchingcubes ofile surface_decimated095_clipped_centerlines_tubed.vtp >> >> Unfortunately the result is not what I expected: many vessels collapsed together and the rich topology is mostly lost. Please see the two images attached with the results of the two previous commands. >> >> Any input is very much appreciated! >> >> Best wishes, >> Miguel >> >> >> <centerlines_with_radius.png> >> >> <tubes_around_centerlines.png> >>  >> Dr Miguel O. Bernabeu >> 2020 Science Research Fellow (http://www.2020science.net) >> Centre for Computational Science, University College London >> CoMPLEX, University College London >> >> >>  >> Everyone hates slow websites. So do we. >> Make your web apps faster with AppDynamics >> Download AppDynamics Lite for free today: >> http://ad.doubleclick.net/clk;258768047;13503038;j? >> http://info.appdynamics.com/FreeJavaPerformanceDownload.html >> _______________________________________________ >> vmtkusers mailing list >> vmtkusers@... >> https://lists.sourceforge.net/lists/listinfo/vmtkusers >> >> > >  > Dr Miguel O. Bernabeu > 2020 Science Research Fellow (http://www.2020science.net) > Centre for Computational Science, University College London > CoMPLEX, University College London > >  > Keep yourself connected to Go Parallel: > TUNE You got it built. Now make it sing. Tune shows you how. > http://goparallel.sourceforge.net_______________________________________________ > vmtkusers mailing list > vmtkusers@... > https://lists.sourceforge.net/lists/listinfo/vmtkusers 
From: Luca Antiga <luca.antiga@or...>  20121203 10:02:57

Hi Edwin, you should a look at this first: http://www.vmtk.org/Tutorials/ParentVesselReconstruction/ It's likely that it won't do exactly what you need, but it will get you 90% of the way on this challenging problem. Feel free to get back to us with more questions. Hope this helps Luca PS: you come from the university where Lua (http://www.lua.org) was created. Very cool :) On Nov 30, 2012, at 5:20 PM, edwin@... wrote: > Hello vmtk users, well i'am new in vmtk so i need to isolate an aneurysm > from its parent vessel and i want to know if exist any routine already > implemented to do that. > > Thaks a lot for your help. > > Best Regards, > > Edwin Maldonado Tavara. > Pontificia Universidade Catholica > Rio de Janeiro  Brasil. > > > >  > Keep yourself connected to Go Parallel: > TUNE You got it built. Now make it sing. Tune shows you how. > http://goparallel.sourceforge.net > _______________________________________________ > vmtkusers mailing list > vmtkusers@... > https://lists.sourceforge.net/lists/listinfo/vmtkusers 
From: Luca Antiga <luca.antiga@gm...>  20121203 09:56:46

Hi Nancy, I think I know what it is. In any case, this is how it should work: A) in general vmtk will use ITK to read images, and it will do so unless you manually specify useitk 0 on the vmtkimagereader. The syntax for reading in the standard way is vmtkimagereader ifile E:\VTK\VTK5.8\vtkdata5.8.0\Data\BlueCircle.png pipe vmtkimageviewer ITK will take care of recognizing the format automatically. In this case you can shorten it simply to vmtkimageviewer ifile E:\VTK\VTK5.8\vtkdata5.8.0\Data\BlueCircle.png There's a but: ITK, although it's a better choice for medical image formats, can only read 1 channel png's so if you want to read a 3 channel image you have to use B) B) the alternative is to use VTK to read image files. This is how you do it: vmtkimagereader useitk 0 f png ifile E:\VTK\VTK5.8\vtkdata5.8.0\Data\BlueCircle.png d pipe vmtkimageviewer Note that in the pipes above I haven't used the d option at all: the filename should be complete with the full path (E:\VTK...). This is very likely the issue you were having with your script. Now, the syntax for reading DICOM is the following vmtkimagereader ifile E:\DICOM\SERIES_1\IM0001 pipe vmtkimageviewer where I just made up a path. The path should specify the first file in the DICOM series you're interested in. A clarification with the d option: it's for reading file series (DICOM, png, etc) using the VTK readers. You should use it coupled with the prefix and pattern options for nonDICOM data. For DICOM data, f dicom d E:\DICOM\SERIES_1 suffices, no need of prefix and pattern. However, using the VTK DICOM reader is discouraged in favor of ITK, as shown above. Hope this helps Luca PS: one unrelated suggestion, you can omit the .py at the end of script names (vmtkimagereader ifile ... instead of vmtkimagereader.py ifile ...). On Nov 28, 2012, at 2:26 AM, Nancy wrote: > Hi , > i had installated vmtk and pythonxy ,now i want to take a test,but i met some problems.For example: > 1、 i want to open E:\VTK\VTK5.8\vtkdata5.8.0\Data\BlueCircle.png > <截图1.png> > 、 > i type in cmd : > vmtkimagereader.py f png ifile BlueCircle.png d E:\VTK\VTK5.8\vtkdata5.8.0\Data pipe vmtkimageviewer.py > get result ： > <截图2.png> > > 2、if i try to open dicom picture ,there are also errors like this: > <截图3.png> > <截图4.png> > > Do you know this is why? > how do i do? > > Regards, > > >  > Keep yourself connected to Go Parallel: > INSIGHTS What's next for parallel hardware, programming and related areas? > Interviews and blogs by thought leaders keep you ahead of the curve. > http://goparallel.sourceforge.net_______________________________________________ > vmtkusers mailing list > vmtkusers@... > https://lists.sourceforge.net/lists/listinfo/vmtkusers 
From: Luca Antiga <luca.antiga@gm...>  20121203 09:22:30

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 