Documentation/4.6/SlicerApplication/ExtensionsManager

From SlicerWiki
Jump to: navigation, search
Home < Documentation < 4.6 < SlicerApplication < ExtensionsManager


3D Slicer now supports plug-ins which we call extensions. Extensions are available for download from an extension server. Extensions allow end-users to selectively install features that are useful for them.

Extensions Manager

Extension Manager.png

Installing an extension

Note: if extension manager is not visible then make sure that Enable extension manager option is enabled in Application Settings (menu item "Edit -> Application Settings -> Extensions"). If you changed the setting, Slicer has to be restarted for it to become effective.

Enable ExtensionsManager

Installing an extension without network connection

Updating installed extensions

By selecting Install Updates Automatically from the tools menu, Slicer will check if extension updates are available on start-up.

Uninstalling an extension

Disabling an extension

Incompatible extensions

Extensions Manager Settings

Extensions settings

  1. Extensions server URL: Address of the server used to download and install extensions
  2. Extensions installation path: Directory where extension packages should be extracted and installed

Module settings

  1. After installing an extension, the directories containing the modules bundled within an extension will be visible as additional module paths.
  2. Modules associated with an extension can also be disabled one by one.

Launcher settings

Whereas the module path is used to indicate Slicer where to look to load additional modules, the extension manager also takes care of updating the LibraryPaths / Paths / EnvironmentVariables in the launcher settings so that libraries associated with modules can be successfully loaded.



User FAQ: Extensions

What is an extension ?

Extensions in the Extension manager.

An extension could be seen as a delivery package bundling together one or more Slicer modules. After installing an extension, the associated modules will be presented to the user as built-in ones

The Slicer community maintains a website referred to as the Slicer Extensions Catalog to support finding, downloading and installing of extensions. Access to this website is integral to Slicer and facilitated by the Extensions Manager functionality built into the distributed program.

The Catalog classifies extensions into three levels of compliance:

  1. Category 1: Fully compliant Slicer Extensions: Slicer license, open source, maintained.
  2. Category 2: Open source, contact exists.
  3. Category 3: All other extensions (work in progress, beta, closed source etc).

To publish extensions, developers should consider reading the following pages:

What is the extensions catalog ?

The extensions catalog provides Slicer users with a convenient way to access the extensions previously uploaded on the extensions server:

Why there are no windows 32-bit extensions available ?

  • Win 32 has a very limited amount of memory available to an application.
  • Many registration and segmentation algorithms fail on that platform because they run out of memory, when used with state of large data.
  • Some of these failures are just that, some can crash slicer. Even though the "real" failure is caused by overextending the capabilities of the hardware (in a way the user's fault), it appears to the user that Slicer does not work.
  • If you search the archives of Slicer Users there are several such complaints until we started to discourage people to use 32 bit.

Discussion: http://massmail.spl.harvard.edu/public-archives/slicer-users/2013/006703.html

Should I install the nightly version to access to last extension updates ?

If the extension developers contributed updates for the current stable release, you don't have to install the nightly version of Slicer. You can simply update the extension. Consider reading How to update an already installed extension.

On the other hand, if the extension developers stopped to maintain the version of their extension built against the stable release (so that we can use the latest feature that will be in the next Slicer release), downloading the nightly is the only way to get the latest version of the extension.

How to update an already installed extension?

Assuming updates extensions are available for your version of Slicer, extensions can either be updated manually or automatically.

See Updating installed extensions

How to manually download an extension package?

1) Get revision associated with your install or built Slicer (Menu -> Help -> About). The revision is a number preceded by r character, for example: if the complete version string is 4.3.1-2014-09-14 r23677 the revision is 23677

2) Open the extension catalog (app store). The default Slicer extension catalog is available at: http://slicer.kitware.com/midas3/slicerappstore

3) Select operating system, bitness and enter revision in the empty textbox between the bitness selector and the searchbox. If no revision is entered then the No extensions found message will be displayed.

4) Click Download button of the selected extension to download the extension package.

How to manually install an extension?

1) Get the extension package matching your Slicer version.

2.a) Either install the extension package using the Slicer extension called "DeveloperToolsForExtensions"

2.b.i) Or extract the archive (zip or tar.gz) in a folder. You should then have a folder like:

/path/to/<slicer_revision>-<os>-<bitness>-<extension_name>-<extension_scm><extension_revision>-YYYY-MM-DD

containing one or more of the following folders:

lib/Slicer-X.Y/cli-modules
lib/Slicer-X.Y/qt-loadable-modules
lib/Slicer-X.Y/qt-scripted-modules

For more details: Documentation/4.6/Developers/DirectoryStructure

2.b.ii) There are two options:

2.b.ii.a) In the Module settings (Menu -> Edit -> Settings), add all existing paths ending with:

lib/Slicer-X.Y/cli-modules
lib/Slicer-X.Y/qt-loadable-modules
lib/Slicer-X.Y/qt-scripted-modules

2.b.ii.b) Start Slicer specifying the option --additional-module-paths with all existing paths listed in 4.a.

How to create a custom Slicer version with selected extensions pre-installed?

1) Download and install Slicer

2) Install all necessary extensions manually (as described above) in <slicer_install_dir>/lib/Slicer-X.Y/...

3) If all the files in <slicer_install_dir> are copied to any other folder/computer/USB drive/portable storage device then Slicer can be launched by running the Slicer executable in the main directory. No installation or administrative access rights are necessary. Slicer can even be launched directly from a USB drive, without copying files to the computer.