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

From Slicer Wiki
Jump to: navigation, search
 
(17 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 27: Line 25:
  
 
* Use the View->Extension Manager menu option:  
 
* Use the View->Extension Manager menu option:  
 +
[[Image:Slicer36-ExtensionsViewMenu.png]]
  
[[Image:Slicer36-ExtensionsViewMenu.png]]
+
or select the Extension Manager shortcut in the toolbar:  
 
 
* or select the Extension Manager shortcut in the toolbar:  
 
 
 
 
[[Image:Slicer36-ExtensionsIcon.png]]
 
[[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.
 
* 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 | 300 px]]
+
[[Image:Slicer36-Extensions1.png | thumb | 350 px | center]]
  
 
* 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.
Line 45: Line 41:
 
[[Image:Slicer36-ModulesManagement1.png]]
 
[[Image:Slicer36-ModulesManagement1.png]]
  
[[Image:Slicer36-ModulesManagement2.png]]
+
[[Image:Slicer36-ModulesManagement2.png |thumb | 350 px | center]]
  
== Usage ==
 
  
===Use Cases, Examples===
 
  
This module is especially appropriate for these use cases:
+
===Usability issues===
  
* Use Case 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.
* Use Case 2:
 
  
Examples of the module in use:
+
== FOR DEVELOPERS ==
  
* Example 1
+
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.
* Example 2
 
  
===Tutorials===
+
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. 
  
Links to tutorials explaining how to use this module:
+
To enable your Command Line, Scripted, or Loadable module, add an "s3ext" script to the /Slicer3/Extensions directory of the source repository:
  
* Tutorial 1
+
PythonSampleScriptedModule.s3ext:
** Data Set 1
+
<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
 +
#
  
===Quick Tour of Features and Use===
+
# 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
  
A list panels in the interface, their features, what they mean, and how to use them. For instance:
+
# 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
* '''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 ==
+
# match category in the xml description of the module (where it shows up in Modules menu)
 +
category  Developer Tools
  
===Notes from the Developer(s)===
+
# give people an idea what to expect from this code
 +
# - is it just a test or something you stand beind?
 +
status    Beta
  
Algorithms used, library classes depended upon, use cases, etc.
+
# One line description of what the module does
 
+
description This is an example of an extension module written in python
===Dependencies===
+
</pre>
 
 
Other modules or packages that are required for this module's use.
 
 
 
===Tests===
 
 
 
On the [http://www.cdash.org/CDash/index.php?project=Slicer3 Dashboard], these tests verify that the module is working on various platforms:
 
 
 
* MyModuleTest1 [http://viewvc.slicer.org/viewcvs.cgi/trunk MyModuleTest1.cxx]
 
* MyModuleTest2 [http://viewvc.slicer.org/viewcvs.cgi/trunk MyModuleTest2.cxx]
 
 
 
===Known bugs===
 
 
 
Links to known bugs in the Slicer3 bug tracker
 
 
 
* [http://www.na-mic.org/Bug/view.php?id=000 Bug 000: description]
 
 
 
 
 
===Usability issues===
 
 
 
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.
 
  
 
===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.