[vmtk-users] centerline extraction problem

891 views
Skip to first unread message

Xiaoli Zhang

unread,
Aug 6, 2013, 9:23:07 PM8/6/13
to vmtk-...@lists.sourceforge.net
I am new to vmtk and I am trying to extract centerline from CT image of the aorta. I prepared the surface in Amira and save as stl (ASCII) format. Then I ran vmtkcenterlines script and place a source point at inlet and a target point at outlet. vmtk then show "computing centerline" and staying for a very long time (>12 hours). The surface I am working on is a small file (stl size <1MB). 

Anyone can help please? I can send the screenshot of the surface and stl file if needed. Thanks.

Xiaoli

Yong He

unread,
Aug 6, 2013, 10:06:13 PM8/6/13
to Xiaoli Zhang, vmtk-...@lists.sourceforge.net
Xiaoli,

If you send the STL file to me, I can try.

Yong


From: Xiaoli Zhang <zhan...@gmail.com>
To: vmtk-...@lists.sourceforge.net
Sent: Tuesday, August 6, 2013 9:23 PM
Subject: [vmtk-users] centerline extraction problem

I am new to vmtk and I am trying to extract centerline from CT image of the aorta. I prepared the surface in Amira and save as stl (ASCII) format. Then I ran vmtkcenterlines script and place a source point at inlet and a target point at outlet. vmtk then show "computing centerline" and staying for a very long time (>12 hours). The surface I am working on is a small file (stl size <1MB). 

Anyone can help please? I can send the screenshot of the surface and stl file if needed. Thanks.

Xiaoli

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
vmtk-users mailing list
vmtk-...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vmtk-users


Xiaoli Zhang

unread,
Aug 8, 2013, 10:59:57 AM8/8/13
to vmtk-...@lists.sourceforge.net
Some more information about the problem: vmtkcenterlines sometimes throw out following warning during the process.

Generic Warning: In /projects/mice/xzhang/VTK/src/Common/vtkMath.cxx, Line 544
Unable to factor linear system

Warning: In /projects/mice/xzhang/VTK/src/VTK/Graphics/vtkDelaunay3D.cxx, Line 487
vtkDelaunay3D (0x59af7e0): 1 degenerate triangles encountered, mesh quality suspect

Appreciate if anyone can suggest some solutions. Thanks.

Xiaoli Zhang

unread,
Aug 8, 2013, 1:50:12 PM8/8/13
to vmtk-...@lists.sourceforge.net
It seems someone has encountered the same problem before: http://www.mail-archive.com/vmtk-...@lists.sourceforge.net/msg00283.html

I followed Luca's suggestions apply smoothing (tried passband of 0.01 and 0.1) and add a subdivision step before vmtkcenterlines. Still no luck, vmtkcenterlines script will never return. Any suggestions?

On Tue, Aug 6, 2013 at 9:23 PM, Xiaoli Zhang <zhan...@gmail.com> wrote:

Luca Antiga

unread,
Aug 11, 2013, 4:24:15 PM8/11/13
to Xiaoli Zhang, vmtk-...@lists.sourceforge.net
Hi Xiaoli, 
 there must be a Voronoi diagram degeneracy somewhere. Feel free to post a screenshot of the model, I can try to point you to the candidate spots.
Best,

Luca


Xiaoli Zhang

unread,
Aug 12, 2013, 11:09:23 AM8/12/13
to Luca Antiga, vmtk-...@lists.sourceforge.net
Hi Luca,

Attached is the screenshots of the surface for centerline extraction from two different views. I have tried not to include aortic arch, but it didn't work either. Any suggestions will be appreciated.

Thanks,
Xiaoli
C9N3_surface_centerline.jpg

Luca Antiga

unread,
Aug 15, 2013, 5:09:35 PM8/15/13
to Xiaoli Zhang, vmtk-...@lists.sourceforge.net
Hi, I see that there is a jagged line on the surface indicating that the surface is apparently not orientable, so normals flip where you see the dark line (since the shader interpolates normals). You can verify this in Paraview by applying the Glyph filter to the normals.

