Slicer3:Developers
Slicer 3 Developer Page
This page contains links to Slicer3 developer resources and events.
Click here for Slicer3 Events
Slicer 3 Architecture Overview
For more details on the slicer architecture see: Architecture Slides (updated April, 2007).
Quick Links for Developers
This section centrally locates many existing (and developing) wiki pages useful to Slicer3 developers.
Slicer 3 Quick links to the Source code
The Slicer3 svn repository:
svn co http://svn.slicer.org/Slicer3/trunk Slicer3
General Slicer3 Quick Links | Debugging Slicer3 Quick Links |
Instructions for NA-MIC svn | Slicer3 Dashboard (As Of May 2, 2008) |
Use ViewVC to browse the repository | Slicer3 Dashboard (Before May 2, 2008) |
Slicer3 build instructions | Slicer Bug Tracker |
Doxygen documentation for Slicer3. | |
The Slicer3 VisualBlog shows screenshots of slicer developments. | |
Developers should follow the Slicer 3 Coding Style. |
Discussion of Slicer3 takes place on the slicer-devel at massmail.spl.harvard.edu list. To join developer's mailing list, send a request to: slicer-devel-request at massmail.spl.harvard.edu with the keyword subscribe as the subject. Or access the slicer-devel archives and web administration interface.
Introduction to Slicer3 | Key People |
Getting the software and troubleshooting | |
Overall Architecture and Slicer 3 Coding Style | |
Contributing codes to Slicer3 | |
Two module types (Command line and Interactive) | Key People |
Command line modules and how to implement one | Jim and Bill Intro |
MRML Medical Reality Modeling Language (MRML) is a language implemented as a type of XML document, with new tags defined to handle medical image data types such as volumes, models or coordinate transforms. MRML Slides |
Key People |
Creating and using new MRML node types | Alex |
Keeping references to MRML nodes | Alex |
How undo/redo works, and how to enable it in your code | Alex |
GUI | Key People |
Adding keyboard shortcuts | Wendy |
GUI style guidelines (undergoing change for move to Qt) | Wendy |
User-centered design practice | Wendy |
3DSlicer's logo and visual communication guidelines | Wendy |
Incorporating your group's logo and attributions | Jim |
Some experiments/advanced techniques for developing slicer3 interfaces | Steve |
Engineering | Key People |
Tips for avoiding memory leaks: Current Practice | Steve |
Tips for avoiding memory leaks: Suggested change to SmartPointers | Jim |
Generating tests | Bill |
Setting up Testing | |
Build Information | |
The Launcher | |
Documenting your module As soon as the wiki page template is finalized, and the infrastructure is added to link to this wiki page from the "Help & Acknowledgment" panel in your module's GUI, we will ask developers to fill out a brief document describing your module and its use. Stay tuned for developments... |
Key People |
Documenting a module with wink | |
Integrate Slicer3 into a development environment | Key People |
Eclipse | Michael Keilhack |
Microsoft Visual Studio 200x |
Quick Links to Slicer3 Projects
Projects should correspond to the outstanding issues listed on the Status Summary. Please refer to the Feature Requests from users when planning your implementations.
Slicer3 Projects | Key People Bold names are responsible for an aspect of the project. |
Architecture/Features | Steve Pieper, Group: Bill Lorensen, Ron Kikinis, Mike Halle, Noby Hata |
Data Model / libMRML | Alex, Steve |
Execution Model / Command Line Modules | Jim Miller, Bill Lorensen |
Interface Design and Usability | Wendy Plesniak, KWWidgets: Sebastien Barre, Yumin Yuan |
Transition of Selected Slicer2.x Modules to Slicer3 | Nicole, Katie, Wendy, Mathieu |
DTMRI | Alex with help from Diffusion Images: Raul, Tractography: Lauren LMI |
Editor | Steve |
Colors, Fiducials, FreeSurfer, ModelMaker | Nicole |
IGT, Trackers | Haiying |
EMSegment Interface | Brad Davis |
SlicerDaemon Interface (for unu, matlab) | Steve Pieper |
Build/Test/Deploy System | Andy, Katie |
Loni Pipeline Integration | Jags |
Batchmake/GRID Integration | Julien Jomier |
Registration Modules | Jim Miller, Steve Pieper |
Improvements to the registration framework | Casey Goodlett, Stephen Aylward |
Python Integration | Dan Blezek |
Grid Integration | Jeff Grethe, Neil |
Slicer3:Performance Analysis | Katie |
Threading ToolKit | Dan Blezek, James Miller, Stephen Aylward |
Volume Rendering | Yanling, Andy |
Volume Rendering using the VTK GPU acclerated Ray Caster | Lisa Avila / Sebastien Barre |
Volume Rendering With CUDA (NOT Active) | Ben |
XNAT Interface | Steve, Wendy, Dan Marcus, Tim Olsen |
LDDMM Interface | Steve, Anthony Kolasny |
Web Presence | Nicole Aucoin, Zack Galbreath |
Loadable Modules | Alex Yarmarkovich, Steve Pieper |
Extensions | Steve Peiper |
Diffusion Editor | Kerstin |
TimeSeries and Multi-Volume Data | Steve Pieper, Daniel Blezek, Dominik Meier, Wendy Plesniak |
Remote Data Handling | Steve Pieper, Nicole Aucoin, Wendy Plesniak |
Query Atlas | Wendy Plesniak |
MistSlicer | Yuichiro Hayashi, Kensaku Mori, Nobuhiko Hata |
Radiological review | Jim Miller |
Design Information
- May 23, 2006: Algorithm Core workshop.
- April 3, 2006: Slicer 3 alpha technical powerpoint presentation.
- Discussion page about using Slicer3:Qt.
Resources
Several books are available on the core topics related to slicer programming: