2012 Summer Project Week Breakout Session:SlicerExtensions
After installing an extension, the associated modules will be presented to the user just like the built-in ones
- Tour of the updated documentation
- Step-by-step: Extension bundling one CLI module
Step-by-step: Extension bundling one CLI module
- Up-to-date Slicer build - This step by step tutorial has been done using Slicer r20398
(These instructions are for linux/mac environments - see windows notes in the remarks section below).
- 1. Create base structure using ModuleWizard
./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/CLIExtensionTemplate --target ../MyFooExtension MyFooExtension
- 2. Check that expected files have been created
cd .. cd MyFooExtension/ ls cd .. cd MyFooExtension-build
- 3. Configure
cmake -DSlicer_DIR:PATH=/home/jchris/Projects/Slicer4-Superbuild-Debug/Slicer-build/ ../MyFooExtension
- 4. Build
- 5. Hack, hack, hack and rebuild
- 6. Read "How to obtain an API key"
- 7. Re-configure passing
cd MyFooExtension-build cmake -DMIDAS_PACKAGE_EMAIL:STRINGemail@example.com -DMIDAS_PACKAGE_API_KEY:STRING=<YOUR_API_KEY> .
- 8. Publish
- People seems to like the concept :)
- Add institution to register box
- No facebook / Linkedin instead
- Search box
- "I use it" button ?
- Associated publications / Google scholar ?
- Label the newly installed modules .. or show a popup ?
- Remember Jim about the doc stuff: Migrate 1 module to extension to N ones
- Add .gitignore to extension ... ?
- Make is clear that API key is sensitive
- Category for work in progress extension ?
- Add stats/notes/indication to indicate active/inactive support of extension (e.g. 'last commit date', 'Dashboard link', '30-day development activity' (similar to GitHub's tracking))
If you do not have another python installation on your machine, you can use the python that is build with slicer to run the module creation script. The invocation from cmd prompt looks something like this:
d:\pieper\s4\Slicer>..\super\python-build\PCbuild\amd64\python.exe .\Utilities\Scripts\ModuleWizard.py --template ./Extensions/Testing/LoadableExtensionTemplate --target ./myloadable myloadable
From there you can use the regular windows procedures like cmake-gui and visual studio to build the extension.