Difference between revisions of "Slicer3:Loadable Modules"

From Slicer Wiki
Jump to: navigation, search
 
(9 intermediate revisions by 3 users not shown)
Line 3: Line 3:
 
This feature allows Slicer3 modules to be detected and loaded at run-time.  This enables module binaries to be added to Slicer3 without having to be compiled and linked with the main binary.
 
This feature allows Slicer3 modules to be detected and loaded at run-time.  This enables module binaries to be added to Slicer3 without having to be compiled and linked with the main binary.
  
Module authors should add the Loadable Module macro (generatelm) to their CMakeLists.txt file so that the module will be distributable outside of the main Slicer3 build tree.  There will be a future version of Slicer3 that allows users to download and use modules from an online module archive.
+
Module authors should create their modules based on templates like the [http://na-mic.org/ViewVC/index.cgi/trunk/Modules/GradientAnisotropicDiffusionFilter/?sortby=file#dirlist GAD Module] found in the Slicer3 Modules/ subdirectory.  There will be a future version of Slicer3 that allows users to download and use modules from an online module archive.
 
 
For information on how to make your module loadable: [[Slicer3:Loadable_Modules:HOWTO]]
 
  
 
Loadable modules in Slicer3: [[Slicer3:Loadable_Modules:Current]]
 
Loadable modules in Slicer3: [[Slicer3:Loadable_Modules:Current]]
  
== Overview ==
+
== For Developers ==
  
* User experience
+
For information on how to make your module loadable: [[Slicer3:Loadable_Modules:HOWTO]]
** Run slicer
 
** File->Get Modules
 
*** Web browser http://modules.slicer.org/<version #>
 
*** Archived of precompiled shared libraries (platform specific)
 
** Select modules
 
** Modules are downloaded and unpacked into Slicer build tree (install directory)
 
** Restart Slicer
 
** Can remove modules
 
 
 
* Developer
 
** make slicer build tree locally
 
** create module from a template (GUI, Logic, MRML) see GAD
 
** test locally on their platform
 
** create project in NITRC (source forge)
 
** submit module to a “build farm”
 
*** Register svn with slicer.org (Kitware, TBD)
 
** Nightly build gets uploaded to slicer.org
 
 
 
* Phase 1: [[Slicer3:Loadable_Modules:Phase1|Slicer internals]]
 
** runtime module discovery
 
** module template
 
** like CommandLineModuleFactory
 
 
 
* Phase 2: web development, deployment
 
** prototype on wiki
 
** versions, download,
 
** upload
 
 
 
==Questions==
 
  
* Sebastien: let's try to coordinate our [[Slicer3:Build/Modules#Modules| XML module descriptions]]
+
[[Slicer3:Loadable_Modules:Working_Plans]]
  
== References ==
+
[[Slicer3:Loadable_Modules:Status_2009-01-20]]
  
* [http://www.eclipse.org/articles/Article-Plug-in-architecture/plugin_architecture.html Eclipse module architecture]
+
See materials from [http://www.na-mic.org/Wiki/index.php/AHM2009:NITRC_and_Slicer dissusion at 2009 NA-MIC All Hands Meeting].
* [https://addons.mozilla.org/en-US/firefox/browse/type:1 Mozilla extensions for Firefox]
 

Latest revision as of 20:36, 8 May 2009

Home < Slicer3:Loadable Modules

Introduction

This feature allows Slicer3 modules to be detected and loaded at run-time. This enables module binaries to be added to Slicer3 without having to be compiled and linked with the main binary.

Module authors should create their modules based on templates like the GAD Module found in the Slicer3 Modules/ subdirectory. There will be a future version of Slicer3 that allows users to download and use modules from an online module archive.

Loadable modules in Slicer3: Slicer3:Loadable_Modules:Current

For Developers

For information on how to make your module loadable: Slicer3:Loadable_Modules:HOWTO

Slicer3:Loadable_Modules:Working_Plans

Slicer3:Loadable_Modules:Status_2009-01-20

See materials from dissusion at 2009 NA-MIC All Hands Meeting.