Difference between revisions of "Documentation/4.0/Developers/Modules"

From Slicer Wiki
Jump to: navigation, search
Line 8: Line 8:
 
* GUI automatically generated
 
* GUI automatically generated
 
* Links:
 
* Links:
** [http://www.slicer.org/slicerWiki/index.php/Slicer3:Execution_Model_Documentation Slicer3 execution model] (Slicer4 is similar)
+
** [[Slicer3:Execution_Model_Documentation|Slicer3 execution model]] (Slicer4 is very similar)
 +
** CLI in Slicer4 [http://www.na-mic.org/Wiki/index.php/File:Slicer4_CLI.ppt presentation] (2012_01_11)
  
 
= Loadable Modules =
 
= Loadable Modules =

Revision as of 16:58, 11 January 2012

Home < Documentation < 4.0 < Developers < Modules

Back to Developers Information

Slicer 4 supports 3 types of modules. While the developer has to choose between one of the 3 types to implement its module, the end user won't notice a difference as they all share the look&feel. The choice for a given type of module is usually based on the type of inputs/parameters for a given module.

Command Line Interface (CLI)

CLIs are standalone executables with a limited input/output arguments complexity (simple argument types, no user interactions...). They are typically implemented using ITK. The recommended way to write your own CLI is to copy an existing module.

Loadable Modules

Loadable modules are C++ plugins that are built against Slicer. They define custom GUIs for their specific behavior as they have full control over the application.

Scripted Modules

Scripted modules are written in Python and typically but not necessarily use the high level API of Slicer and toolkits.

  • Python Console
  • Full access to the API: VTK, ITK, MRML, Qt and Slicer are fully wrapped
  • Recommended for fast prototyping
  • Links: