Hi Manasi,

You probably already did this, but check if the units of your surface mesh
are indeed pixels. I'm more used to the units being (milli)meters.

If your average curvature is indeed 0.15 mm^-1, the average radius of
curvature would be 6.7 mm. King et al. AJNR 2012 (The Effect of
Intracranial Stent Implantation on the Curvature of the Cerebrovasculature)
report an average pre-stenting radius of curvature of 7.1 mm, which would
then be pretty much in accordance with your results.

Good luck with it,

Arjan

On Tue, Jun 12, 2012 at 10:15 PM, Manasi Ramachandran <
ramachandran.man...@gmail.com> wrote:

> Hi Arjan,
>
> A follow-up question to all the centerline questions that I have been
> having. I calculated curvature values for my centerline and I get an
> average of 0.15 (which I assumed was in 1/Pixel). So I went back to my
> image to look at the resolution which was 1mm = 1.463 pixels (obtained
> value from header). So, then my radius of curvature comes up to 4.56 mm.
> This value is wayyy too small. I cannot possibly have a radius of curvature
> of 4.56 mm. So I wanted to check the assumptions I am making with you. Do
> you see any flaw in my assumptions?
>
> Thank you again for all your support,
> Manasi
>
> On Sat, Jun 9, 2012 at 7:45 PM, Ramachandran, Manasi <
> manasi-ramachand...@uiowa.edu> wrote:
>
>>
>>  ------------------------------
>> *From:* Arjan Geers [ajge...@gmail.com]
>> *Sent:* Friday, June 08, 2012 11:53 AM
>> *To:* Ramachandran, Manasi
>> *Cc:* Luca Antiga; vmtk-users@lists.sourceforge.net
>>
>> *Subject:* Re: [vmtk-users] Problem with VMTKcenterlinegeometry
>>
>>  Hi Manasi,
>>
>>  That's an interesting problem.
>>
>>  Find attached a screenshot of Paraview. To manually select a point, you
>> can either search in Spreadsheet View (upper right panel) or use the point
>> selector (red circle).
>>
>>  Spreadsheet View shows the pointdata of the selected point. One of the
>> data arrays is 'Curvature'. Another one is named 'FrenetTangent', which
>> contains the vector you're looking for.
>>
>>  NB: I suspect it might be a bit tricky to compare centerlines from two
>> different images. To find a correspondence between the two centerlines, you
>> could perhaps use a bifurcation as reference point. Use
>> vmtkcenterlineoffsetattributes to offset the 0 abscissa to the bifurcation
>> origin. You can then plot the curvature of both centerlines as function of
>> the abscissa. The lower right panel in the screenshot shows an example of
>> such a plot for one centerline.
>>
>>  Good luck with it,
>>
>>  Arjan
>>
>> On Tue, Jun 5, 2012 at 10:23 PM, Ramachandran, Manasi <
>> manasi-ramachand...@uiowa.edu> wrote:
>>
>>>  Hi Luca and Arjan,
>>>
>>>
>>>
>>> Thank you for your responses. I tried a couple of things you suggested
>>> and I am still confused. Perhaps, I should explain my problem a little
>>> better.
>>>
>>>
>>>
>>> I have 2 centerlines that I want to compare. These centerlines were
>>> obtained from 2 differents CTs of vessels with a stent and without a stent
>>> (same vessel imaged twice - once with stent and once without stent). I want
>>> to compare how curvatures varies between these 2. Is there a way to pick
>>> points along each centerline manually and look at the curvatures at those
>>> specific points? Also, I want to capture directionality of vessel to see if
>>> the vessel has twisted after stent deployment. So in addition to the
>>> curvature scalar, which vector should I be looking at for the orientation
>>> of the centerline at that picked point?
>>>
>>>
>>>
>>> I hope I am explaining my question a little better. Please let me know
>>> what you think.
>>>
>>> Thank you for help,
>>>
>>> Manasi
>>>
>>>
>>>
>>>
>>>  ------------------------------
>>> *From:* Luca Antiga [luca.ant...@orobix.com]
>>> *Sent:* Friday, May 04, 2012 6:53 AM
>>> *To:* Arjan Geers
>>> *Cc:* Ramachandran, Manasi; vmtk-users@lists.sourceforge.net
>>>
>>> *Subject:* Re: [vmtk-users] Problem with VMTKcenterlinegeometry
>>>
>>>   Hi all,
>>>  Arjan is right, if the common tract is the same, working with abscissas
>>> is the most robust solution. Unfortunately
>>> I don't think there is a solution out of the box for what you want to
>>> do, although there are several scripts and
>>> classes that use the abscissa to split, measure and do all sorts of
>>> operations.
>>>
>>>  For instance, vmtkpointsplitextractor will split centerlines based on
>>> the proximity to a physical point in space, which
>>> is not what you need but it uses the same ingredients.
>>>
>>>  So, instead of Paraview you could also use Python directly, it depends
>>> on how appealing this possibility looks to you
>>> and whether this is a one-shot need for you or not.
>>>
>>>
>>>  To add a bit of answer to Arjan's answer on output formats, you could
>>> use
>>>
>>>  vmtksurfacewriter -ofile foo.dat -celldata 1
>>>
>>>  which, instead of one line per point containing coordinates and point
>>> data arrays, will print one line per cell containing
>>> the cellId and cell data arrays (including curvature, torsion and
>>> tortuosity).
>>>
>>>  Hope this helps
>>>
>>>
>>>  Luca
>>>
>>>
>>>  On May 3, 2012, at 4:18 PM, Arjan Geers wrote:
>>>
>>> Hi Manasi,
>>>
>>>  To answer your second question:
>>>
>>>  Let's assume a vessel with a single bifurcation. Before the
>>> bifurcation, the two centerlines will indeed follow approximately the same
>>> path. In other words, nearby points on CL1 and CL2 should
>>> have approximately the same abscissa. 'Approximately', because the exact
>>> path depends on the sampling of the centerline.
>>>
>>>  To answer your first question:
>>>
>>>  Let's assume the sampling of the two centerlines is exactly the same
>>> (it seems that the standard output of vmtkcenterlines is such). Sort the
>>> points by abscissa in ascending order (for example in Paraview's
>>> Spreadsheet View). You'll see that at first the points on row 2n and 2n+1
>>> are the same (n = 0,1,2,...). Once CL1 and CL2 start to deviate, the points
>>> will be different.
>>>
>>>  But... this approach is pretty ugly. Not knowing your goal I can't be
>>> sure, but I actually doubt the point you'll find is very meaningful
>>> (correct me if I'm wrong :-) ). It's not unlikely that there is a more
>>> appropriate solution readily available in VMTK. To familiarize yourself
>>> with the possibilities, I would recommend you to go through the tutorials
>>> "Computing Centerlines", "Branch Splitting", and "Geometric Analysis".
>>>
>>>  Hope this helps,
>>>
>>>  Arjan
>>>
>>>  On Wed, May 2, 2012 at 11:55 PM, Ramachandran, Manasi <
>>> manasi-ramachand...@uiowa.edu> wrote:
>>>
>>>>  Hi Arjan,
>>>>
>>>>
>>>>
>>>> Thank you so much for your reply. I liked the idea of using centerline
>>>> attributes to use L and D.
>>>>
>>>>
>>>>
>>>> Along the same lines, I was hoping I could also discuss the
>>>> possiblility of locating the same point on 2 different centerlines. For
>>>> example, say I have CL1 which is a straight line and say CL2 which turns to
>>>> 90 deg at some point. I want to locate the point where the CL2 turns and
>>>> find the same point on CL1. Can I do this using D and L also?
>>>>
>>>>
>>>>
>>>> To elaborate a little more, let us assume that both centerlines start
>>>> at the same point (x,y,z). Then, if I calculate L at one point
>>>> (x2,y2,z2) in CL2 and then find the same L and pick the corresponding point
>>>> (x1,y1,z1) on CL1, will (x1,y1,z1) and (x2,y2,z2) be approximately the same
>>>> in physical space?
>>>>
>>>>
>>>>
>>>> Thank you again for your time and support,
>>>>
>>>> Manasi
>>>>
>>>>  ------------------------------
>>>>
>>>>  *From:* Arjan Geers [ajge...@gmail.com]
>>>> *Sent:* Thursday, April 26, 2012 5:46 PM
>>>>
>>>> *To:* Ramachandran, Manasi
>>>> *Cc:* vmtk-users@lists.sourceforge.net
>>>> *Subject:* Re: [vmtk-users] Problem with VMTKcenterlinegeometry
>>>>
>>>>    Hi Manasi,
>>>>
>>>>  If you save the output as *.vtp and open it in Paraview, you'll see
>>>> that both tortuosity and length are cell data. They only have one value per
>>>> cell, i.e. centerline. All other variables are point data, defined at each
>>>> point of the centerline.
>>>>
>>>>  From the looks of it, cell data is not written to *.tec or *.dat. If
>>>> your goal is to obtain either the length or tortuosity of a centerline, I'd
>>>> recommend using *.vtp.
>>>>
>>>>  Alternatively, you could run vmtkcenterlineattributes and obtain the
>>>> length in Tecplot by picking the abscissa value at the outlet (L), assuming
>>>> the abscissa at the inlet is 0. From the start/end coordinates of the
>>>> centerline you could calculate the Euclidean distance between the in- and
>>>> outlet (D). The tortuosity (Chi) would then be Chi = L/D - 1 (Piccinelli
>>>> TMI 2009).
>>>>
>>>>  Hope this helps,
>>>>
>>>>  Arjan
>>>>
>>>>
>>>>
>>>> On Thu, Apr 26, 2012 at 11:46 PM, Ramachandran, Manasi <
>>>> manasi-ramachand...@uiowa.edu> wrote:
>>>>
>>>>>  Hi Arjan,
>>>>>
>>>>>
>>>>>
>>>>> Thank you for the reply. I ran this command:
>>>>>
>>>>>
>>>>>
>>>>> *vmtkcenterlinegeometry -ifile
>>>>> C:/Users/manasi.ramachandran/Documents/30677/stented/Negative20/stented_Series5_Negative20_levelsets_cl_CL.vtp
>>>>> -smoothing 1 -iterations 10 -outputsmoothed 1 -ofile
>>>>> C:/Users/manasi.ramachandran/Documents/30677/stented/Negative20/stented_Series5_Negative20_levelsets_cl_CLGM.tec
>>>>> *
>>>>>
>>>>>
>>>>>
>>>>> I can now get data printed on the tec file. There is no length or
>>>>> Tortuosity information though. Here are first few lines of my tec file:
>>>>>
>>>>>
>>>>>
>>>>> *VARIABLES =
>>>>> X,Y,Z,MaximumInscribedSphereRadius,EdgeArray0,EdgeArray1,EdgePCoordArray,Curvature,Torsion,FrenetTangent0,FrenetTangent1,FrenetTangent2,FrenetNormal0,FrenetNormal1,FrenetNormal2,FrenetBinormal0,FrenetBinormal1,FrenetBinormal2
>>>>> *
>>>>>
>>>>> *ZONE N=805,E=0,F=FEPOINT,ET=TRIANGLE*
>>>>>
>>>>> *375.212860107 127.314727783 -840.130249023 4.43752339446 5774.0
>>>>> 5774.0 0.0 0.0 0.0 -0.794417157975 0.0212929549817 -0.606999167366
>>>>> 0.581361416428 0.315991613505 -0.749778769827 0.1758416407 -0.948523015147
>>>>> -0.263408062013*
>>>>>
>>>>> *375.533172607 127.303581238 -839.876281738 4.56642718039 1163.0
>>>>> 1163.0 0.0 0.106633669157 0.0 -0.794417157975 0.0212929549817
>>>>> -0.606999167366 0.581361416428 0.315991613505 -0.749778769827 0.1758416407
>>>>> -0.948523015147 -0.263408062013*
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>  What am I doing wrong? Why am I not getting Length and Tortuosity to
>>>>> print into the file.
>>>>>
>>>>>
>>>>>
>>>>> Thank you for your help,
>>>>>
>>>>> Manasi
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>  ------------------------------
>>>>> *From:* Arjan Geers [ajge...@gmail.com]
>>>>> *Sent:* Thursday, April 26, 2012 11:44 AM
>>>>> *To:* Ramachandran, Manasi
>>>>> *Cc:* vmtk-users@lists.sourceforge.net
>>>>> *Subject:* Re: [vmtk-users] Problem with VMTKcenterlinegeometry
>>>>>
>>>>>    Hi Manasi,
>>>>>
>>>>>  The not-so-elegant solution to your problem may be here:
>>>>> http://sourceforge.net/mailarchive/message.php?msg_id=28032510
>>>>>
>>>>>  Open the file .\vmtk 0.9.0\lib\vmtk\vmtk\vmtkcenterlinegeometry.py
>>>>> in a text editor and add the following lines near the end of the file:
>>>>>
>>>>>  centerlineGeometry.SetLengthArrayName('Length')
>>>>> centerlineGeometry.SetTortuosityArrayName('Tortuosity')
>>>>>
>>>>>  Run the following in PypePad to get the desired output:
>>>>>
>>>>>  vmtkcenterlinegeometry -ifile cl.vtp -smoothing 1 -iterations 10
>>>>> -outputsmoothed 1 -ofile clgm.tec
>>>>>
>>>>>  Notice that you should leave out of your script "-lengtharray Length"
>>>>>  and "-tortuosityarray Tortuosity",because those array names are now
>>>>> hard-coded. Otherwise, you will receive again the error message: 
>>>>> "vmtkcenterlinegeometry
>>>>> error: unknown option -lengtharray"
>>>>>
>>>>>  Optionally, you could leave out "-curvaturearray Curvature", because
>>>>> the default value is 'Curvature'.* *And you could leave out "-i
>>>>> Centerlines", because you already specify the centerline with "-ifile
>>>>> cl.vtp".
>>>>>
>>>>>  Hope this helps,
>>>>>
>>>>>  Arjan
>>>>>
>>>>> On Thu, Apr 26, 2012 at 3:04 PM, Ramachandran, Manasi <
>>>>> manasi-ramachand...@uiowa.edu> wrote:
>>>>>
>>>>>>  Hi,
>>>>>>
>>>>>>
>>>>>>
>>>>>> I am using VMTK0.9 on windows 7 (64 bit). I have some problem using
>>>>>> vmtkcenterlinegeometry.
>>>>>>
>>>>>>
>>>>>>    I ran this command:
>>>>>> *vmtkcenterlinegeometry -i Centerlines -ifile
>>>>>> stented_Series5_Negative20_levelsets_cl_CL.vtp -lengtharray Length
>>>>>> -curvaturearray Curvature -tortuosityarray Tortuosity -smoothing 1
>>>>>> -iterations 10 -outputsmoothed 1 -ofile
>>>>>> stented_Series5_Negative20_levelsets_cl_CLGM.tec*
>>>>>>
>>>>>> And it will not detect most parameters. Here is the message I get:
>>>>>>
>>>>>> *Creating vmtkCenterlineGeometry instance.**
>>>>>> Automatic piping vmtkcenterlinegeometry**
>>>>>> Parsing options vmtkcenterlinegeometry**
>>>>>> vmtkcenterlinegeometry error: unknown option -lengtharray**
>>>>>> vmtkcenterlinegeometry : compute the local geometry of centerlines in
>>>>>> **
>>>>>>  terms of curvature and torsion**
>>>>>>   Input arguments:**
>>>>>>    -id Id (str,1); default=0: script id**
>>>>>>    -handle Self (self,1): handle to self**
>>>>>>    -disabled Disabled (bool,1); default=0: disable execution and**
>>>>>>      piping**
>>>>>>    -i Centerlines (vtkPolyData,1): the input centerlines**
>>>>>>    -ifile CenterlinesInputFileName (str,1): filename for the default*
>>>>>> *
>>>>>>      Centerlines reader**
>>>>>>    -curvaturearray CurvatureArrayName (str,1); default=Curvature: name
>>>>>> **
>>>>>>      of the array where curvature values have to be stored**
>>>>>>    -torsionarray TorsionArrayName (str,1); default=Torsion: name of**
>>>>>>      the array where torsion values have to be stored**
>>>>>>    -frenettangentarray FrenetTangentArrayName (str,1);**
>>>>>>      default=FrenetTangent: name of the array where tangent vectors of
>>>>>> **
>>>>>>      the Frenet reference system have to be stored**
>>>>>>    -frenetnormalarray FrenetNormalArrayName (str,1);**
>>>>>>      default=FrenetNormal: name of the array where normal vectors of*
>>>>>> *
>>>>>>      the Frenet reference system have to be stored**
>>>>>>    -frenetbinormalarray FrenetBinormalArrayName (str,1);**
>>>>>>      default=FrenetBinormal: name of the array where binormal vectors
>>>>>> **
>>>>>>      of the Frenet reference system have to be stored**
>>>>>>    -smoothing LineSmoothing (bool,1); default=0**
>>>>>>    -outputsmoothed OutputSmoothedLines (bool,1); default=0**
>>>>>>    -iterations NumberOfSmoothingIterations (int,1) >= 0; default=100*
>>>>>> *
>>>>>>    -factor SmoothingFactor (float,1) >= 0.0; default=0.1**
>>>>>>    -ofile CenterlinesOutputFileName (str,1): filename for the default
>>>>>> **
>>>>>>      Centerlines writer**
>>>>>>   Output arguments:**
>>>>>>    -id Id (str,1); default=0: script id**
>>>>>>    -handle Self (self,1): handle to self**
>>>>>>    -o Centerlines (vtkPolyData,1): the output centerlines**
>>>>>>    -curvaturearray CurvatureArrayName (str,1); default=Curvature: name
>>>>>> **
>>>>>>      of the array where curvature values are stored**
>>>>>>    -torsionarray TorsionArrayName (str,1); default=Torsion: name of**
>>>>>>      the array where torsion values are stored.*
>>>>>>
>>>>>> And when I try running the basic command with only -ifile and -ofile,
>>>>>> I get an empty .tec file. I dont know if it has anything to do with 
>>>>>> running
>>>>>> VMTK on windows. I am able to run vmtkcenterlineattributes
>>>>>> successfully. Please let me know if anyone else has had the same problem
>>>>>> and how you tried to fix it.
>>>>>>
>>>>>> Thanks,
>>>>>> Manasi
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> Live Security Virtual Conference
>>>>>> Exclusive live event will cover all the ways today's security and
>>>>>> threat landscape has changed and how IT managers can respond.
>>>>>> Discussions
>>>>>> will include endpoint security, mobile security and the latest in
>>>>>> malware
>>>>>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>>>>>> _______________________________________________
>>>>>> vmtk-users mailing list
>>>>>> vmtk-users@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/vmtk-users
>>>>>>
>>>>>>
>>>>>
>>>>
>>> ------------------------------------------------------------------------------
>>> Live Security Virtual Conference
>>> Exclusive live event will cover all the ways today's security and
>>> threat landscape has changed and how IT managers can respond.
>>> Discussions
>>> will include endpoint security, mobile security and the latest in
>>> malware
>>> threats.
>>> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________
>>> vmtk-users mailing list
>>> vmtk-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/vmtk-users
>>>
>>>
>>>
>>
>
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
vmtk-users mailing list
vmtk-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vmtk-users

Reply via email to