TubeTK/Events/2011.07.05
Not finished yet. Danielle & Ilknur:
Instructions for adding TubeTK CLIs to Slicer can be found in: http://www.cmake.org/Wiki/TubeTK/Slicer Basically, these steps should be followed for tubetk:
- From tubetk, point code to Slicer CLI Repository for build and superbuild
- From Slicer, add paths for CLI or python (this can be done from the Slicer GUI)
- From JC's info today - CMakeLists to look at for Qt scripted modules (python): ~/Slicer4Trunk/Slicer4/Extensions/Testing/ExtensionTemplate/CMakeLists.txt
1) Yes, 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"
Note instructions to copy CLI's to Slicer directory: cp <YourTubeTKBuildDirectory>/TubeTK-Build/lib/TubeTK/Plugins/*tube*
<YourSlicerDirectory>/lib/Slicer3/Plugins
We should want to 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