- New community member checklist
- 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
- 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
- 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.
Create Slicer extensions UPDATED
- Build, test, package and distribute extensions
Build Slicer application
- Compiling and installing Slicer from source.
- 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
- Create simple standalone applications (slicelets)
- How to read or write nodes from file
- Presents the underlying infrastructure.
- Description of the Charting architecture.
- Files location in the build and install tree.
- 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.
Source code How-tos
- Checkout Slicer source
- Setup for Git development NEW
- Commit change sets
- Contribute a patch
- Integrate topic from external contributor
- 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
- Write a Self Test Module
- Write Cxx tests for your C++ loadable module
- Upload test data on Midas
- Document a module
- Document an extension
- Wiki Cheat sheet: Useful templates NEW
- Obtain an API key to submit on the extension server
- Contribute an extension description file using the wizard NEW
- Manually contributing an extension description file
- Build an extension
- Package an extension
- Upload an extension
- Build an ExtensionsIndex
- Port a CLI to ITKv4
- 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
- Use debugger with Slicer application
- Troubleshoot issues such as crash, or memory leaks
- Prevent memory leaks - VTK, Python and reference counting
- Debugging Python in Visual Studio