|
|
(30 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 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 ===
| |