Difference between revisions of "Documentation/4.1/Developers"
Line 27: | Line 27: | ||
! width="33%"| | ! width="33%"| | ||
|- | |- | ||
+ | |valign="top"| | ||
+ | |||
+ | === Getting involved === | ||
+ | ---- | ||
+ | |||
+ | * [[{{FULLPAGENAME}}/Meetings|Developer meetings]] | ||
+ | : It is open to everyone, feel free to join. | ||
+ | |||
+ | * [http://massmail.bwh.harvard.edu/mailman/listinfo/slicer-devel Developers mailing list] / [http://slicer-devel.65872.n3.nabble.com/ Browse archives] | ||
+ | : Intended for discussion of programming related questions | ||
+ | |||
+ | |bgcolor="#CCCCCC"| | ||
|valign="top"| | |valign="top"| | ||
Line 39: | Line 51: | ||
* [http://slicer.org/doc/html/classes.html Doxygen] | * [http://slicer.org/doc/html/classes.html Doxygen] | ||
: Source code API documentation. | : Source code API documentation. | ||
+ | |||
+ | * [[{{FULLPAGENAME}}/Style Guide|Slicer Style Guidelines]] | ||
+ | : Consistency and Readability for a manageable code base | ||
* [https://github.com/Slicer/Slicer Git repository] / [http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk ViewVC] / [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision last commit] | * [https://github.com/Slicer/Slicer Git repository] / [http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk ViewVC] / [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision last commit] | ||
: <code>git clone git://github.com/Slicer/Slicer.git</code> | : <code>git clone git://github.com/Slicer/Slicer.git</code> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* [[Slicer4:Developers|Developer Projects]] | * [[Slicer4:Developers|Developer Projects]] | ||
: Pages for the developer projects. | : Pages for the developer projects. | ||
− | | | + | * [[Slicer4:QtPort/Releases|Change logs and release details]] |
− | + | : Informations about Slicer releases | |
=== Step by step - Develop a module or an extension === | === Step by step - Develop a module or an extension === |
Revision as of 06:35, 15 June 2012
Home < Documentation < 4.1 < Developers
3D Slicer is a free open source extensible software application for medical image computing and visualization. Mainly written in C++ and based on the NA-MIC kit, 3D Slicer relies on a variety of libraries: VTK, ITK, CTK, CMake, Qt and Python.
To ensure the stability of the application, relying on a robust software process, the source code is compiled and tested on a daily basis on a variety of platform configurations. The testing results are summarized and reported using a web-based centralized CDash dashboard. Developers of 3D Slicer can also report issues on the open mailing list or using web-based bug tracking system.
3D Slicer consists of both a lean application core and modules offering specific functionality. The core implements the user interface, provides support for data input/output (IO) and visualization and also exposes developer interfaces that support extension of the application with new modules.
Three types of modules are supported: CLI, Loadable module and Scripted module. While the developer has to choose between one of the 3 types to implement its module, the end user won't notice the difference as they all share the same look & feel. The choice for a given type of module is usually based on the type of inputs/parameters for a given module.
These modules can be either built-in or installed on demand via the extensions manager.
Add or improve a functionality: Where to start ?
Developer references
Getting involved
|
Resources
Step by step - Develop a module or an extensionBuild instructions
Design & Implementation
|
|