Slicer3:Developers
Slicer3 |
---|
Developers |
Contents
Slicer 3 Overview
- For more details on the slicer architecture see: Architecture Slides.
- Highlights of the new architecture
Information for Developers
This section centrally locates many existing (and developing) wiki pages useful to Slicer3 developers. The content developed for the January 2007 AHM.
Introduction to Slicer3
- Slicer3 Historical Timeline
- Status overview and Demo
- Schematic of application interface & functionality: Media:GUIMap.png
- Schematic of slice GUI: Media:SliceGUI.png
- Getting the software and troubleshooting
- Overall Architecture and Slicer 3 Coding Style
- Contributing codes to Slicer3
Two module types (Command line and Interactive)
- Command line modules and how to implement one (Jim and Bill) Intro
- How to add an interactive module (wjp)
MRML MRML Slides(Alex)
- 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
- Keeping the GUI stateless (wjp)
- Adding keyboard shortcuts (wjp)
- GUI style guidelines (wjp)
- User-centered design practice (wjp)
- 3DSlicer's logo and visual communication guidelines (wjp)
- Incorporating your group's logo and attributions (Jim)
Engineering
- Tips for avoiding memory leaks
- Current Practice (Steve)
- Suggested change to SmartPointers (Jim)
- Generating tests (Bill)
- Setting up Testing
- The Launcher
Integrate Slicer3 into a development environment
- Eclipse (keilhack)
- Microsoft Visual Studio 200x
Slicer 3 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.
If your name is in bold, you are responsible for that 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: 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)
- Python Integration (Dan Blezek)
- Grid Integration (Jeff Grethe, Neil)
- Slicer3:Performance Analysis (Katie)
Slicer 3 Quick links
The Slicer3 svn repository:
svn co http://www.na-mic.org/svn/Slicer3/trunk Slicer3
Use ViewVC to browse the repository
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@massmail.spl.harvard.edu list. To join developer's mailing list, send a request to: slicer-devel-request@massmail.spl.harvard.edu with the keyword subscribe as the subject. Or access the slicer-devel archives and web administration interface.
Design Information
May 23, 2006: Algorithm Core workshop.
April 3, 2006: Slicer 3 alpha technical powerpoint presentation.
Events
Upcoming
Slicer3.0
- Initial release planned for end of March 2007
- Base code should be functional and usable
- Several usable modules include (auto segmentaiton, editor, registration...)
- Image Guided Therapy example modules
- Updated version 3.1 planned for summer 2007
- With DTI and other application modules
- Bug fixes and performance enhancements
Migration Tutorials (from Slicer 2.x to 3.0) by Summer 2007
- First set of Migration tutorials by Jan 1, 2007
- Second set of Migration tutorials by Feb 1, 2007
- Complete by March 2007
Past
Slicer3.0 Beta
- Official release at AHM January 2007
April 3, 2006
There was a Slicer3 Alpha1 Design Review meeting.
Slicer3 Alpha2/Beta1 by End of July 2006
- Initial Testing with Core 3 participation
- Base functionality in place, but still subject to API changes and other improvements.
- Packaged versions not yet available, but testers are able to easily build their own versions.