Difference between revisions of "Documentation/4.0/Developers"
From Slicer Wiki
(Prepend documentation/versioncheck template. See http://na-mic.org/Mantis/view.php?id=2887) |
|||
(76 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
+ | <noinclude>{{documentation/versioncheck}}</noinclude> | ||
__NOTOC__ | __NOTOC__ | ||
− | == | + | == 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"| | ||
− | === | + | ===Introduction=== |
---- | ---- | ||
− | + | ||
− | * [[Documentation/{{documentation/version}}/Developers/ | + | * [[Documentation/{{documentation/version}}/Developers/Overview | Overview]] |
− | : | + | : Overview of the development process. |
− | |||
− | |||
− | |||
===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=== | ||
---- | ---- | ||
− | |||
− | |||
− | * [[ | + | * [[Documentation/{{documentation/version}}/Developers/Modules | Modules]] |
− | : Details | + | : 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"| | ||
− | === | + | ===HOW TO=== |
---- | ---- | ||
− | * [[Documentation/ | + | * [[Documentation/{{documentation/version}}/Developers/Tutorials/QtCreator|Use QtCreator]] |
− | : | + | : Setup QtCreator with Slicer |
− | * [[Documentation/{{documentation/version}}/ | + | * [[Documentation/{{documentation/version}}/Developers/Tutorials/ModuleWriting|Create a loadable module]] |
− | : | + | : Step by step tutorial to write C++ module |
− | + | * [[Documentation/{{documentation/version}}/Developers/Tutorials/ExternalModuleWriting|Create an external loadable module]] | |
− | * [[ | + | : Describes how to make a (Slicer / Qt) loadable module that is compiled outside of the slicer build tree. |
− | : | + | |
+ | * [[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] | ||
− | |||
− | |||
− | |||
|} | |} |
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
Requirements for Modules
|
Introduction
Mailing List
Miscellaneous
|
Source Code
Compile/Install
Design & Implementation
|
HOW TO
|