From Slicer Wiki
Jump to: navigation, search
Home < Documentation < 4.3 < Developers

For the latest Slicer documentation, visit the read-the-docs.

New Developers:    Welcome ! Check these instructions !

Getting involved

Start here

New community member checklist

Developer meetings

It is open to everyone, feel free to join.

Developers mailing list / Sign-up / Browse archives

Intended for discussion of programming related questions


Set of common development questions/answers


Roadmap  NEW

What's next ? What's the plan ?

Source code repository

Github or SVN

CDash Quality Dashboard / Setup a dashboard

Nightly, continuous and experimental dashboards.

Bug tracker / Register / Report a problem / Contribute a patch

Web-based bug tracking system - Configuration


Source code API documentation.

Slicer Style Guidelines

Consistency and Readability for a manageable code base

Developer Projects

Pages for the developer projects.

Labs   NEW

Keep track of on-going experiments.

Change logs and release details

Informations about Slicer releases

Build instructions

Create Slicer extensions   UPDATED

Build, test, package and distribute extensions

Build Slicer application

Compiling and installing Slicer from source.

Build Module

Compiling slicer modules outside of the slicer source tree.

Design & Implementation


Comparison between the different supported module types

Data Model / MRML

Objects and their organization. MRML Library provides API for managing medical image data type


Details the role of MRML/Slicer/Application/Modules logics and Displayable managers


How to control the layout of the views

IO Mechanism

How to read or write nodes from file

Python scripting

Presents the underlying infrastructure.


Description of the Charting architecture.

Directory Structure

Files location in the build and install tree.

Qt Plugins

How to build and load Qt plugins.

Build system

Details how Slicer is built and packaged.


Testing framework to test Slicer application. It complements unit tests.

How To

Checkout Slicer source   NEW
Setup for Git development   NEW
Commit change sets
Contribute a patch
Integrate topic from external contributor  NEW

Create a CLI module or extension
Create a Loadable module or extension
Create a Scripted module or extension
Create an Editor effect
Bundle module(s) into a Slicer extension   UPDATED
Build module outside of Slicer source tree   NEW

Write a Self Test Module   NEW
Upload test data on Midas   NEW

Document a module
Document an extension

Obtain an API key to submit on the extension server
Contribute an extension description file  NEW
Build an ExtensionsIndex  NEW UnderConstruction.png

Port a CLI to ITKv4  NEW

Setup QtCreator to develop Slicer application or modules
Setup a dashboard

Use debugger with Slicer application
Troubleshoot issues such as crash, or memory leaks
Prevent memory leaks

Write a widget for Slicer and Qt Designer
Use custom widgets in Qt Designer
Load UI file from python