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/")
 
(87 intermediate revisions by 16 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: [http://www.na-mic.org/Wiki/images/e/e3/Slicer_3-alpha-2006-04-03.ppt Architecture Slides].
 
* 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]]
 
|}
 
 
 
* GUI anatomy
 
 
 
== Information for Developers ==
 
This section centrally locates many existing (and developing) wiki pages useful to Slicer3 developers. The content is currently being developed for the January AHM.
 
 
 
* Introduction to Slicer3 (Steve)
 
** [[Slicer3:Build_Instructions | Getting the software and troubleshooting]]
 
** [[Slicer3:Status_Summary | Status overview]] and Demo
 
** Overall Architecture and Coding Conventions
 
** [[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 - already on wiki)
 
**[[Slicer3:UIEngineering#How_to_draft_a_Slicer_module_.28MyModule.29_GUI_class | How to add an interactive module]] (wjp)
 
* MRML (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
 
** Keeping the GUI stateless (wjp)
 
** [[Slicer3:EventBindings | Adding keyboard shortcuts]] (wjp)
 
** [[Slicer3:Interface_Design#General_Principles | GUI style guidelines for consistent look & feel]] (wjp)
 
** [[Slicer3:Execution_Model_Documentation#Adding_Module_Logos_to_Slicer3 | Incorporating your group's logo and attributions]] (Jim)
 
* Engineering
 
** Tips for avoiding memory leaks
 
*** Current Practice (Steve)
 
*** [[Slicer3:Memory Management | Suggested change to SmartPointers]] (Jim)
 
** Generating tests (Bill)
 
* Where to go for help (Steve)
 
* Status Review and Plan (Steve)
 
 
 
== Slicer 3 Projects ==
 
 
 
Updated November 2006 to reflect activities in preparation for January 2007 AHM. 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)
 
** See [[Slicer3:EventBindings|Slicer3:EventBindings]].
 
* '''[[Slicer3:Transition_of_Slicer2.x_Modules|Transition of Selected Slicer2.x Modules to Slicer3]]''' ('''Nicole''', Katie, Wendy, Mathieu)
 
** [[Slicer3:DTMRI|DTMRI]]<nowiki>: </nowiki>'''Raul''', [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|Pipeline Integration]]''' ('''Jags''')
 
* '''[[Slicer3:Grid_Interface|Grid Integration]]''' ('''Jeff Grethe''', Neil)
 
* '''[[Slicer3:Performance_Analysis|Slicer3:Performance Analysis]]''' ('''Katie''')
 
 
 
== Slicer 3 Quick links ==
 
 
 
The Slicer3 svn repository:
 
 
 
svn co http://www.na-mic.org/svn/Slicer3/trunk Slicer3
 
 
 
([[Engineering:SandBox|Instructions for NA-MIC svn]]).
 
 
 
[[Slicer3:Build_Instructions|Slicer3 build instructions]] can be found on the wiki.
 
 
 
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Doxygen documentation for Slicer3].
 
 
 
A [[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://www.na-mic.org/Bug/index.php Slicer Bug Tracker] (offline right now)
 
 
 
Discussion of slicer3 takes place on the slicer-devel@bwh.harvard.edu list. To join developer's mailing list, send a request to: [mailto:slicer-devel-request@lists.bwh.harvard.edu slicer-devel-request@lists.bwh.harvard.edu] with the keyword ''subscribe'' as the subject.
 
 
 
== 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 Beta ===
 
 
 
* Official release at [[AHM_2007 | AHM January 2007]]
 
 
 
=== Migration Tutorials (from Slicer 2.x to 3.0) by March 2007 ===
 
 
 
* First set of Migration tutorials by Jan 1, 2007
 
* Second set of Migration tutorials by Feb 1, 2007
 
* Complete by March 2007
 
 
 
== Past ==
 
 
 
=== 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