QIICR Developer Orientation - QIICR/ProjectIssuesAndWiki GitHub Wiki
Accounts and lists
Make sure you do the following:
- join http://github.com, send your user name to Andrey so you can be added to the QIICR team
- send your Google+ account email to Andrey to be added to QIICR Google+ organization
- send your email to Andrey to be added to QIICR team mailing list
- subscribe to slicer-users and slicer-devel mailing lists (see http://wiki.slicer.org/slicerWiki/index.php?title=Documentation/Nightly and http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers)
- join 3D Slicer Google+ community to receive notifications about weekly developer meetings - you should join to ask questions and get advice when you need help!
Skills
You will need to develop new functionality in 3D Slicer and related tools/toolkits.
Make sure you are familiar with 3D Slicer from the user perspective first. 3D Slicer General Introduction tutorials and practice make a good start.
Once you are familiar with the Slicer user interface ...
- This is the main starting point for the new developers: http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers
- build Slicer on your platform, following the instructions linked from the page above (you may not need it if you do all the development in Python, but it's a good practice, and most likely you will need C++ for some things in QIICR)
- get started with the development aspects. 3D Slicer Developer tutorials and a lot of practice should help. Hint: complete the challenges listed in the end of this tutorial to convince yourself you are on your path to becoming a Slicer hacker! Tell us at the bi-weekly QIICR hangout about the progress and challenges you encountered!
- if you plan to develop Command Line Modules (CLIs) only, you don't need to go over the Python tutorial. There is a CLI-focused tutorial in the developer inventory.
- Note that tutorials can get out of date and lag behind the current Slicer development! If you encounter questionable issues, ask more experienced developers, or post a question to the slicer-devel list.
- While creating a new module, use
Once you are done with the tutorials, explore the Developers manual, look at the examples of existing Slicer modules and existing Slicer extensions.
Please read these guidelines about style of git commit messages: https://www.slicer.org/wiki/Documentation/Nightly/Developers/Style_Guide#Commits