Difference between revisions of "Special:Badtitle/NS100:DeveloperOrientation"
| Line 12: | Line 12: | ||
| | | | ||
|[http://www.na-mic.org/Wiki/index.php/Slicer3:Module_Documentation Module Documentation] and [http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Slicer 3 Documentation in Development] | |[http://www.na-mic.org/Wiki/index.php/Slicer3:Module_Documentation Module Documentation] and [http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Slicer 3 Documentation in Development] | ||
| + | |- | ||
| + | |Build Instructions | ||
| + | | | ||
| + | |[http://wiki.na-mic.org/Wiki/index.php/Slicer3:Build_Instructions Slicer 3 Build Instructions] | ||
| + | |- | ||
| + | |Coding Considerations | ||
| + | | | ||
| + | |[http://wiki.na-mic.org/Wiki/index.php/Slicer3:Style Slicer 3 Coding Style] and [http://wiki.na-mic.org/Wiki/index.php/Slicer3:Interface_Design Slicer 3 Interface Design] | ||
|- | |- | ||
|VC for Browsing Repository | |VC for Browsing Repository | ||
| Line 21: | Line 29: | ||
|[http://www.na-mic.org/svn/Slicer3/trunk/Slicer svn Repository and [http://wiki.na-mic.org/Wiki/index.php/Engineering:SandBox Instructions for svn] | |[http://www.na-mic.org/svn/Slicer3/trunk/Slicer svn Repository and [http://wiki.na-mic.org/Wiki/index.php/Engineering:SandBox Instructions for svn] | ||
|- | |- | ||
| − | | | + | |Dashboard and Visual Blog |
| | | | ||
| − | |[http://wiki.na-mic.org/Wiki/index.php/Slicer3: | + | |http://www.na-mic.org/Dart/Slicer3/Dashboard/ Slicer 3 Dashboard] and [http://wiki.na-mic.org/Wiki/index.php/Slicer3:VisualBlog Visual Blog] |
|- | |- | ||
| − | | | + | |Status Report |
| − | | | + | | |
| − | | | + | |[http://wiki.na-mic.org/Wiki/index.php/Slicer3:Status_Summary Status Reports] |
| − | |||
| − | |||
| − | |||
|- | |- | ||
|Slicer 3 Bug Tracker | |Slicer 3 Bug Tracker | ||
| − | |[http://na-mic.org/Mantis/login_page.php?return=%2FMantis%2Fmain_page.php Bug Tracker] | + | | |
| + | |[http://na-mic.org/Mantis/login_page.php?return=%2FMantis%2Fmain_page.php Slicer 3 Bug Tracker] | ||
|- | |- | ||
|Developer Discussion | |Developer Discussion | ||
| − | |[mailto:slicer-devel@massmail.spl.harvard.edu Slicer Developer's Mailing List] | + | | |
| + | |[mailto:slicer-devel@massmail.spl.harvard.edu Slicer 3 Developer's Mailing List] | ||
|- | |- | ||
|Module Execution Documentation | |Module Execution Documentation | ||
| + | |[http://wiki.na-mic.org/Wiki/index.php/Slicer3:Execution_Model_Documentation Execution Model] | ||
|[http://wiki.na-mic.org/Wiki/index.php/Slicer3:Execution_Model_Documentation Execution Model] | |[http://wiki.na-mic.org/Wiki/index.php/Slicer3:Execution_Model_Documentation Execution Model] | ||
|- | |- | ||
Revision as of 18:24, 30 July 2007
Slicer Developer Orientation
Welcome Slicer Developers. You are creating Slicer's future. After all, Slicer is an open source package suited for easy modular expansion by developers with ideas for Slicer designs and applications. This page acts as a portal to acquaint you with the basics of Slicer development and route you through the table below to an interactive Wiki exclusive to Slicer development that represents a vast community of individuals. The following table contains links to useful resources within the Slicer Wiki:
| Slicer 2.6 (Release) | Slicer 3 (Beta) | |
| Slicer Developer Documentation | Module Documentation and Slicer 3 Documentation in Development | |
| Build Instructions | Slicer 3 Build Instructions | |
| Coding Considerations | Slicer 3 Coding Style and Slicer 3 Interface Design | |
| VC for Browsing Repository | View VC | |
| Slicer svn Repository and SVN Instructions | svn Repository and [http://wiki.na-mic.org/Wiki/index.php/Engineering:SandBox Instructions for svn | |
| Dashboard and Visual Blog | http://www.na-mic.org/Dart/Slicer3/Dashboard/ Slicer 3 Dashboard] and Visual Blog | |
| Status Report | Status Reports | |
| Slicer 3 Bug Tracker | Slicer 3 Bug Tracker | |
| Developer Discussion | Slicer 3 Developer's Mailing List | |
| Module Execution Documentation | Execution Model | Execution Model |
Slicer Development Basics
Slicer is based on Vtk, a graphical library that provides a high-level interface to OpenGL and a pipeline mechanism to connect graphical filters. The library is implemented in C++ but provides a Tcl wrapper to instantiate and execute its methods. Tcl/Tk comprises the rest of 3D Slicer user interface and event handling.
Slicer software supports automatic testing and employs an extreme programming approach with nightly builds natively on multiple platforms. Recent accomplishments include added capability for plugging in external modules using XML-based command line interface.
Before getting started, recognize that developing code for Slicer involves understanding and abiding by slicer license and acknowledgment considerations, including that all software and any associated materials should include an acknowledgement of the NIH Roadmap. See a list of grants and their numbers to make other acknowledgments that helped to fund your work.
Slicer 3 is the latest version of Slicer that has integrated within it features to make adding to Slicer easier than before. If you are new to Slicer, viewing slides on its architecture will familiarize you with its framework.