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

From NAMIC Wiki
Jump to: navigation, search
Line 57: Line 57:
  
 
<h3>Progress</h3>
 
<h3>Progress</h3>
 +
 +
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
  
 
</div>
 
</div>

Revision as of 21:55, 11 January 2011

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