Centerline calculation warning (vmtkcenterlineviewer)

Once I import the stl file (the stl file is a vessel that has two bifurcations), vmtk doesn’t generate centerlines for me but it generates this warning message.

Warning: In …\vtkVmtk\ComputationalGeometry\vtkvmtkSteepestDescentLineTracer.cxx, line 240
vtkvmtkSteepestDescentLineTracer (0000029D027E98B0): Degenerate descent detected. Target not reached.

In other stl generates a partial centerline with the same message type but the number inside the parenthesis is different. For example:

000001EFE2DB4AB0
000002D4278FF8D0

Can anyone explain why?

code:

vmtkcenterlines -ifile “C:/Users/…/…/file.stl” -endpoints 1 -ofile “C:/Users/…/…/file_CL.vtp”
*vmtkbranchextractor -ifile C:/Users/…/…/file_CL.vtp" -ofile “C:/Users/…/…/file_CL_split.vtp” -radiusarray MaximumInscribedSphereRadius *
vmtkcenterlineviewer -ifile “C:/Users/…/…/file_CL_split.vtp” -cellarray CenterlineIds --pipe vmtkcenterlineviewer -cellarray TractIds --pipe vmtkcenterlineviewer -cellarray GroupIds --pipe vmtkcenterlineviewer -cellarray Blanking

Warning:

Warning: In …\vtkVmtk\ComputationalGeometry\vtkvmtkSteepestDescentLineTracer.cxx, line 240

vtkvmtkSteepestDescentLineTracer (0000019A2108A180): Degenerate descent detected. Target not reached.

Warning: In …\vtkVmtk\ComputationalGeometry\vtkvmtkSteepestDescentLineTracer.cxx, line 240

vtkvmtkSteepestDescentLineTracer (0000019A2108A180): Degenerate descent detected. Target not reached.

Best I can tell, it is reading the vessel as turning too sharply, or gets too narrow at some point, though I could be incorrect in this.

The different strings in the errors are (as far as I can tell) memory addresses in hexadecimal. Assuming this is the case, it is likely just something that is occuring at different points in the process based on your inputs.

The problem is that the endpoint is not reachable from any of the starting points. It is usually due to too small vessel diameter or the points are not close enough to the centerline (note that the vessel surface can be quite far from its centerline). You can fix the error by moving the start/end point closer to the centerline.

1 Like