From SlicerWiki
Jump to: navigation, search
Home < Documentation < DeveloperOrientation

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.

Search developers mailing list / Sign-up

Intended for discussion of programming related questions


Set of common development questions/answers


Roadmap  UPDATED

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

Labs   NEW

Keep track of on-going experiments.

Change logs and release details

Informations about Slicer releases


List Slicer resources and who to contact in case of problem.

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.

How-tos  Octicon-bookmark-medium.png

Source code How-tos

How to checkout the source and contribute patches

Module How-tos

How to create or build modules, how to add or update remote modules

Testing How-tos

How to write tests and manage testing data

Documentation How-tos

How to document module or extension

Extension How-tos

How to contribute, build or package extensions

Misc How-tos

How to setup QtCreator, setup dashboard, work with QtDesigner, port modules

Debugging How-tos

How to debug Slicer, troubleshoot crash or memory leaks

Quick links  Octicon-bookmark-medium.png


Style Guide
Issue Tracker


Mailing list archives

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

Layouts   UPDATED

How to control the layout of the views

Slice Orientation Presets   NEW

How to manage slice orientation presets


Create simple standalone applications (slicelets)

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 / Release process / Factory description

Details how Slicer is built and packaged.


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