Vmtk Module - Centerline curve/properties Breaks

When creating a vessel centerline, I can create a model, but when I check to have the curve or properties output, the program hangs and dies.

I am using 3D Slicer 4.13.0-2021-09-16

The Network Curve features work flawlessly. I’m a little vague on the differences between the Network output vs. the Tree output . What is the difference?

Have you created endpoints using the ‘auto-detect’ feature ?

I do see constant crashes when using this feature, both when creating centerline models and centerline curves. You could either adjust the positions of your endpoints or place them all manually. In the latter placement mode, no crashes were seen, even with multiple endpoints.

It does not crash with Network extraction as this does not require any endpoints.

The crash in a debugger is quite weird, no backtrace could be obtained with Slicer and VMTK built with RelWithDebInfo configuration option, just a stdout :

"Segmentation" Reader has successfully read the file "/home/user/tmp/Slicer/test6/Segmentation.seg.nrrd" "[0.06s]"
Switch to module:  "ExtractCenterline"
Found CommandLine Module, target is  /home/user/programs/Slicer/bin/../lib/Slicer-4.13/cli-modules/Decimation
ModuleType: CommandLineModule
Decimation command line: 

/home/user/programs/Slicer/bin/../lib/Slicer-4.13/cli-modules/Decimation --reductionFactor 0.341412 --method FastQuadric --deleteBoundary --aggressiveness 4 /tmp/Slicer/BEBGA_vtkMRMLModelNodeE.obj /tmp/Slicer/BEBGA_vtkMRMLModelNodeF.obj 

Process 14160 stopped and restarted: thread 1 received signal: SIGCHLD
Decimation standard output:

Input: 7592 vertices,15180 triangles (target 9997)
Output: 5000 vertices,9996 triangles (0.341502 reduction)

Decimation completed without errors

ReadDataInternal (vtkMRMLModelStorageNode1): File /tmp/Slicer/BEBGA_vtkMRMLModelNodeF.obj does not contain coordinate system information. Assuming LPS.


Found CommandLine Module, target is  /home/user/programs/Slicer/bin/../lib/Slicer-4.13/cli-modules/Decimation
ModuleType: CommandLineModule
Decimation command line: 

/home/user/programs/Slicer/bin/../lib/Slicer-4.13/cli-modules/Decimation --reductionFactor 0.341412 --method FastQuadric --deleteBoundary --aggressiveness 4 /tmp/Slicer/BEBGA_vtkMRMLModelNodeG.obj /tmp/Slicer/BEBGA_vtkMRMLModelNodeH.obj 

Process 14160 stopped and restarted: thread 1 received signal: SIGCHLD
Decimation standard output:

Input: 7592 vertices,15180 triangles (target 9997)
Output: 5000 vertices,9996 triangles (0.341502 reduction)

Decimation completed without errors

ReadDataInternal (vtkMRMLModelStorageNode2): File /tmp/Slicer/BEBGA_vtkMRMLModelNodeH.obj does not contain coordinate system information. Assuming LPS.


Warning: In /home/arc/src/SlicerExtension-VMTK-SuperBuild9/VMTK/vtkVmtk/ComputationalGeometry/vtkvmtkSteepestDescentLineTracer.cxx, line 213
vtkvmtkSteepestDescentLineTracer (0x55555d9610a0): Can't find a steepest descent edge. Target not reached.


Error while constructing cell map: Invalid cell size for lines.


error: libstdc++.so.6 {0x00181389}: DIE has DW_AT_ranges(0x119c8) attribute, but range extraction failed (missing or invalid range list table), please file a bug and attach the file at the start of this error message
Fatal Python error: init_import_site: Failed to import the site module
Python runtime state: initialized
Traceback (most recent call last):
  File "/home/user/programs/Slicer/bin/../lib/Python/lib/python3.6/site.py", line 553, in <module>
    main()
  File "/home/user/programs/Slicer/bin/../lib/Python/lib/python3.6/site.py", line 539, in main
    known_paths = addusersitepackages(known_paths)
  File "/home/user/programs/Slicer/bin/../lib/Python/lib/python3.6/site.py", line 282, in addusersitepackages
    user_site = getusersitepackages()
  File "/home/user/programs/Slicer/bin/../lib/Python/lib/python3.6/site.py", line 258, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/home/user/programs/Slicer/bin/../lib/Python/lib/python3.6/site.py", line 248, in getuserbase
    USER_BASE = get_config_var('userbase')
  File "/home/user/programs/Slicer/lib/Python/lib/python3.6/sysconfig.py", line 601, in get_config_var
    return get_config_vars().get(name)
  File "/home/user/programs/Slicer/lib/Python/lib/python3.6/sysconfig.py", line 550, in get_config_vars
    _init_posix(_CONFIG_VARS)
  File "/home/user/programs/Slicer/lib/Python/lib/python3.6/sysconfig.py", line 421, in _init_posix
    _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0)
ModuleNotFoundError: No module named '_sysconfigdata__linux_x86_64-linux-gnu'

At least one other crash context has been seen.

This centerline extraction is very, very complex, you’ll agree if you just quickly overview the source code. We may adapt our workflow to do what’s working as is, and much of it is awesome. Corner cases will have to be dealt with per-case.

I would like to know it also, core developers may jump in here.

Incidentally, does the model in your image originate from a human ? It’s hard to completely map it to known anatomy. :wink:

Have you created endpoints using the ‘auto-detect’ feature ?

No, these were set manually

It does not crash with Network extraction as this does not require any endpoints.

Why does it not require any endpoints?

Incidentally, does the model in your image originate from a human?

This is a typical neuro model.

Additionally, even with Network model/curve/properties, I get memory leak errors when I close 3D Slicer:

image

image

image