Difference between revisions of "Modules:ExtensionsManagementWizard-Documentation-3.6"

From Slicer Wiki
Jump to: navigation, search
 
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Documentation-3.6|Return to Slicer 3.6 Documentation]]
 
[[Documentation-3.6|Return to Slicer 3.6 Documentation]]
 
[[Announcements:Slicer3.6#Highlights|Gallery of New Features]]
 
  
 
__NOTOC__
 
__NOTOC__
Line 14: Line 12:
  
 
'''Note:''' We are currently using NITRC as a repository for contributed extensions. As a general rule, we do not test them ourselves, it is the downloaders' job to ensure that they do what they want them to do.  
 
'''Note:''' We are currently using NITRC as a repository for contributed extensions. As a general rule, we do not test them ourselves, it is the downloaders' job to ensure that they do what they want them to do.  
 
+
[[Image:Slicer36-SlicerOnNITRC.png | thumb | 350 px | left ]]
  
  
Line 26: Line 24:
 
To add extension modules to an installed binary of slicer:
 
To add extension modules to an installed binary of slicer:
  
* Use the View->Extension Manager menu option
+
* Use the View->Extension Manager menu option:
 +
[[Image:Slicer36-ExtensionsViewMenu.png]]
 +
 
 +
or select the Extension Manager shortcut in the toolbar:
 +
[[Image:Slicer36-ExtensionsIcon.png]]
 +
 
 +
* The dialog will open initialized with the URL to the extensions that have been compiled to match your binary of slicer.
 +
 
 +
[[Image:Slicer36-Extensions1.png | thumb | 350 px | center]]
  
* The dialog will be initialized with the URL to the extensions that have been compiled to match your binary of slicer.
 
 
* Note installing extensions from a different repository URL is likely to be unstable due to platform and software version differences.
 
* Note installing extensions from a different repository URL is likely to be unstable due to platform and software version differences.
 
* You can select a local install directory for your downloaded extensions (be sure to choose a directory with enough free space).  
 
* You can select a local install directory for your downloaded extensions (be sure to choose a directory with enough free space).  
 
* Select the extensions you wish to install and click to download them. Installed extensions will be available when you restart slicer.
 
* Select the extensions you wish to install and click to download them. Installed extensions will be available when you restart slicer.
* To turn modules on or off, you can use the Module Settings page of the View->Application Settings dialog.
+
* To turn modules on or off, you can use the Module Settings page of the View->Application Settings dialog:
  
== Usage ==
+
[[Image:Slicer36-ModulesManagement1.png]]
  
===Use Cases, Examples===
+
[[Image:Slicer36-ModulesManagement2.png |thumb | 350 px | center]]
  
This module is especially appropriate for these use cases:
 
  
* Use Case 1:
 
* Use Case 2:
 
  
Examples of the module in use:
+
===Usability issues===
  
* Example 1
+
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.
* Example 2
 
 
 
===Tutorials===
 
 
 
Links to tutorials explaining how to use this module:
 
 
 
* Tutorial 1
 
** Data Set 1
 
 
 
===Quick Tour of Features and Use===
 
 
 
A list panels in the interface, their features, what they mean, and how to use them. For instance:
 
 
 
{|
 
|
 
* '''Input panel:'''
 
** '''First input'''
 
** '''Second input'''
 
* '''Parameters panel:'''
 
** '''First parameter'''
 
** '''Second parameter'''
 
* '''Output panel:'''
 
** '''First output'''
 
** '''Second output'''
 
* '''Viewing panel:'''
 
|[[Image:screenshotBlankNotOptional.png|thumb|280px|User Interface]]
 
|}
 
 
 
== Development ==
 
 
 
===Notes from the Developer(s)===
 
  
Algorithms used, library classes depended upon, use cases, etc.
+
== FOR DEVELOPERS ==
  
===Dependencies===
+
Extensions must follow the appropriate architecture and must meet minimum documentation requirements for them to be made available to end users.  See [[Slicer3:Loadable_Modules]] for an example of how to make GUI and GUI-less Loadable Modules.  Command Line and Scripted Modules will also work with this framework.
  
Other modules or packages that are required for this module's use.
+
You can choose the version of your code that you want to make available to end users by having the Subversion repository URL in the s3ext script point to either the trunk of your code base or to a stable branch.
  
===Tests===
+
To enable your Command Line, Scripted, or Loadable module, add an "s3ext" script to the /Slicer3/Extensions directory of the source repository:
  
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:
+
PythonSampleScriptedModule.s3ext:
 +
<pre>
 +
#
 +
# first token of each non-comment line is the keyword and the rest of the line
 +
# (including spaces) is the value.
 +
# - the value can be blank
 +
#
  
* MyModuleTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk MyModuleTest1.cxx]
+
# scm is source code manager (i.e. svn)
* MyModuleTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk MyModuleTest2.cxx]
+
scm      svn
 +
svnpath  https://www.nitrc.org/svn/slicer3examples/trunk/Slicer3ExampleModules/Scripted/PythonSampleScriptedModule
 +
