Difference between revisions of "Documentation/4.1/Developers"
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
+ | |||
+ | 3D Slicer is a free [http://en.wikipedia.org/wiki/Open_source open source] extensible software application for medical image computing and visualization. Mainly written in [http://en.wikipedia.org/wiki/C%2B%2B C++] and based on the [http://www.na-mic.org/Wiki/index.php/NA-MIC-Kit NA-MIC kit], 3D Slicer relies on a variety of libraries: [http://www.vtk.org VTK], [http://itk.org ITK], [http://commontk.org CTK], [http://www.cmake.org CMake], [http://qt.nokia.com/products/ Qt] and [http://www.python.org/ Python]. | ||
+ | |||
+ | To ensure the stability of the application, relying on a robust [http://www.kitware.com/solutions/softwareprocess/softwareprocess.html software process], the source code is compiled and tested on a daily basis on a [[Documentation/{{documentation/version}}/SlicerApplication/HardwareConfiguration|variety of platform configurations]]. The testing results are summarized and reported using a web-based centralized CDash [http://slicer.cdash.org/index.php?project=Slicer4 dashboard]. Developers of 3D Slicer can also report issues on the [http://massmail.bwh.harvard.edu/mailman/listinfo/slicer-devel open mailing list] or using [http://na-mic.org/Mantis/my_view_page.php 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: [[{{FULLPAGENAME}}/Modules#Command_Line_Interface_.28CLI.29|CLI]], [[{{FULLPAGENAME}}/Modules#Loadable_Modules|Loadable module]] and [[{{FULLPAGENAME}}/Modules#Scripted_Modules|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 [[Documentation/{{documentation/version}}/SlicerApplication/ExtensionsManager|extensions manager]]. | ||
+ | |||
{| border="0" align="center" width="98%" valign="top" cellspacing="7" cellpadding="2" | {| border="0" align="center" width="98%" valign="top" cellspacing="7" cellpadding="2" | ||
|- | |- | ||
Line 9: | Line 20: | ||
|- | |- | ||
|valign="top"| | |valign="top"| | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Resources === | === Resources === |
Revision as of 18:41, 12 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.
Resources
Getting involved
Mailing List - slicer-devel [at] bwh [dot] harvard [dot] edu
|
Compile / Package
Design & Implementation
|
|