Difference between revisions of "Documentation/4.0/Developers"

From Slicer Wiki
Jump to: navigation, search
(Prepend documentation/versioncheck template. See http://na-mic.org/Mantis/view.php?id=2887)
 
(78 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
<noinclude>{{documentation/versioncheck}}</noinclude>
 
__NOTOC__
 
__NOTOC__
== Documentation ==
+
== Developers Information ==
 +
{|
 +
|
 +
 
 +
{{note}} Slicer4 developer documentation is under development with the idea that tutorials and related information will be available to support work at the [http://na-mic.org NA-MIC] [http://www.na-mic.org/Wiki/index.php/2012_Winter_Project_Week 2012 Project Week].
 +
 
 +
=Requirements for Modules=
 +
* The module is '''feature complete''', i.e. it does everything that it advertises
 +
* The module has a '''test'''. See [http://wiki.na-mic.org/Wiki/index.php/Slicer3:Execution_Model_Testing '''here'''] for more information.
 +
* The module is fully documented. [[Documentation/{{documentation/version}}/Modules/YOURMODULENAME|Template]] and [[Documentation/{{documentation/version}}/HowTo|How-to]] for the end user documentation.
 +
* The module complies with [[Documentation-Rons-Rules-For-Tools|Rons rules for tool]] and the [[Documentation/{{documentation/version}}/Developers/Style Guide|style guidelines]], including [[Slicer3:Human_Interface_and_Style_Guide_for_Developers#Colors:_application_palettes|color palette]].
 +
*Use the logos in the [[Template:Collaborator|List of Collaborators]]
 +
|
 +
[[{{collaborator|logo|slicer4}}|x300px|right]]
 +
|}
 +
 
 
{| 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 11: Line 27:
 
|valign="top"|
 
|valign="top"|
  
===Compile/Install===
+
===Introduction===
 
----
 
----
<!--
+
 
* [[Documentation/{{documentation/version}}/Developers/Git| Git Instructions]]
+
* [[Documentation/{{documentation/version}}/Developers/Overview | Overview]]
: Git is the revision control system that Slicer uses. If you would like to have the bleeding edge version of Slicer, or you would like to contribute code, this link describes the method you must use to get the code.
+
: Overview of the development process.
-->
 
* [[Documentation/{{documentation/version}}/Developers/Build And Install | Building and Installation instructions]]
 
: Compiling and installing Slicer from source.
 
  
 
===Mailing List===
 
===Mailing List===
Line 24: Line 37:
 
* [http://massmail.bwh.harvard.edu/mailman/listinfo/slicer-devel Developers mailing list]
 
* [http://massmail.bwh.harvard.edu/mailman/listinfo/slicer-devel Developers mailing list]
 
: Intended for the discussion of programming related questions.
 
: Intended for the discussion of programming related questions.
 +
* [http://slicer-devel.65872.n3.nabble.com/ Developers mailing list archives]
 +
: Search for priorly posted questions and answers on nabble.com
 +
 +
===Miscellaneous===
 +
----
 +
* [[Documentation/4.0/Developers/ImageGallery|Image gallery]]
 +
: Set of screenshots showing the different Slicer components.
 +
 +
* [[Documentation/{{documentation/version}}/Developers/Style Guide|Slicer Style Guidelines]]
 +
: Consistency and Readability for a manageable code base
 +
 +
* [[Documentation/{{documentation/version}}/Developers/Sandbox|MediaWiki Extensions testing page]]
 +
: This page serves as a MediaWiki sandbox.
 +
 +
* [[Slicer4:Developers|Developer Projects]]
 +
: Pages for the developer projects.
 +
 +
 +
<!--
 +
* [[Documents and links]]
 +
: A set of presentations made on Slicer and document talking about it.
 +
 +
* [[Documentation/4.0/FAQ]]
 +
: A set of common questions/answer on Slicer goal and possibility.
 +
-->
  
 
|bgcolor="#CCCCCC"|
 
|bgcolor="#CCCCCC"|
 
|valign="top"|
 
|valign="top"|
 +
 +
===Source Code===
 +
----
 +
* [http://svn.slicer.org/Slicer4/trunk SVN repository]
 +
: <code>svn checkout http://svn.slicer.org/Slicer4/trunk</code>
 +
 +
* [http://slicer.org/doc/html/classes.html Doxygen]
 +
: Source code API documentation. 
 +
 +
* [http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk ViewVC] ([http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision last commit])
 +
: Web-based code repository viewer.
 +
 +
===Compile/Install===
 +
----
 +
* [[Documentation/{{documentation/version}}/Developers/Build Instructions|Building instructions]]
 +
: Compiling and installing Slicer from source.
 +
 +
* [http://slicer.cdash.org/index.php?project=Slicer4 CDash (Quality Dashboard)]
 +
: Nightly, continuous and experimental dashboards.
 +
 +
* [[Release Details|Releases]]
 +
: Informations of Slicer releases
  
 
===Design & Implementation===
 
===Design & Implementation===
 
----
 
----
* [[MRML]]
 
: Objects and their organization.
 
  
* [[Displayable Manager]]
+
* [[Documentation/{{documentation/version}}/Developers/Modules | Modules]]
: Details how displayable manager works.
+
: Comparison between the different module types supported by Slicer
 +
 
 +
* [[Documentation/{{documentation/version}}/Developers/MRML | Data Model - MRML]]
 +
: Objects and their organization. MRML Library provides API for managing medical image data type.
 +
 
 +
* [[Documentation/{{documentation/version}}/Developers/Logics | Logics]]
 +
: Details the role of logics in Slicer and lists the different types such as [[Documentation/{{documentation/version}}/Developers/DisplayableManagers | displayable managers]].
 +
 
 +
* [[Documentation/{{documentation/version}}/Developers/Python scripting | Python scripting]]
 +
: Presents the underlying infrastructure.
  
 +
* [[Documentation/{{documentation/version}}/Developers/Build system | Build system]]
 +
: Details how Slicer is built and packaged.
  
 
|bgcolor="#CCCCCC"|
 
|bgcolor="#CCCCCC"|
 
|valign="top"|
 
|valign="top"|
  
===Miscellaneous===
+
===HOW TO===
 
----
 
----
* [[Image gallery]]
+
* [[Documentation/{{documentation/version}}/Developers/Tutorials/QtCreator|Use QtCreator]]
: Set of screenshots showing VolView4 in action.
+
: Setup QtCreator with Slicer
  
* [[MediaWiki Extension test]]
+
* [[Documentation/{{documentation/version}}/Developers/Tutorials/ModuleWriting|Create a loadable module]]
: This page serves as a MediaWiki sandbox
+
: Step by step tutorial to write C++ module
  
<!--
+
* [[Documentation/{{documentation/version}}/Developers/Tutorials/ExternalModuleWriting|Create an external loadable module]]
* [[Documents and links]]
+
: Describes how to make a (Slicer / Qt) loadable module that is compiled outside of the slicer build tree.
: Set of presentations made on Slicer and document talking about it.
+
 
 +
* [[Documentation/{{documentation/version}}/Developers/Tutorials/ExtensionWriting|Create an extension]]
 +
: Describes how to take your command line module or loadable module and turn it into an extension for Slicer 4.0
 +
 
 +
* [[Documentation/{{documentation/version}}/Developers/Tutorials/Debug Instructions|Debug]]
 +
: How to debug Slicer.
 +
 
 +
* [[Documentation/{{documentation/version}}/Developers/Tutorials/Troubleshooting|Troubleshooting Slicer]]
 +
: Hints for narrowing down run time issues.
 +
 
 +
* [[Documentation/{{documentation/version}}/Developers/Tutorials/WidgetWriting|Write a Widget for Slicer and Qt Designer]]
 +
: Prerequisites, Notes, Coding style and step-by-step
 +
 
 +
* [[Documentation/{{documentation/version}}/Developers/Tutorials/QtDesigner|Use custom widgets in Qt Designer]]
 +
 
 +
* [[Documentation/{{documentation/version}}/Developers/Tutorials/PythonAndUIFile|Use UI file from Slicer python]]
 +
 
 +
* [[Documentation/{{documentation/version}}/Developers/Tutorials/DashboardSetup|Setup a dashboard]]
 +
 
 +
* [[Documentation/{{documentation/version}}/Developers/Tutorials/MemoryManagement|Avoid memory leaks]]
 +
 
 +
* [http://www.na-mic.org/Wiki/index.php/Projects:MATLABSlicerExampleModule Pass data between Slicer and Matlab]
  
* [[FAQ]]
 
: Set of common questions/answer on VolView4 goal and possibility
 
-->
 
 
|}
 
|}

Latest revision as of 07:36, 14 June 2013

Home < Documentation < 4.0 < Developers


For the latest Slicer documentation, visit the read-the-docs.


Developers Information

Note Slicer4 developer documentation is under development with the idea that tutorials and related information will be available to support work at the NA-MIC 2012 Project Week.

Requirements for Modules

Slicer4Announcement-HiRes.png

Introduction


Overview of the development process.

Mailing List


Intended for the discussion of programming related questions.
Search for priorly posted questions and answers on nabble.com

Miscellaneous


Set of screenshots showing the different Slicer components.
Consistency and Readability for a manageable code base
This page serves as a MediaWiki sandbox.
Pages for the developer projects.


Source Code


svn checkout http://svn.slicer.org/Slicer4/trunk
Source code API documentation.
Web-based code repository viewer.

Compile/Install


Compiling and installing Slicer from source.
Nightly, continuous and experimental dashboards.
Informations of Slicer releases

Design & Implementation


Comparison between the different module types supported by Slicer
Objects and their organization. MRML Library provides API for managing medical image data type.
Details the role of logics in Slicer and lists the different types such as displayable managers.
Presents the underlying infrastructure.
Details how Slicer is built and packaged.

HOW TO


Setup QtCreator with Slicer
Step by step tutorial to write C++ module
Describes how to make a (Slicer / Qt) loadable module that is compiled outside of the slicer build tree.
Describes how to take your command line module or loadable module and turn it into an extension for Slicer 4.0
How to debug Slicer.
Hints for narrowing down run time issues.
Prerequisites, Notes, Coding style and step-by-step