Documentation/Nightly/Developers

From SlicerWiki

Jump to: navigation, search
Home < Documentation < Nightly < Developers



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

FAQ

Set of common development questions/answers

Resources


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

Doxygen

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

Resources

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.

Design & Implementation


Modules

Comparison between the different supported module types

Data Model / MRML

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

Logics

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

Layouts

How to control the layout of the views

IO Mechanism

How to read or write nodes from file

Python scripting

Presents the underlying infrastructure.

Charts

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.

QtTesting

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

Source code How-tos


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

Module How-tos

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
Build module outside of Slicer source tree
Add or Update a Remote module   NEW

Testing How-tos

Write a Self Test Module
Upload test data on Midas

Documentation How-tos

Document a module
Document an extension

Extension How-tos

Obtain an API key to submit on the extension server
Contribute an extension description file
Update an extension description file
Build an ExtensionsIndex

Porting How-tos

Port a CLI to ITKv4

Dev How-tos

Setup QtCreator to develop Slicer application or modules
Setup a dashboard
Write a widget for Slicer and Qt Designer
Use custom widgets in Qt Designer
Load UI file from python

Debugging How-tos

Use debugger with Slicer application
Troubleshoot issues such as crash, or memory leaks
Prevent memory leaks - VTK, Python and reference counting


Personal tools