Difference between revisions of "Slicer3:Developers"
Line 19: | Line 19: | ||
This section centrally locates many existing (and developing) wiki pages useful to Slicer3 developers. The content developed for the January 2007 AHM. | This section centrally locates many existing (and developing) wiki pages useful to Slicer3 developers. The content developed for the January 2007 AHM. | ||
− | {|align="left" width=" | + | {|align="left" width="1200px" border="1" |
|- | |- | ||
|style="background:#ddf" width="60%"|'''Introduction to Slicer3''' | |style="background:#ddf" width="60%"|'''Introduction to Slicer3''' | ||
− | | | + | |bgcolor="#ddf" valign="top"|'''Key People''' |
|- | |- | ||
||[[Media:SlicerHistoricalTimeline.ppt | Slicer3 Historical Timeline]] | ||[[Media:SlicerHistoricalTimeline.ppt | Slicer3 Historical Timeline]] | ||
Line 46: | Line 46: | ||
|- | |- | ||
|style="background:#ddf"|'''Two module types (Command line and Interactive)''' | |style="background:#ddf"|'''Two module types (Command line and Interactive)''' | ||
− | | | + | |bgcolor="#ddf" valign="top"|'''Key People''' |
|- | |- | ||
||[[Slicer3:Execution_Model_Documentation | Command line modules and how to implement one]] | ||[[Slicer3:Execution_Model_Documentation | Command line modules and how to implement one]] | ||
Line 55: | Line 55: | ||
|- | |- | ||
|style="background:#ddf"|'''MRML'''<br/>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. [http://www.na-mic.org/Wiki/images/e/e3/Slicer3_MRML.ppt MRML Slides] | |style="background:#ddf"|'''MRML'''<br/>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. [http://www.na-mic.org/Wiki/images/e/e3/Slicer3_MRML.ppt MRML Slides] | ||
− | | | + | |bgcolor="#ddf" valign="top"|'''Key People''' |
|- | |- | ||
||[[Slicer3:Data_Model#Creating_Custom_MRML_Node_Classes | Creating and using new MRML node types]] | ||[[Slicer3:Data_Model#Creating_Custom_MRML_Node_Classes | Creating and using new MRML node types]] | ||
Line 67: | Line 67: | ||
|- | |- | ||
|style="background:#ddf"|'''GUI''' | |style="background:#ddf"|'''GUI''' | ||
− | | | + | |bgcolor="#ddf" valign="top"|'''Key People''' |
|- | |- | ||
||[[Slicer3:StatelessGUI | Keeping the GUI stateless]] | ||[[Slicer3:StatelessGUI | Keeping the GUI stateless]] | ||
Line 91: | Line 91: | ||
|- | |- | ||
|style="background:#ddf"|'''Engineering''' | |style="background:#ddf"|'''Engineering''' | ||
− | | | + | |bgcolor="#ddf" valign="top"|'''Key People''' |
|- | |- | ||
||Tips for avoiding memory leaks: Current Practice | ||Tips for avoiding memory leaks: Current Practice | ||
Line 112: | Line 112: | ||
|- | |- | ||
|style="background:#ddf"|'''Documenting your module'''<br/>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... | |style="background:#ddf"|'''Documenting your module'''<br/>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... | ||
− | | | + | |bgcolor="#ddf" valign="top"|'''Key People''' |
|- | |- | ||
||[[Slicer3:DocumentationWink|Documenting a module with wink]] | ||[[Slicer3:DocumentationWink|Documenting a module with wink]] | ||
Line 118: | Line 118: | ||
|- | |- | ||
|style="background:#ddf"|'''Integrate Slicer3 into a development environment''' | |style="background:#ddf"|'''Integrate Slicer3 into a development environment''' | ||
− | | | + | |bgcolor="#ddf" valign="top"|'''Key People''' |
|- | |- | ||
||[[Slicer3::Eclipse | Eclipse]] | ||[[Slicer3::Eclipse | Eclipse]] | ||
Line 130: | Line 130: | ||
Projects should correspond to the outstanding issues listed on the '''[[Slicer3:Status_Summary|Status Summary]]'''. Please refer to the '''[[Slicer3:FeatureRequests|Feature Requests]]''' from users when planning your implementations. | Projects should correspond to the outstanding issues listed on the '''[[Slicer3:Status_Summary|Status Summary]]'''. Please refer to the '''[[Slicer3:FeatureRequests|Feature Requests]]''' from users when planning your implementations. | ||
− | {|align="left" width=" | + | {|align="left" width="1200px" border="1" |
|- | |- | ||
|style="background:#ddf" width="60%"|'''Slicer3 Projects''' | |style="background:#ddf" width="60%"|'''Slicer3 Projects''' | ||
− | | | + | |bgcolor="#ddf" valign="top"|'''Key People'''<br/>Bold names are responsible for an aspect of the project. |
|- | |- | ||
||[[Slicer3:Architecture/Features|Architecture/Features]] | ||[[Slicer3:Architecture/Features|Architecture/Features]] | ||
Line 237: | Line 237: | ||
svn co http://svn.slicer.org/Slicer3/trunk Slicer3 | svn co http://svn.slicer.org/Slicer3/trunk Slicer3 | ||
− | {|align="left" width=" | + | {|align="left" width="1200px" border="1" |
|- | |- | ||
|style="background:#ddf" width="60%"|'''General Slicer3 Quick Links''' | |style="background:#ddf" width="60%"|'''General Slicer3 Quick Links''' |
Revision as of 19:38, 19 February 2009
Home < Slicer3:DevelopersSlicer 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. The content developed for the January 2007 AHM.
Introduction to Slicer3 | Key People |
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) | Key People |
Command line modules and how to implement one | Jim and Bill Intro |
How to implement an interactive module | wjp |
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 |
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 | 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 | 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 | 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 |
Radiological review | Jim Miller |
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.
Design Information
- May 23, 2006: Algorithm Core workshop.
- April 3, 2006: Slicer 3 alpha technical powerpoint presentation.