Difference between revisions of "Documentation/Nightly/Developers"

From Slicer Wiki
Jump to: navigation, search
m
Tag: 2017 source edit
 
(65 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 +
<noinclude>{{documentation/versioncheck}}</noinclude>
 
__NOTOC__
 
__NOTOC__
 
+
{| border="0" align="center" width="98%" cellspacing="7" cellpadding="2" valign="top"
 
 
{| border="0" align="center" width="98%" valign="top" cellspacing="7" cellpadding="2"
 
 
|-
 
|-
 
|<span style="color: #555555; font-size: 18px; font-weight: bold;">New Developers</span>:&nbsp;&nbsp;&nbsp;&nbsp;<big><big>Welcome ! Check these '''[[{{FULLPAGENAME}}/StartHere|instructions]]''' !</big></big>
 
|<span style="color: #555555; font-size: 18px; font-weight: bold;">New Developers</span>:&nbsp;&nbsp;&nbsp;&nbsp;<big><big>Welcome ! Check these '''[[{{FULLPAGENAME}}/StartHere|instructions]]''' !</big></big>
 
|}
 
|}
  
{| border="0" align="center" width="98%" valign="top" cellspacing="7" cellpadding="2"
+
{| border="0" align="center" width="98%" cellspacing="7" cellpadding="2" valign="top"
 
|-
 
|-
! width="33%"|
+
! width="33%" |
 
! |
 
! |
! width="33%"|
+
! width="33%" |
 
! |
 
! |
! width="33%"|
+
! width="33%" |
 
|-  
 
|-  
|valign="top"|
+
| valign="top" |
 
----
 
----
 
<span style="color: #555555; font-size: 18px; font-weight: bold;">Getting involved</span>
 
<span style="color: #555555; font-size: 18px; font-weight: bold;">Getting involved</span>
 
----
 
----
  
* [[{{FULLPAGENAME}}/Meetings|Developer meetings]]
+
[[Documentation/{{documentation/version}}/Developers/StartHere|Start here]]
: It is open to everyone, feel free to join.
+
 
 +
:New community member checklist
 +
 
 +
[[{{FULLPAGENAME}}/Meetings|Developer meetings]]
 +
 
 +
:It is open to everyone, feel free to join.
 +
 
 +
[https://discourse.slicer.org Discussion Forum]
  
* [http://massmail.bwh.harvard.edu/mailman/listinfo/slicer-devel Developers mailing list] / [http://massmail.bwh.harvard.edu/mailman/listinfo/slicer-devel Sign-up] / [http://slicer-devel.65872.n3.nabble.com/ Browse archives]
+
:The most effective way to get help from the community
 +
<!--
 +
[http://slicer-devel.65872.n3.nabble.com/ Search developers mailing list] / [http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel Sign-up]
 
: Intended for discussion of programming related questions
 
: Intended for discussion of programming related questions
 +
-->
 +
 +
[[Documentation/{{documentation/version}}/Developers/FAQ|FAQ]]
 +
 +
:Set of common development questions/answers
 +
 
----
 
----
 
<span style="color: #555555; font-size: 18px; font-weight: bold;">Resources</span>
 
<span style="color: #555555; font-size: 18px; font-weight: bold;">Resources</span>
 
----
 
----
* [http://na-mic.org/Mantis/roadmap_page.php Roadmap]{{new}}
+
[[Roadmap|Roadmap]]{{updated}}
: What's next ? What's the plan ?
+
 
 +
:What's next ? What's the plan ?
 +
 
 +
[[Documentation/Labs|Labs]] {{new}}
  
* [http://slicer.cdash.org/index.php?project=Slicer4 CDash Quality Dashboard] / [[{{FULLPAGENAME}}/Tutorials/DashboardSetup|Setup a dashboard]]
+
:Keep track of on-going experiments.
: Nightly, continuous and experimental dashboards.
 
  
* [http://na-mic.org/Mantis Bug tracker] / [http://na-mic.org/Mantis/signup_page.php Register] / [[Documentation/{{documentation/version}}/Report_a_problem|Report a problem]]
+
[http://apidocs.slicer.org/master/annotated.html Doxygen]
: Web-based bug tracking system
 
  
* [http://slicer.org/doc/html/classes.html Doxygen]
+
:Source code API documentation.
: Source code API documentation.
 
  
* [[{{FULLPAGENAME}}/Style Guide|Slicer Style Guidelines]]{{new}}
+
Source code repository
: Consistency and Readability for a manageable code base
 
  
* [[Slicer4:Developers|Developer Projects]]
+
:[https://github.com/Slicer/Slicer Github] or [http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk SVN]
: Pages for the developer projects.
 
  
* [[Release Details|Change logs and release details]]
+
CDash Quality Dashboard: [http://slicer.cdash.org/index.php?project=Slicer4 SlicerStable], [http://slicer.cdash.org/index.php?project=SlicerPreview SlicerPreview]
: Informations about Slicer releases
 
  
----
+
:Nightly, continuous and experimental dashboards. - <small>[[{{FULLPAGENAME}}/Tutorials/DashboardSetup|Setup a dashboard]]</small>
<span style="color: #555555; font-size: 18px; font-weight: bold;">Bookmarks</span>
+
 
----
+
[https://issues.slicer.org Bug tracker] / [[Documentation/{{documentation/version}}/Report_a_problem|Report a problem]] /  [[Documentation/{{documentation/version}}/Developers/Tutorials/ContributePatch|Contribute a patch]]
* [http://marklodato.github.com/visual-git-guide/index-en.html A Visual Git Reference]
+
 
 +
:Web-based bug tracking system - <small>[[Documentation/{{documentation/version}}/Developers/BugTrackerConfiguration|Configuration]]</small>
 +
 
 +
[[{{FULLPAGENAME}}/Style Guide|Slicer Style Guidelines]]
 +
 
 +
:Consistency and Readability for a manageable code base
 +
 
 +
[https://slicer.readthedocs.io/en/latest/developer_guide/script_repository.html Script repository]
 +
 
 +
:Collection of python scripts manipulating various Slicer components.
 +
 
 +
[https://github.com/Slicer/Slicer/wiki/Release-Details Change logs and release details]
 +
 
 +
:Informations about Slicer releases
 +
 
 +
[[Resources]]
  
 +
:List Slicer resources and who to contact in case of problem.
  
|bgcolor="#CCCCCC"|
+
| bgcolor="#CCCCCC" |
|valign="top"|
+
| valign="top" |
 
----
 
----
 
<span style="color: #555555; font-size: 18px; font-weight: bold;">Build instructions</span>
 
<span style="color: #555555; font-size: 18px; font-weight: bold;">Build instructions</span>
 
----
 
----
* [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] / [[Documentation/{{documentation/version}}/Developers/Build_Instructions#Using_git-svn|git-svn setup]]
 
: <code>git clone git://github.com/Slicer/Slicer.git</code>
 
  
* [[Documentation/{{documentation/version}}/Developers/Build Instructions|Build Slicer application]]
+
[https://slicer.readthedocs.io/en/latest/developer_guide/extensions.html Create Slicer extensions]
: Compiling and installing Slicer from source.
+
 
 +
:Build, test, package and distribute extensions
 +
 
 +
[https://slicer.readthedocs.io/en/latest/developer_guide/build_instructions Build Slicer application]
 +
 
 +
:Compiling and installing Slicer from source.
  
* [[Documentation/{{documentation/version}}/Developers/Build Module|Build Module]]{{new}}
+
[[Documentation/{{documentation/version}}/Developers/Build Module|Build Module]]
: Compiling slicer modules outside of the slicer source tree.
+
 
 +
:Compiling slicer modules outside of the slicer source tree.
  
* [[Documentation/{{documentation/version}}/Developers/Tutorials/BuildTestPackageDistributeExtensions|Build Slicer extensions]]  {{new}}
+
----
: Build, test, package and distribute extensions
+
<span style="color: #555555; font-size: 18px; font-weight: bold;">How-tos</span>&nbsp;&nbsp;
 +
----
 +
{{:{{FULLPAGENAME}}/Tutorials}}
 +
----
 +
<span style="color: #555555; font-size: 18px; font-weight: bold;">Quick links</span>&nbsp;&nbsp;
 +
----
 +
{{:{{FULLPAGENAME}}/Quicklinks}}
 +
 
 +
| bgcolor="#CCCCCC" |
 +
| valign="top" |
 
----
 
----
 
<span style="color: #555555; font-size: 18px; font-weight: bold;">Design & Implementation</span>
 
<span style="color: #555555; font-size: 18px; font-weight: bold;">Design & Implementation</span>
 
----
 
----
  
* [[{{FULLPAGENAME}}/Modules | Modules]]{{updated}}
+
[[{{FULLPAGENAME}}/Modules | Modules]]
: Comparison between the different supported module types
+
 
 +
:Comparison between the different supported module types
 +
 
 +
[https://slicer.readthedocs.io/en/latest/developer_guide/mrml_overview.html Data Model / MRML]
 +
 
 +
:Objects and their organization. MRML Library provides API for managing medical image data type
 +
 
 +
[[{{FULLPAGENAME}}/Logics | Logics]]
 +
 
 +
:Details the role of MRML/Slicer/Application/Modules logics and Displayable managers
 +
 
 +
[[{{FULLPAGENAME}}/Layouts | Layouts]] {{updated}}
 +
 
 +
:How to control the layout of the views
 +
 
 +
[[{{FULLPAGENAME}}/Slice Orientation Presets | Slice Orientation Presets]] {{new}}
 +
 
 +
:How to manage slice orientation presets
 +
 
 +
[[{{FULLPAGENAME}}/Slicelets | Slicelets]]
 +
 
 +
:Create simple standalone applications (slicelets)
 +
 
 +
[[{{FULLPAGENAME}}/IO | IO Mechanism]]
 +
 
 +
:How to read or write nodes from file
 +
 
 +
[[{{FULLPAGENAME}}/Python scripting | Python scripting]]
 +
 
 +
:Presents the underlying infrastructure.
 +
 
 +
[[{{FULLPAGENAME}}/Charts | Charts]]
 +
 
 +
:Description of the Charting (jqPlot) architecture.
 +
 
 +
[https://slicer.readthedocs.io/en/latest/developer_guide/modules/plots.html Plots]
 +
 
 +
:Description of the Plotting (VTK) architecture.
 +
 
 +
[[{{FULLPAGENAME}}/CompressedVideo | Compressed Video]] {{new}}
 +
 
 +
:Description of the compressed video architecture.
  
* Internals
+
[[{{FULLPAGENAME}}/DirectoryStructure | Directory Structure]]
** [[{{FULLPAGENAME}}/MRML | Data Model / MRML]] - Objects and their organization. MRML Library provides API for managing medical image data type
 
** [[{{FULLPAGENAME}}/Logics | Logics]] - Details the role of MRML/Slicer/Application/Modules logics and Displayable managers
 
** [[{{FULLPAGENAME}}/IO | IO Mechanism]] - How to read or write nodes from file
 
  
* [[{{FULLPAGENAME}}/Python scripting | Python scripting]]
+
:Files location in the build and install tree.
: Presents the underlying infrastructure.
 
  
* [[{{FULLPAGENAME}}/Charts | Charts]]
+
[[{{FULLPAGENAME}}/QtPlugins|Qt Plugins]]
: Description of the Charting architecture.
 
  
* [[{{FULLPAGENAME}}/Build system | Build system]]
+
:How to build and load Qt plugins.
: Details how Slicer is built and packaged.
 
  
* [[{{FULLPAGENAME}}/QtTesting | QtTesting]]
+
[[{{FULLPAGENAME}}/Build system | Build system / Release process / Factory description]]
: Testing framework to test Slicer application. It complements unit tests.
 
  
|bgcolor="#CCCCCC"|
+
:Details how Slicer is built and packaged.
|valign="top"|
+
 
----
+
[[{{FULLPAGENAME}}/QtTesting | QtTesting]]
{{:{{FULLPAGENAME}}/Tutorials}}
+
 
 +
:Testing framework to test Slicer application. It complements unit tests.
  
 
|}
 
|}
  
<hr>
+
<hr />
  
  
 
[[{{collaborator|logo|slicer4}}|x300px|center]]
 
[[{{collaborator|logo|slicer4}}|x300px|center]]

Latest revision as of 08:14, 3 May 2022

Home < Documentation < Nightly < Developers


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


New Developers:    Welcome ! Check these instructions !

Getting involved


Start here

New community member checklist

Developer meetings

It is open to everyone, feel free to join.

Discussion Forum

The most effective way to get help from the community

FAQ

Set of common development questions/answers

Resources


Roadmap  UPDATED

What's next ? What's the plan ?

Labs   NEW

Keep track of on-going experiments.

Doxygen

Source code API documentation.

Source code repository

Github or SVN

CDash Quality Dashboard: SlicerStable, SlicerPreview

Nightly, continuous and experimental dashboards. - Setup a dashboard

Bug tracker / Report a problem / Contribute a patch

Web-based bug tracking system - Configuration

Slicer Style Guidelines

Consistency and Readability for a manageable code base

Script repository

Collection of python scripts manipulating various Slicer components.

Change logs and release details

Informations about Slicer releases

Resources

List Slicer resources and who to contact in case of problem.

Build instructions


Create Slicer extensions

Build, test, package and distribute extensions

Build Slicer application

Compiling and installing Slicer from source.

Build Module

Compiling slicer modules outside of the slicer source tree.

How-tos  


Migration Guide

How to update Slicer extension code following breaking changes in Slicer or dependent toolkits (VTK, ITK, Qt, ...)

Source code How-tos

How to checkout the source and contribute patches

Module How-tos

How to create or build modules, how to add or update remote modules

Testing How-tos

How to write tests and manage testing data

Documentation How-tos

How to document module or extension

Extension How-tos

How to contribute, build or package extensions

Misc How-tos

How to setup QtCreator, setup dashboard, work with QtDesigner, port modules


Debugging instructions: https://slicer.readthedocs.io/en/latest/developer_guide/debugging/index.html


Quick links  


Stable Dashboard
Preview Dashboard
Source
C++ API

Contribute
Style Guide
Issue Tracker

WikiCheatSheet, Wiki Editing Guide

Mailing list archives
FAQ



Design & Implementation


Modules

Comparison between the different supported module types

Data Model / MRML

Objects and their organization. MRML Library provides API for managing medical image data type

Logics

Details the role of MRML/Slicer/Application/Modules logics and Displayable managers

Layouts   UPDATED

How to control the layout of the views

Slice Orientation Presets   NEW

How to manage slice orientation presets

Slicelets

Create simple standalone applications (slicelets)

IO Mechanism

How to read or write nodes from file

Python scripting

Presents the underlying infrastructure.

Charts

Description of the Charting (jqPlot) architecture.

Plots

Description of the Plotting (VTK) architecture.

Compressed Video   NEW

Description of the compressed video architecture.

Directory Structure

Files location in the build and install tree.

Qt Plugins

How to build and load Qt plugins.

Build system / Release process / Factory description

Details how Slicer is built and packaged.

QtTesting

Testing framework to test Slicer application. It complements unit tests.


Slicer4Announcement-HiRes.png