Difference between revisions of "2011 Winter Project Week:Command line module logic redesign"

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
Line 85: Line 85:
  
 
==References==
 
==References==
* [http://www.slicer.org/slicerWiki/index.php/Slicer3:Execution_Model_Documentation Execution Model Documentation]
+
* [https://www.slicer.org/wiki/Slicer3:Execution_Model_Documentation Execution Model Documentation]
  
 
</div>
 
</div>

Latest revision as of 17:44, 10 July 2017

Home < 2011 Winter Project Week:Command line module logic redesign

Key Investigators

  • Isomics: Steve Pieper
  • GE: Jim Miller

Objective

Develop mechanisms for CommandLineModules to be

  • More interactive
    • return intermediate results
    • steerable
  • More autonomous
    • automatically execute with changes in MRML
  • High level task oriented
    • chain modules together into workflows

while maintaining the simple conceptual model of SEM.


Approach, Plan

  • Develop more communication channels between Slicer and a Command Line Module
  • Develop a MRML-Observer-SEM pattern
  • Use Python interface to call command line modules, script modules to chain
  • Develop a workflow to manage a chain of command line modules and their UI


Progress

Ideas:

  • Have GenerateCLP put parameters into an object
  • Have current variables be references to the object ivars
  • Have a mode in GenerateCLP to not generate the local variables, just the object of variables
  • Define standard API to report a change in a parameter value from harness to plugin and plugin to harness
    • Have GenerateCLP create a method called Update<ParameterName>?
      • Have generated code call user function when changed?
    • Entry points in shared object
    • Message in stdin/stdout for executables

Delivery Mechanism

This work will be delivered to the NA-MIC Kit as a (please select the appropriate options by noting YES against them below)

  1. ITK Module
  2. Slicer Module YES
    1. Built-in
    2. Extension -- commandline
    3. Extension -- loadable
  3. Other (Please specify) .

References