Difference between revisions of "Slicer3:Developers"

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(28 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{| class="toccolours" style="margin-right: 25px" align="right"
+
<big>'''Note:''' We are migrating this content to the slicer.org domain - <font color="orange">The newer page is [https://www.slicer.org/wiki/Slicer3:Developers  here]</font></big>a
! bgcolor="#ccccff" align="center" | Slicer3
 
|-
 
|
 
[[Slicer3|Home]]
 
|-
 
|
 
[[Slicer3:About|About]]
 
|-
 
|
 
[[Slicer3:FAQ|FAQ]]
 
|-
 
|
 
[[Slicer3:Status|Status]]
 
|-
 
|
 
[[Slicer3:Downloads|Downloads]]
 
|-
 
|
 
[[Slicer3:Documentation|Documentation]]
 
|-
 
|
 
[[Slicer3:Community_Support|Community Support]]
 
|-
 
| '''Developers'''
 
|-
 
|
 
[[Slicer3:Acknowledgements|Acknowledgements]]
 
|-
 
|
 
[[Slicer3:Links|Links]]
 
|}
 
 
 
== Slicer 3 Overview ==
 
[[Image:Slicer3LogoHorizontalBeta.png]]
 
 
 
* For more details on the slicer architecture see: [[media:Slicer 3-beta-2007-04-16.ppt | Architecture Slides]] (updated April, 2007).
 
* Highlights of the new architecture
 
 
 
{|
 
|[[Image:Slicer3-Architecture.jpg|thumb|200px]]
 
|[[Image:Slicer3-Architecture-MRML.jpg|thumb|200px]]
 
|[[Image:Slicer3-Architecture-Layers.jpg|200px|thumb]]
 
|[[Image:ExecutionModelPlugins.png|200px|thumb]]
 
|}
 
 
 
== 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 ===
 
* [[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]
 
* Schematic of application interface & functionality: [[Media:GUIMap.png]]
 
* Schematic of slice GUI: [[Media:SliceGUI.png ]]
 
* [[Slicer3:Build_Instructions | Getting the software and troubleshooting]]
 
* [[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]]
 
 
 
=== 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)
 
 
 
=== MRML [http://www.na-mic.org/Wiki/images/e/e3/Slicer3_MRML.ppt  MRML Slides](Alex) ===
 
* [[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:Data_Model#Undo/Redo_Mechanism  | How undo/redo works, and how to enable it in your code]] (Alex)
 
 
 
=== GUI ===
 
* [[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)
 
 
 
=== Engineering ===
 
* Tips for avoiding memory leaks
 
** Current Practice (Steve)
 
** [[Slicer3:Memory Management | Suggested change to SmartPointers]] (Jim)
 
* Generating tests (Bill)
 
* [[Slicer3:Testing | Setting up Testing]]
 
* [[Slicer3:Launcher| 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 ===
 
* [[Slicer3::Eclipse | Eclipse]] (keilhack)
 
* [[Slicer3::MSVS200X | Microsoft Visual Studio 200x]]
 
 
 
== Slicer 3 Projects ==
 
 
 
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.
 
 
 
''If your name is in bold, you are responsible for that aspect of the project''
 
 
 
* '''[[Slicer3:Architecture/Features|Architecture/Features]]''' ('''Steve Pieper''', Group: Bill Lorensen, Ron Kikinis, Mike Halle, Noby Hata)
 
* '''[[Slicer3:Data_Model|Data Model / libMRML]]''' ('''Alex''', Steve)
 
* '''[[Slicer3:Execution_Model|Execution Model / Command Line Modules]]''' ('''Jim Miller''', Bill Lorensen)
 
* '''[[Slicer3:Interface_Design|Interface Design and Usability ]]''' ('''Wendy Plesniak''', KWWidgets: Sebastien Barre, Yumin Yuan)
 
* '''[[Slicer3:Transition_of_Slicer2.x_Modules|Transition of Selected Slicer2.x Modules to Slicer3]]''' ('''Nicole''', Katie, Wendy, Mathieu)
 
** [[Slicer3:DTMRI|DTMRI]]<nowiki>: </nowiki>Diffusion Images: '''Raul''', Tractography: '''Lauren''' [http://lmi.bwh.harvard.edu LMI]
 
** [[Slicer3:Editor|Editor]]<nowiki>: </nowiki>'''Steve'''
 
** [[Slicer3:ColorsFiducialsFreesurferModelmaker|Colors, Fiducials, FreeSurfer, ModelMaker]]<nowiki>: </nowiki>'''Nicole'''
 
** [[Slicer3:_Image_Guided_Therapy_%28IGT%29|IGT, Trackers]]<nowiki>: </nowiki>'''Haiying'''
 
** [[Slicer3:EM|EMSegment Interface]]<nowiki>: </nowiki>'''Brad Davis'''
 
** [[Slicer3:Slicer_Daemon|SlicerDaemon Interface (for unu, matlab)]]<nowiki>: </nowiki>'''Steve Pieper'''
 
* '''[[Slicer3:Build/Test/Deploy|Build/Test/Deploy System]]''' ('''Andy''', Katie)
 
* '''[[Slicer3:Pipeline_Integration|Loni Pipeline Integration]]''' ('''Jags''')
 
* '''[[Slicer3:Batchmake_Integration|Batchmake/GRID Integration]]''' ('''Stephen Aylward''')
 
* '''[[Slicer3:Registration|Improvements to the registration framework]]''' ('''Stephen Aylward''')
 
* '''[[Slicer3:Python|Python Integration]]''' ('''Dan Blezek''')
 
* '''[[Slicer3:Grid_Interface|Grid Integration]]''' ('''Jeff Grethe''', Neil)
 
* '''[[Slicer3:Performance_Analysis|Slicer3:Performance Analysis]]''' ('''Katie''')
 
* '''[[Slicer3:ThreadingToolKit|Threading ToolKit]]''' ('''Dan Blezek, James Miller, Stephen Aylward''')
 
* '''[[Slicer3:Volume Rendering |Volume Rendering]]''' ('''Andy''')
 
* '''[[Slicer3:XNAT |XNAT Interface]]''' ('''Steve''', Wendy, Dan Marcus, Tim Olsen)
 
* '''[[Slicer3:Web Presence |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 [http://www.na-mic.org/ViewVC/index.cgi/ ViewVC to browse the repository]
 
 
 
[[Engineering:SandBox|Instructions for NA-MIC svn]]
 
 
 
[[Slicer3:Build_Instructions|Slicer3 build instructions]]
 
 
 
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Doxygen documentation for Slicer3].
 
 
 
The [[Slicer3:VisualBlog|Slicer3 VisualBlog]] shows screenshots of slicer developments.
 
 
 
Developers should follow the [[Slicer3:Style|Slicer 3 Coding Style]].
 
 
 
[http://www.na-mic.org/Slicer3/Dashboard Slicer3 Dashboard]
 
 
 
[http://na-mic.org/Mantis/main_page.php Slicer Bug Tracker]
 
 
 
Discussion of slicer3 takes place on the slicer-devel@massmail.spl.harvard.edu list. To join developer's mailing list, send a request to: [mailto:slicer-devel-request@massmail.spl.harvard.edu slicer-devel-request@massmail.spl.harvard.edu] with the keyword ''subscribe'' as the subject. Or access the [http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel slicer-devel archives and web administration interface].
 
 
 
== Design Information ==
 
 
 
May 23, 2006: [[Algorithms:Core1Visit_May06|Algorithm Core workshop.]]
 
 
 
<br /> April 3, 2006: [[Media:Slicer_3-alpha-2006-04-03.ppt| Slicer 3 alpha]] technical powerpoint presentation.
 
 
 
<br />
 
 
 
= 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_2007 | AHM January 2007]]
 
 
 
=== April 3, 2006 ===
 
 
 
There was a [[Slicer3:_Alpha1_Meeting|Slicer3 Alpha1 Design Review]] meeting.
 
 
 
'''[[Slicer3:Alpha|Definition of Alpha Milestone]]'''
 
 
 
=== 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.
 
 
 
=== Implementation of Slicer3 Alpha1 by end of March 2006 ===
 

Latest revision as of 18:07, 10 July 2017

Home < Slicer3:Developers

Note: We are migrating this content to the slicer.org domain - The newer page is herea