Difference between revisions of "Slicer3:Developers"

From Slicer Wiki
Jump to: navigation, search
Line 16: Line 16:
 
</gallery>
 
</gallery>
  
== Information for Developers ==
+
== 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.
 
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 ===
+
{|align="left"
* [[Media:SlicerHistoricalTimeline.ppt | Slicer3 Historical Timeline]]
+
|-
* [[Slicer3:Status_Summary | Status overview]] and [http://slicerl.bwh.harvard.edu/tmp/slicer3-PreAHMBeta%20Demo/slicer3-PreAHMBeta.htm Demo]
+
|style="background:#ddf" width="60%"|'''Introduction to Slicer3'''
* [[Media:GUIMap.png|Schematic of application interface & functionality]]
+
|style="background:#ddf" width="40%"|'''Key People'''
* [[Media:SliceGUI.png|Schematic of slice GUI]]
+
|-
* [[Slicer3:Build_Instructions | Getting the software and troubleshooting]]
+
||[[Media:SlicerHistoricalTimeline.ppt | Slicer3 Historical Timeline]]
* [[media:Slicer 3-beta-2007-01-10.ppt | Overall Architecture]] and [[Slicer3:Style|Slicer 3 Coding Style]]
+
||
* [[Slicer3:Contributing_codes_to_Slicer3| Contributing codes to Slicer3]]
+
|-
 
+
||[[Slicer3:Status_Summary | Status overview]] and [http://slicerl.bwh.harvard.edu/tmp/slicer3-PreAHMBeta%20Demo/slicer3-PreAHMBeta.htm Demo]
=== Two module types (Command line and Interactive) ===
+
||
* [[Slicer3:Execution_Model_Documentation | Command line modules and how to implement one]] (Jim and Bill) [[media:Slicer3-ExecutionModelJune2006.ppt| Intro]]
+
|-
*[[Slicer3:How_to_implement_an_Interactive_Module_GUI | How to implement an interactive module]] (wjp)
+
||[[Media:GUIMap.png|Schematic of application interface & functionality]]
 
+
||
=== MRML [http://www.na-mic.org/Wiki/images/e/e3/Slicer3_MRML.ppt  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.
+
||[[Media:SliceGUI.png|Schematic of slice GUI]]
 
+
||
* [[Slicer3:Data_Model#Creating_Custom_MRML_Node_Classes | Creating and using new MRML node types]] (Alex)
+
|-
* [[Slicer3:Data_Model#References_to_MRML_Nodes | Keeping references to MRML nodes ]] (Alex)
+
||[[Slicer3:Build_Instructions | Getting the software and troubleshooting]]
* [[Slicer3:Data_Model#Undo/Redo_Mechanism  | How undo/redo works, and how to enable it in your code]] (Alex)
+
||
 
+
|-
=== GUI ===
+
||[[media:Slicer 3-beta-2007-01-10.ppt | Overall Architecture]] and [[Slicer3:Style|Slicer 3 Coding Style]]
* [[Slicer3:StatelessGUI | Keeping the GUI stateless]] (wjp)
+
||
* [[Slicer3:EventBindings | Adding keyboard shortcuts]] (wjp)
+
|-
* [[Slicer3:Human_Interface_and_Style_Guide_for_Developers | GUI style guidelines]] (wjp)
+
||[[Slicer3:Contributing_codes_to_Slicer3| Contributing codes to Slicer3]]
* [[Slicer3:Usability#User-centered_design_practice_for_3DSlicer | User-centered design practice]] (wjp)
+
||
* [[Slicer3:Slicer3Brand | 3DSlicer's logo and visual communication guidelines]] (wjp)
+
|-
* [[Slicer3:Execution_Model_Documentation#Adding_Module_Logos_to_Slicer3 | Incorporating your group's logo and attributions]] (Jim)
+
|style="background:#ddf"|'''Two module types (Command line and Interactive)'''
* [[Slicer3:GUI_Experiments | Some experiments/advanced techniques for developing slicer3 interfaces]] (Steve)
+
|style="background:#ddf"|'''Key People'''
 
+
|-
=== Engineering ===
+
||[[Slicer3:Execution_Model_Documentation | Command line modules and how to implement one]]
* Tips for avoiding memory leaks
+
||Jim and Bill [[media:Slicer3-ExecutionModelJune2006.ppt| Intro]]
** Current Practice (Steve)
+
|-
** [[Slicer3:Memory Management | Suggested change to SmartPointers]] (Jim)
+
||[[Slicer3:How_to_implement_an_Interactive_Module_GUI | How to implement an interactive module]]
* Generating tests (Bill)
+
||wjp
* [[Slicer3:Testing | Setting up Testing]]
+
|-
* [[Slicer3:Builds | Build Information]]
+
|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]
* [[Slicer3:Launcher| The Launcher]]
+
|style="background:#ddf"|'''Key People'''
 
+
|-
=== Documenting your module ===
+
||[[Slicer3:Data_Model#Creating_Custom_MRML_Node_Classes | Creating and using new MRML node types]]
* 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...
+
||Alex
* [[Slicer3:DocumentationWink|Documenting a module with wink]]
+
|-
 
+
||[[Slicer3:Data_Model#References_to_MRML_Nodes | Keeping references to MRML nodes ]]
=== Integrate Slicer3 into a development environment ===
+
||Alex
* [[Slicer3::Eclipse | Eclipse]] (keilhack)
+
|-
* [[Slicer3::MSVS200X | Microsoft Visual Studio 200x]]
+
||[[Slicer3:Data_Model#Undo/Redo_Mechanism  | How undo/redo works, and how to enable it in your code]]
 +
||Alex
 +
|-
 +
|style="background:#ddf"|'''GUI'''
 +
|style="background:#ddf"|'''Key People'''
 +
|-
 +
||[[Slicer3:StatelessGUI | Keeping the GUI stateless]]
 +
||wjp
 +
|-
 +
||[[Slicer3:EventBindings | Adding keyboard shortcuts]]
 +
||wjp
 +
|-
 +
||[[Slicer3:Human_Interface_and_Style_Guide_for_Developers | GUI style guidelines]]
 +
||wjp
 +
|-
 +
||[[Slicer3:Usability#User-centered_design_practice_for_3DSlicer | User-centered design practice]]
 +
||wjp
 +
|-
 +
||[[Slicer3:Slicer3Brand | 3DSlicer's logo and visual communication guidelines]]
 +
||wjp
 +
|-
 +
||[[Slicer3:Execution_Model_Documentation#Adding_Module_Logos_to_Slicer3 | Incorporating your group's logo and attributions]]
 +
||Jim
 +
|-
 +
||[[Slicer3:GUI_Experiments | Some experiments/advanced techniques for developing slicer3 interfaces]]
 +
||Steve
 +
|-
 +
|style="background:#ddf"|'''Engineering'''
 +
|style="background:#ddf"|'''Key People'''
 +
|-
 +
||Tips for avoiding memory leaksCurrent Practice
 +
||Steve
 +
|-
 +
||Tips for avoiding memory leaks:  [[Slicer3:Memory Management | Suggested change to SmartPointers]]
 +
||Jim
 +
|-
 +
||Generating tests
 +
||Bill
 +
|-
 +
||[[Slicer3:Testing | Setting up Testing]]
 +
||
 +
|-
 +
||[[Slicer3:Builds | Build Information]]
 +
||
 +
|-
 +
||[[Slicer3:Launcher| The Launcher]]
 +
||
 +
|-
 +
|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"|'''Key People'''
 +
|-
 +
||[[Slicer3:DocumentationWink|Documenting a module with wink]]
 +
||
 +
|-
 +
|style="background:#ddf"|'''Integrate Slicer3 into a development environment'''
 +
|style="background:#ddf"|'''Key People'''
 +
|-
 +
||[[Slicer3::Eclipse | Eclipse]]
 +
||keilhack
 +
|-
 +
||[[Slicer3::MSVS200X | Microsoft Visual Studio 200x]]
 +
||
 +
|}
  
 
== Slicer 3 Projects ==
 
== Slicer 3 Projects ==

Revision as of 23:50, 8 November 2008

Home < Slicer3:Developers

Slicer 3 Developer Page

Slicer3LogoHorizontalBeta.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. 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

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

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

Instructions for NA-MIC svn

Slicer3 build instructions

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)

Slicer Bug Tracker

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.