Difference between revisions of "Slicer3:Developers"
Line 115: | Line 115: | ||
* '''[[Slicer3:ThreadingToolKit|Threading ToolKit]]''' ('''Dan Blezek, James Miller, Stephen Aylward''') | * '''[[Slicer3:ThreadingToolKit|Threading ToolKit]]''' ('''Dan Blezek, James Miller, Stephen Aylward''') | ||
* '''[[Slicer3:Volume Rendering |Volume Rendering]]''' ('''Andy''') | * '''[[Slicer3:Volume Rendering |Volume Rendering]]''' ('''Andy''') | ||
− | * '''[[Slicer3:XNAT |XNAT Interface]]''' ('''Steve''') | + | * '''[[Slicer3:XNAT |XNAT Interface]]''' ('''Steve''', Wendy, Dan Marcus, Tim Olsen) |
* '''[[Slicer3:Web Presence |Web Presence]]''' ('''Nicole Aucoin'''), Zack Galbreath | * '''[[Slicer3:Web Presence |Web Presence]]''' ('''Nicole Aucoin'''), Zack Galbreath | ||
Revision as of 14:14, 26 September 2007
Home < Slicer3:DevelopersSlicer3 |
---|
Developers |
Contents
Slicer 3 Overview
- For more details on the slicer architecture see: Architecture Slides (updated April, 2007).
- 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 implement 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)
- Some experiments/advanced techniques for developing slicer3 interfaces (Steve)
Engineering
- Tips for avoiding memory leaks
- Current Practice (Steve)
- Suggested change to SmartPointers (Jim)
- Generating tests (Bill)
- Setting up Testing
- 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...
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)
- Batchmake Integration (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 (Andy)
- XNAT Interface (Steve, Wendy, Dan Marcus, Tim Olsen)
- Web Presence (Nicole Aucoin), Zack Galbreath
Slicer 3 Quick links to the Source code
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)
The first set of user tutorials will be released in Fall 2007. Slicer3 programming courses will be released in January 2008.
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.