svnusername slicerbot
 +
svnpassword slicer
  
===Known bugs===
+
# list dependencies
 +
# - these should be names of other modules that have .s3ext files
 +
# - the dependencies will be built first
 +
depends ScriptedModule
  
Links to known bugs in the Slicer3 bug tracker
+
# homepage
 +
homepage  http://www.slicer.org
  
* [http://www.na-mic.org/Bug/view.php?id=000 Bug 000: description]
+
# match category in the xml description of the module (where it shows up in Modules menu)
 +
category  Developer Tools
  
 +
# give people an idea what to expect from this code
 +
# - is it just a test or something you stand beind?
 +
status    Beta
  
===Usability issues===
+
# One line description of what the module does
 
+
description This is an example of an extension module written in python
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.
+
</pre>
  
 
===Source code & documentation===
 
===Source code & documentation===
 
Links to the module's source code:
 
 
Source code:
 
*[http://viewvc.slicer.org/viewcvs.cgi/trunk file.cxx ]
 
*[http://viewvc.slicer.org/viewcvs.cgi/trunk file.h ]
 
 
Doxygen documentation:
 
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classes.html class1]
 
  
 
== More Information ==  
 
== More Information ==  
  
 
===Acknowledgment===
 
===Acknowledgment===
Include funding and other support here
+
This work was funded in part by collaborations between [http://www.na-mic.org/Wiki/index.php/NA-MIC_and_NITRC NA-MIC and NITRC.]

Latest revision as of 00:29, 10 May 2010

Home < Modules:ExtensionsManagementWizard-Documentation-3.6

Return to Slicer 3.6 Documentation


Slicer Extensions

General Information

Slicer's Extensions Management Wizard is an interface to additional modules that can be discovered, loaded or unloaded from Slicer. This interface can be used to add functionality to Slicer, or to uninstall modules you no longer need.

  • This mechanism allows contributors and software developers to post their own Slicer extensions and have them compiled against the "official" versions of Slicer.
  • Users can browse these contributed extensions and install them on their own versions of Slicer.

Note: We are currently using NITRC as a repository for contributed extensions. As a general rule, we do not test them ourselves, it is the downloaders' job to ensure that they do what they want them to do.

Slicer36-SlicerOnNITRC.png


Authors, Collaborators & Contact

  • Author1: Affiliation & logo, if desired
  • Contributor1: Affiliation & logo, if desired
  • Contributor2: Affiliation & logo, if desired
  • Contact: name, email

Module Description

To add extension modules to an installed binary of slicer:

  • Use the View->Extension Manager menu option:

Slicer36-ExtensionsViewMenu.png

or select the Extension Manager shortcut in the toolbar: Slicer36-ExtensionsIcon.png

  • The dialog will open initialized with the URL to the extensions that have been compiled to match your binary of slicer.
Slicer36-Extensions1.png
  • Note installing extensions from a different repository URL is likely to be unstable due to platform and software version differences.
  • You can select a local install directory for your downloaded extensions (be sure to choose a directory with enough free space).
  • Select the extensions you wish to install and click to download them. Installed extensions will be available when you restart slicer.
  • To turn modules on or off, you can use the Module Settings page of the View->Application Settings dialog:

Slicer36-ModulesManagement1.png

Slicer36-ModulesManagement2.png


Usability issues

Follow this link to the Slicer3 bug tracker. Please select the usability issue category when browsing or contributing.

FOR DEVELOPERS

Extensions must follow the appropriate architecture and must meet minimum documentation requirements for them to be made available to end users. See Slicer3:Loadable_Modules for an example of how to make GUI and GUI-less Loadable Modules. Command Line and Scripted Modules will also work with this framework.

You can choose the version of your code that you want to make available to end users by having the Subversion repository URL in the s3ext script point to either the trunk of your code base or to a stable branch.

To enable your Command Line, Scripted, or Loadable module, add an "s3ext" script to the /Slicer3/Extensions directory of the source repository:

PythonSampleScriptedModule.s3ext:

#
# first token of each non-comment line is the keyword and the rest of the line 
# (including spaces) is the value.
# - the value can be blank
#

# scm is source code manager (i.e. svn)
scm       svn
svnpath   https://www.nitrc.org/svn/slicer3examples/trunk/Slicer3ExampleModules/Scripted/PythonSampleScriptedModule
svnusername slicerbot
svnpassword slicer

# list dependencies 
# - these should be names of other modules that have .s3ext files 
# - the dependencies will be built first
depends ScriptedModule

# homepage
homepage  http://www.slicer.org

# match category in the xml description of the module (where it shows up in Modules menu)
category  Developer Tools

# give people an idea what to expect from this code 
# - is it just a test or something you stand beind?
status    Beta

# One line description of what the module does
description This is an example of an extension module written in python

Source code & documentation

More Information

Acknowledgment

This work was funded in part by collaborations between NA-MIC and NITRC.