2011 Winter Project Week:Command line module logic redesign
From NAMIC Wiki
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
- Have GenerateCLP create a method called Update<ParameterName>?
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)
- ITK Module
- Slicer Module YES
- Built-in
- Extension -- commandline
- Extension -- loadable
- Other (Please specify) .