Hi Laura,
 yes, the numbering you laid out is correct.

Curvature is indeed the inverse of the radius of curvature of the osculating circle at each point on the curve. Of course once you average over an entire tract and then average the tracts of a branch that interpretation loses its locality, although it might still be useful for visualizing things in your head.

BTW, remember to compute curvature by activating smoothing (-smoothing 1), in order to suppress noise while taking derivatives.



On 12/ago/2013, at 19:40, Laura Ellwein <laura.ellwein@gmail.com> wrote:

nHi Luca,

This does help, I think I also had to go back and reread what exactly a "tract" is. So it looks like what I want is the vmtkbranchgeometry output to get curvature for that branch. It appears that for my coronary bifurcations, the groupId for the parent vessel is 0, the daughter is 2, and the side branch is 3. Then the birfurcation group is probably 1, correct?
And it is the inverse of "radius of curvature", correct?

Thanks for your help.

- Laura

On Sun, Aug 11, 2013 at 4:22 PM, Luca Antiga <luca.antiga@orobix.com> wrote:
Hello Laura,
 what happens in vmtkbranchgeometry regarding curvature is the following:
- the curvature of each centerline tract is computed (as a continuous quantity along the line segment - same as for vmtkcenterlinegeometry)
- the curvature of each tract is averaged over the tract
- the average curvature for all tracts belonging to the same group id is averaged to produce the branch curvature value you read in output
I hope this clarifies things, feel free to ask for more details.
Best regards


On Aug 8, 2013, at 6:05 PM, Laura Ellwein wrote:

Hi Luca,

I have a question about the curvature calculation that was brought up by another user a few months ago, so I am appending his email.

I understand that using 'vmtkcenterlinegeometry' gives a curvature value calculated for each centerline point, and I believe 'vmtkbranchgeometry' gives an average for each branch. I am looking for the latter for a population of coronary bifurcations and I want to make sure I am using the scripts correctly. In theory, should the curvature values using 'vmtkcenterlinegeometry' average to equal those output with 'vmtkbranchgeometry' assuming I split the branches in the right place? I can very clearly parse out the 'side branch' because of the break in the XYZ coordinates so I compared the average curvature output from the branch script and what I computed from the centerline script... they were not at all the same. Can you clarify these scripts a bit more and/or point me to a reference if that is easier?

Thank you,
Laura Ellwein

- Laura

On Wed, May 8, 2013 at 4:37 AM, qiang zeng <zengqiang2006@yahoo.com.cn> wrote:
Dear Luca,
Yeah, you are right when i am checking for what you said.
thank you.

--- 13年5月8日,周三, Luca Antiga <luca.antiga@gmail.com> 写道:

发件人: Luca Antiga <luca.antiga@gmail.com>
主题: Re: [vmtk-users] bifurcation plane
收件人: "qiang zeng" <zengqiang2006@yahoo.com.cn>
抄送: vmtk-users@lists.sourceforge.net
日期: 2013年5月8日,周三,下午4:02

Hi YiQiang,
 I don't think this is what happens: you only get one value per GroupId with the vmtkbranchgeometry script,
while with vmtkcenterlinegeometry you get a curvature value for each point on each centerline.
vmtkbranchgeometry looks at all centerlines tracts in a group and averages their curvature value.


On May 8, 2013, at 4:48 AM, qiang zeng wrote:

bifurcation plane is work well.
another problem, when I caculate the curvature using the following script "vmtkcenterlinegeometry -ifile foo_cl.vtp -smoothing 1 -ofile foo_clgm.vtp", I just get the one curvature value for every GroupIds. but in generally, the curve for every GroupIds has different points (point1, point2,...) and every point in curve has a curvature value respectively.
So how to understand this approach considering one curvature value as curvature value of entire GroupIds?
--- 13年5月7日,周二, Luca Antiga <luca.antiga@gmail.com> 写道:

发件人: Luca Antiga <luca.antiga@gmail.com>
主题: Re: [vmtk-users] bifurcation plane
收件人: "qiang zeng" <zengqiang2006@yahoo.com.cn>
抄送: vmtk-users@lists.sourceforge.net
日期: 2013年5月7日,周二,下午2:40

Hi YiQiang,
 point1 and point2 are any two points on the plane away from the origin.
You could do
point1 = origin + upnormal
point2 = origin + normal x upnormal
where x indicates the cross product.


On 07/mag/2013, at 07:39, qiang zeng <zengqiang2006@yahoo.com.cn> wrote:

Usig the command line:
vmtkbranchextractor -ifile foo_cl.vtp -radiusarray@ MaximumInscribedSphereRadius --pipe
vmtkbifurcationreferencesystems -ofile foo_rs.dat
I get the one point and two vectors, then I fill the coordinate into the Paraview (point -> Origin, Normal -> Point1 and Upnormal -> Point2) ?

--- 13年5月6日,周一, Luca Antiga <luca.antiga@gmail.com> 写道:

发件人: Luca Antiga <luca.antiga@gmail.com>
主题: Re: [vmtk-users] bifurcation plane
收件人: "qiang zeng" <zengqiang2006@yahoo.com.cn>
抄送: vmtk-users@lists.sourceforge.net
日期: 2013年5月6日,周一,下午8:54

Hi YiQiang,
 the figure you attached was created in Paraview using the origin and normal of the plane
as computed with vmtk (you can output them in plain text using a .dat file format) to specify the plane 
in Paraview (Sources->Plane). It works well if the number of figures you create is small.

If you need to create the visualization automatically you'll need to write VTK code and use the
vtkPlaneSource class to create the plane.



On May 6, 2013, at 9:40 AM, qiang zeng wrote:

Hi all,
When I am using VMTK, I want to display the bifurcation plane (the view is like aneurysm bifurcation plane, as an attachment "bifurcation plane.jpg").
Does anyone know a way to do this?
<bifurcation plane.jpg>------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
vmtk-users mailing list