For the latest Slicer developers documentation, visit the Nightly page.
To learn what is an extension, see here
- Terminal command - Block like the one below indicates that the command should be executed in a terminal.
$ echo "This is a command"
Step-by-step: How to create, publish and distribute an extension ?
(Optionally) Present your extension(s) on the slicer developers list to check if other developer are working on a similar project, to seek for advice or to reach out for potential collaborator.
Build Slicer application in
Use the Wizard to create an extension bundling one Command line module:
$ cd Slicer-SuperBuild/Slicer-build $ bin/slicerExtensionWizard --create Slicer-MyExtension --addModule cli:MyCLI ~
To learn more about:
Save the source code of your extension by publishing it on Github
$ bin/slicerExtensionWizard --publish ~/Slicer-MyExtension/
Implement your extension.
Hack, hack, hack :). Make sure to commit often using meaningful commit message.
Create an account on the extension server and obtain an API Key. You will then use your midas login and api key to substitute
<YOUR-MIDAS-APIKEY>in the examples.
If not already done, go to NA-MIC community and click on
To: firstname.lastname@example.org Subject: Extension NAME-OF-YOUR-EXTENSION - Asking permission to write to the Experimental folder Hi, This extension will allow to [...] Could you grant user YourUserName write access to the Experimental folder ?
Assuming the source code of your extension is located in folder
MyExtension, you could upload your extension doing:
Linux or MacOSX (Makefile) Windows (Visual Studio)
$ mkdir MyExtension-build $ cd MyExtension-build $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DMIDAS_PACKAGE_EMAIL:STRING=<YOUR-MIDAS-LOGIN> -DMIDAS_PACKAGE_API_KEY:STRING=<YOUR-MIDAS-APIKEY> -DSlicer_DIR:PATH=/path/to/Slicer-Superbuild/Slicer-build ../MyExtension $ make ExperimentalUpload
- Start CMake, select source and build directory
MIDAS_PACKAGE_API_KEYentries to the cache
- Click on
Configure, select Generator, then click on
Releaseconfiguration (2), select
Check submission results on the dashboard: http://slicer.cdash.org/index.php?project=Slicer4#Extensions-Experimental
Check that the extension can be installed by starting the Slicer executable from
/path/to/Slicer-Superbuild/Slicer-buildand installing your extension as explained here.
If you consider your extension is ready for distribution, contribute it to the ExtensionsIndex:
$ bin/slicerExtensionWizard --contribute ~/Slicer-MyExtension/