Difference between revisions of "Slicer3:Loadable Modules"

From Slicer Wiki
Jump to: navigation, search
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
  
This feature allows Slicer3 modules to be detected and loaded at run-time.  This allows module binaries to be added to Slicer3 without having to compile and link 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 to their CMakeLists.txt file so that the module will be distributable outside of the main Slicer3 build tree.
+
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.
 
 
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]]
 
For information on how to make your module loadable: [[Slicer3:Loadable_Modules:HOWTO]]

Revision as of 23:52, 22 May 2008

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 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.

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

Loadable modules in Slicer3: Slicer3:Loadable_Modules:Current

Overview

  • User experience
    • Run slicer
    • File->Get Modules
    • 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: Slicer internals
    • runtime module discovery
    • module template
    • like CommandLineModuleFactory
  • Phase 2: web development, deployment
    • prototype on wiki
    • versions, download,
    • upload

Questions

References