This would explain dificulties with the centerline algorithm, since normals are used when extracting the inner Delaunay diagram. 

Can you send the surface over? I can try to understand what's causing normals to flip.

Thanks

Luca
<C9N3_surface_centerline.jpg>

Luca Antiga

unread,
Aug 16, 2013, 7:59:06 AM8/16/13
to Xiaoli Zhang, vmtk-...@lists.sourceforge.net
Hi Xiaoli,
 I took a look at your surface. It's not immediately obvious, but there is a whole extra portion of surface inside of it (see screenshot taken with some translucency). This causes the algorithm to basically not work.
I'm not sure how you got to this point, but I suggest you try to re-segment the surface making sure you obtain a single compact 3D model.
Best,

Luca


On Aug 16, 2013, at 3:55 AM, Xiaoli Zhang wrote:

Hi Luca,

Attached is the surface file I am working on. The levelset segmentation wasn't working very well on the outer curvature of the arch, but that shouldn't be the problem. Even if I am only working on descending aorta, it still won't work.

Thanks,
Xiaoli
<C9N3.ls.mc.sm.vtp>

Xiaoli Zhang

unread,
Aug 21, 2013, 12:39:50 PM8/21/13
to Luca Antiga, vmtk-...@lists.sourceforge.net
Hi Luca,

Thanks for pointing this out. Indeed this is the problem (at least it worked on the problematic dataset). It turned out there is some region inside the lumen not segmented, and that caused the problem. A quick question through: does vmtkcenterlines only work on surface created by vmtklevelsetsegmentation? Will it work on a manually segmented surface from Amira?

Just FYI, following are my steps for segmentation and centerline creation:
1. segment vessel wall from CT image (different from typical cast CT, only vessel wall has hyperintensity)
2. fill the lumen to include both vessel wall segmented above and its lumen
3. use vmtklevelsetsegmentation to generate deformable model from step 2's label field (not sure if it is necessary)
4. create centerline

Xiaoli


Screen Shot 2013-08-16 at 1.55.20 PM.png

Luca Antiga

unread,
Aug 27, 2013, 4:12:12 AM8/27/13
to Xiaoli Zhang, vmtk-...@lists.sourceforge.net
Hi Xiaoli,
 things got busy and this delayed my vmtk list time.

vmtkcenterlines works on any surface obtained in any way, only it needs to be orientable (i.e. you must be able to define outwards normals, unlike, say, a Klein bottle, https://en.wikipedia.org/wiki/Klein_bottle - this can also happen due to small-scale degeneracies) and manifold (i.e. each triangle edge must be share by at most two triangles).

In your case it was neither due to the segmentation artifacts inside the vessel.

So, yes, you can export an STL file from Amira, read it with vmtk and generate centerlines.


Luca


On Aug 21, 2013, at 6:39 PM, Xiaoli Zhang wrote:

Hi Luca,

Thanks for pointing this out. Indeed this is the problem (at least it worked on the problematic dataset). It turned out there is some region inside the lumen not segmented, and that caused the problem. A quick question through: does vmtkcenterlines only work on surface created by vmtklevelsetsegmentation? Will it work on a manually segmented surface from Amira?

Just FYI, following are my steps for segmentation and centerline creation:
1. segment vessel wall from CT image (different from typical cast CT, only vessel wall has hyperintensity)
2. fill the lumen to include both vessel wall segmented above and its lumen
3. use vmtklevelsetsegmentation to generate deformable model from step 2's label field (not sure if it is necessary)
4. create centerline

Xiaoli


On Fri, Aug 16, 2013 at 7:59 AM, Luca Antiga <luca....@orobix.com> wrote:
Hi Xiaoli,
 I took a look at your surface. It's not immediately obvious, but there is a whole extra portion of surface inside of it (see screenshot taken with some translucency). This causes the algorithm to basically not work.
I'm not sure how you got to this point, but I suggest you try to re-segment the surface making sure you obtain a single compact 3D model.
Best,

Luca

<Screen Shot 2013-08-16 at 1.55.20 PM.png>
Reply all
Reply to author
Forward
0 new messages