Documentation/4.4/Extensions
For the latest Slicer documentation, visit the read-the-docs. |
Contents
- 1 Extensions by Category
- 2 User FAQ: Extensions
- 2.1 What is an extension ?
- 2.2 What is the extensions catalog ?
- 2.3 Why there are no windows 32-bit extensions available ?
- 2.4 Should I install the nightly version to access to last extension updates ?
- 2.5 How to update an already installed extension?
- 2.6 How to manually download an extension package?
- 2.7 How to manually install an extension?
- 2.8 How to create a custom Slicer version with selected extensions pre-installed?
Extensions by Category
Cat 1
Cat 2
- CarreraSlice Interactive Segmenter (Ivan Kolesov, LiangJia Zhu, Yi Gao, Peter Karasev, Patricio Vela, Allen Tannenbaum, Karl Fritscher, Steve Pieper )
- SurfaceReconstruction (Chenxi-Zhang David-Doria Arnaud-Gelas Michael-Kazhdan Matthew-Bolitho Hugues-Hoppe Jean-Christophe Fillion-Robin )
- SkullStripper (Xiaodong Tao)
- MABMIS (Xiaofeng Liu)
- SwissSkullStripper (Bill Lorensen)
- Cardiac MRI Toolkit (Alan Morris, Salma Bengali)
- PkModeling (Emma Zhu, Jim Miller)
- FacetedVisualizer (Harini Veeraraghavan, Jim Miller)
- Reporting (Andrey Fedorov, Nicole Aucoin, Steve Pieper) (work in progress)
- TCIA Browser (Alireza Mehrtash, Andrey Fedorov) (work in progress)
- SlicerRT (Csaba Pinter, Kevin Wang, Adam Rankin, Greg Sharp, Andras Lasso, Steve Pieper)
- SlicerIGT (Tamas Ungi, Adam Rankin, Andras Lasso, Junichi Tokuda, Laurent Chauvin)
- CollectFiducials (Tamas Ungi)
- CreateModels (Tamas Ungi, Matthew Holden)
- OpenIGTLinkRemote (Tamas Ungi, Andras Lasso)
- UltrasoundSnapshots (Tamas Ungi, Franklin King)
- VolumeResliceDriver (Junichi Tokuda, Tamas Ungi, Laurent Chauvin)
- PathExplorer (Laurent Chauvin, Junichi Tokuda)
- Matlab Bridge (Andras Lasso, Jean-Christophe Fillion-Robin, Kevin Wang)
- iGyne (Xiaojun Chen and iGyne Team)
- LongitudinalPETCT (Paul Mercea, Andrey Fedorov)
- DTIProcess (Francois Budin)
- DTIAtlasFiberAnalyzer (Francois Budin)
- FiberViewerLight (Francois Budin)
- DTIPrep (Francois Budin)
- MeshToLabelMap (Francois Budin)
- DTIAtlasBuilder (Adrien Kaiser)
- IntensitySegmenter (Francois Budin, Pengdong Xiao, Beatriz Paniagua)
- ShapePopulationViewer (Alexis Girault)
- ModelToModelDistance (Francois Budin, Juliette Pera, Beatriz Paniagua)
- SPHARM-PDM (Beatriz Paniagua, Francois Budin, Martin Styner)
- TubeTK (Stephen Aylward, Jean-Christophe Fillion-Robin, Christopher Mullins, Michael Jeulin-L, Matthew McCormick)
- UKFTractography (Ryan Eckbo, Yogesh Rathi)
- TrackerStabilizer (Laurent Chauvin, Jayender Jagadeesan)
- ChangeTracker (Andrey Fedorov)
- SobolevSegmenter (Arie Nakhmani)
- QuickTools (Julien Finet)
- XNATSlicer
- ErodeDilateLabel (Junichi)
- ThingiverseBrowser (Nigel Goh)
- Virtual Fracture Reconstruction (Karl Fritscher, Peter Karasev)
- AirwaySegmentation (Pietro Nardelli)
- ModelClip (Jun Lin, Xiaojun Chen)
- VolumeClip (Andras Lasso, Matt Lougheed)
- SurfaceMirror (Jiaxi Luo, Ruqing Ye, Xiaojun Chen)
- Scoliosis (Franklin King, Tamas Ungi)
- Spinal Curvature Measurement (Franklin King, Tamas Ungi)
- Port Placement (Luis G. Torres and Andinet Enquobahrie)
- Auto Port Placement (Luis G. Torres, Andinet Enquobahrie)
- Plus Remote (Franklin King, Tamas Ungi)
- Transform Visualizer (Franklin King, Andras Lasso, Csaba Pinter)
- WindowLevelEffect (Andrey Fedorov, Steve Pieper)
- PerkTutor (Tamas Ungi, Matthew Holden)
- SlicerToKiwiExporter (Jean-Christophe Fillion-Robin)
- GelDosimetry (Csaba Pinter)
- Multidimensional data (Andras Lasso, Matthew Holden, Kevin Wang)
- GyroGuide (Ruifeng Chen,Luping Fang, Qing Pan, Xiaolei Chen, Jiashu Zhang)
- MRI SNR Measurement (Babak Matinfar)
- OpenCAD (Vivek Narayan, Jayender Jagadeesan)
- Percutaneous Approach Analysis (Atsushi Yamada, Koichiro Murakami, Laurent Chauvin, Junichi Tokuda)
- Finsler Tractography (Antonio Tristan Vega, Demian Wassermann and Carl-Fredrik Westin)
- CurveMaker (Junichi Tokuda)
- CBC 3D I2MConversion (Fotis Drakopoulos, Yixun Liu, Andrey Fedorov and Nikos Chrisochoides)
- Physics-Based Non-Rigid Registration (PBNRR) (Fotis Drakopoulos, Yixun Liu, Andriy Kot, Andrey Fedorov, Olivier Clatz and Nikos Chrisochoides)
- ResectionVolume (Matt Lougheed)
- PET DICOM (Andrey Fedorov, Ethan Ulrich)
- PET Tumor Segmentation (Christian Bauer, Markus van Tol)
- CornerAnnotation (Atsushi Yamada)
- Watershed Annotation and Segmentation Plugin. (Thomas Lawson)
- SlicerPetSpectAnalysis (Martín Bertran,Natalia Martínez, Guillermo Carbajal, Álvaro Gómez)
- IGTWizard (Junichi Tokuda and Atsushi Yamada)
- MarginCalculator (Kevin Wang and Winnie Li)
- Slicer-Featurelets (Andreas Renner)
Cat 3
- LesionSegmentation (Mark Scully)
- LesionSegmentation->TrainModel (Mark Scully)
- LesionSegmentation->PredictLesions (Mark Scully)
- IASEM (Bradley Lowekamp)
- Python debugger (Andras Lasso)
User FAQ: Extensions
What is an extension ?
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:
- Category 1: Fully compliant Slicer Extensions: Slicer license, open source, maintained.
- Category 2: Open source, contact exists.
- 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:
- from within Slicer with the help of the extensions manager
- from the web: http://slicer.kitware.com/midas3/slicerappstore
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 users 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, it is currently not possible without uninstalling the extension and re-installing it.
We are currently developing a mechanism allowing to either manually update or automatically suggest update. In the process of finalizing, reviewing and testing, the corresponding feature will be available in Slicer 4.12.
For more details, see [1][2] and [3]
[1] http://na-mic.org/Mantis/view.php?id=2089
[2] https://github.com/mwoehlke-kitware/Slicer/tree/REBASE-2089-update-extensions
[3] http://wiki.slicer.org/wiki/Documentation/Labs/ExtensionsFrameworkRoadmap
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) 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.4/Developers/DirectoryStructure
4) 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
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.