Dear Carlos,
 I'm happy you like vmtk!

As to curvatures, you can compute them this way: 

vmtkcenterlinegeometry -ifile centerlines.vtp -ofile centerlines_geometry.vtp

which will generate data for each centerline such as length, 
curvature, torsion, tortuosity, Frenet tangent, normal and binormal.

Since the computation is done using finite differences and there are a lot
of derivatives involved, I strongly suggest that you compute these quantities
on a smoothed version of your centerlines. To do this easily, you can use
extra options on the vmtkcenterlinegeometry script:

vmtkcenterlinegeometry -ifile centerlines.vtp -ofile centerlines_geometry.vtp 
-smoothing 1

or if you want to tweak the smoothing parameters

vmtkcenterlinegeometry -ifile centerlines.vtp -ofile centerlines_geometry.vtp 
-smoothing 1 -iterations 100 -factor 0.1

play with iterations and factor and see what's changing. Also, you can output 
the 
smoothed version of the centerline to take a look at it directly

vmtkcenterlinegeometry -ifile centerlines.vtp -ofile centerlines_geometry.vtp 
-smoothing 1 -iterations 100 -factor 0.1 -outputsmoothed 1

without this latter option, output centerlines have the same geometry as the 
input, 
but the parameters are computed on the smoothed versions and placed back on
the original centerlines.

One more thing: I also suggest you resample the centerlines before running 
vmtkcenterlinegeometry:

vmtkcenterlineresampling -ifile centerlines.vtp -length 0.1 --pipe 
vmtkcenterlinegeometry -ofile centerlines_geometry.vtp -smoothing 1 

this will avoid numerical errors due to coincident points.

To access the quantities in the output file with an easy format, just use a 
.dat extension on the output file, instead of .vtp

vmtkcenterlineresampling -ifile centerlines.vtp -length 0.1 --pipe 
vmtkcenterlinegeometry -ofile centerlines_geometry.dat -smoothing 1 

you'll get all data in columns (including the radius), one point each row.

For comparing the shape of bones, the two parameters you are looking at 
would be my first candidates. However, it very much depends on the level
of detail you are aiming for. For a "coarse grained" characterization this is
probably good enough.

You could also characterize the shape by defining a template "ideal" bone and 
the a "distortion" field that brings the specific bone to the template, and 
doing
some statistics over that. Or decompose the bone in spherical harmonics and 
evaluating the coefficients: there's quite some literature on, for instance, 
evaluating 
the shape of the hyppocampus or corpus callosum or other brain structures this 
way.
Unfortunately none of this is in vmtk as of now, and the algorithms are not 
trivial
to implement, so this is not something you can do overnight. And maybe you 
don't 
evey need it: I suggest to start simple, as you are doing now.

As for the splitting, I don't consider curvatures (in vmtkbranchextractor). Of 
course
if you have curvatures and you identify, say, curvature peaks (and get the xyz 
coordinates of these peaks) you can then use vmtkpointsplitextractor to split
centerlines at those point and then use vmtkbranchclipper to clip the model 
surface 
(the same way you do for vmtkbranchclipper).

I hope this helps, good luck with your work!


Luca


On Jul 4, 2011, at 6:33 PM, Carlos Sánchez Mendoza wrote:

> Dear VMTKs,
> 
> I am aiming at exploiting this awesome toolkit for shape analysis of
> bone segments. So far I have been able to split complex bony
> structures into simple segments. Also I have been able to obtain
> centerlines for each segment, they look fabulous.
> 
> Before going through all the source code I was wondering if there is
> an easy way to have access to the following:
> 
> -Centerline local curvatures
> -Maximally-inscribed sphere radii along centerlines
> 
> Ultimately I would like to be able to compare the shape of two bone
> segments using a not-too-large set of parameters. Any suggestions? We
> postulate these two listed above.
> 
> Also I was wondering how hard it would be to perform model splitting
> according to changes in these two parameters using your code. What
> parameters are currently considered for the splitiing?
> 
> Thank you so much for your work and advice.
> Best regards,
> 
> Carlos S. Mendoza, Ph.D.
> Biomedical Image Processing Group
> Universidad de Sevilla, Spain
> 
> ------------------------------------------------------------------------------
> All of the data generated in your IT infrastructure is seriously valuable.
> Why? It contains a definitive record of application performance, security 
> threats, fraudulent activity, and more. Splunk takes this data and makes 
> sense of it. IT sense. And common sense.
> http://p.sf.net/sfu/splunk-d2d-c2
> _______________________________________________
> vmtk-users mailing list
> vmtk-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/vmtk-users


------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
vmtk-users mailing list
vmtk-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vmtk-users

Reply via email to