From KitwarePublic
< TubeTK‎ | Events
Jump to navigationJump to search

Danielle & Ilknur:

Adding TubeTK CLIs to Slicer

Instructions for adding TubeTK CLIs to Slicer can be found in: Basically, these steps should be followed for tubetk:

  1. From tubetk, point code to Slicer CLI Repository for build and superbuild. (findpackage(Slicer))
  2. From Slicer, add paths for CLI or python (this can be done from the Slicer GUI)
    1. From JC's info today - CMakeLists to look at for Qt scripted modules (python): ~/Slicer4Trunk/Slicer4/Extensions/Testing/ExtensionTemplate/CMakeLists.txt


  • You should be able to pass fiberbundles as CLI parameters, using the XML tag:
<geometry [type="fiberbundle"]>

For example, see the "Labelmap Seeding" module - it has an output parameter "Output fiber bundle"

  • Instructions to copy CLI's to Slicer directory:

cp <YourTubeTKBuildDirectory>/TubeTK-Build/lib/TubeTK/Plugins/*tube <YourSlicerDirectory>/lib/Slicer3/Plugins

We should specify <YourTubeTKBuildDirectory>/TubeTK-Build/lib/TubeTK/Plugins as the external module directory in Slicer's settings BUT this will cause a crash in Slicer because it tries to read the non-plugin executables as well:

> 4218 [] TRACE org.slicer.base.qtcore.qSlicerCoreIOManager - > registerIO qSlicerVolumesIO > 4478 [] TRACE org.slicer.base.qtcore.qSlicerCoreIOManager - > registerIO qSlicerFiberBundleIO > ASSERT: "!_moduleTitle.isEmpty()" in file > /home/andrey/Slicer/Slicer4/Base/QTCore/qSlicerModuleManager.cxx, line > 141 > Aborted > > Launch /usr/local/andrey/Slicer4-Qt-debug/Slicer-build/bin/SlicerQT-real > returned with error: child process exited abnormally >

In particular, this is because of TextCompareCommand and ImageCompareCommand, which should be changed to build somewhere else.

Additional small TODOs: - hide external ITK/VTK/CTK directories as advanced CMake parameters, or hide them completely so that they can only be specified on the command line

Creating Mantis for TubeTK

  1. Creation of TubeTK project in Kitware's bug tracker:
    1. This is done. It is in
  2. Setup the python-based hooks for linking with the bug tracker so that git commits to tubetk must be tied to mantis issues.
  3. Setup the main git repo to be at This will be used instead of the tubetk git repo on gitorous