Difference between revisions of "Slicer3:Developers"

From Slicer Wiki
Jump to: navigation, search
Line 9: Line 9:
 
For more details on the slicer architecture see: [[media:Slicer 3-beta-2007-04-16.ppt | Architecture Slides]] (updated April, 2007).
 
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="300px" heights="200px"  perrow="2">
+
<gallery caption="Highlights of the new architecture" widths="300px" heights="200px"  perrow="3">
 
Image:Slicer3-Architecture.jpg
 
Image:Slicer3-Architecture.jpg
 
Image:Slicer3-Architecture-MRML.jpg
 
Image:Slicer3-Architecture-MRML.jpg

Revision as of 02:56, 21 January 2010

Home < Slicer3:Developers

Slicer 3 Developer Page

3DSlicerLogo-H-Color-212x121.png

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.

Developers' Mailing List

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

Resources

Several books are available on the core topics related to slicer programming: