Difference between revisions of "Slicer3:Developers"
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
= Slicer 3 Developer Page = | = Slicer 3 Developer Page = | ||
+ | [[Image:Slicer3LogoHorizontalBeta.png|right]] | ||
This page contains links to Slicer3 developer resources and events. | This page contains links to Slicer3 developer resources and events. | ||
Line 6: | Line 7: | ||
== Slicer 3 Overview == | == Slicer 3 Overview == | ||
− | + | For more details on the slicer architecture see: [[media:Slicer 3-beta-2007-04-16.ppt | Architecture Slides]] (updated April, 2007). | |
− | |||
− | |||
− | |||
<gallery caption="Highlights of the new architecture" widths="200px" perrow="4"> | <gallery caption="Highlights of the new architecture" widths="200px" perrow="4"> |
Revision as of 23:17, 8 November 2008
Home < Slicer3:DevelopersSlicer 3 Developer Page
This page contains links to Slicer3 developer resources and events.
Click here for Slicer3 Events
Slicer 3 Overview
For more details on the slicer architecture see: Architecture Slides (updated April, 2007).
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
- Schematic of slice GUI
- 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)
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.
- 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
- 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...
- Documenting a module with wink
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: 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 (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)
- Volume Rendering With CUDA (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
- 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)
Slicer 3 Quick links to the Source code
The Slicer3 svn repository:
svn co http://svn.slicer.org/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.
Slicer3 Dashboard (As Of May 2, 2008)
Slicer3 Dashboard (Before May 2, 2008)
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.
Design Information
May 23, 2006: Algorithm Core workshop.
April 3, 2006: Slicer 3 alpha technical powerpoint presentation.