www.slicer.org

Slicer for Software Developers

Slicer is a free, open source package suited for easy modular expansion by software developers who want to use the 3D Slicer software as a basis for their work. This page is intended as a portal and contains links to a variety of pages with information for software developers. It will allow you to acquaint yourself with the basics of Slicer development. Please feel free to contribute to the documentation and and improve the quality of information on the Slicer wiki.

Slicer Development Basics


Example of fiber tracking. See Kubicki et al J Psychiatr Res 2007 for more info.

3D Slicer is a software application written in C++ and is based on the NA-MIC kit. 3D Slicer relies on a variety of toolkits, libraries and uses a software methodology for multi-developer, multi-platform work and quality assurance. These components include VTK, ITK, Cmake, KWW and TK/TCL. Please see the NA-MIC kit home page for more information.

Slicer 3 is the latest version of Slicer and was introduced in early 2007. In mid-2008 Slicer 3.2 has been released. That release contained a large number of substantial changed to the Slicer architecture and featurelist. See here for more information.

  • Slicer 3 has a "lightweight core" and a variety modules. These include Built-In Modules, Loadable Modules, Scripted Modules, Command Line Modules. Command Line Modules represent a relatively easy way to add the functionality to slicer. For a presentation about how to add your own module, please see here. This approach allows access to ITK, Python and a variety of other packages.
  • Slicer 3 has a workflow engine to allow developers to introduce user-guidance into workflow. Please look at the Changetracker module in Slicer 3.3 for an example. See here for more information.
  • IGT research is specifically enabled through interface capabilities to devices, such as trackers, scanners and robots. We have developed a low-level communication protocol, called Open IGT Link. Please see here for more information.


Before getting started, please look at the 3D Slicer Software License Agreement.

Slicer 3.x (Current development version)
Slicer Developer Documentation Development Project Homeage, Module Documentation and Slicer 3 Doxygen Source Documentation
Build Instructions Slicer 3 Build Instructions and Building a Slicer 3 Module GUI
Coding Considerations Slicer 3 Coding Style and Slicer 3 Interface Design
Source Code Repository (cvs/svn) Browsing View VC
Slicer svn Repository and SVN Instructions svn Repository and Instructions for svn
Dashboard and Visual Blog Slicer 3 Dashboard and Visual Blog
Status Report Status Reports
Bug Tracker Slicer 3 Bug Tracker
Developer Discussion Developer's Mailing List
Module Execution Documentation Execution Model and Adapting Slicer to Large Scale Experiments

Developer information about Slicer 2.6