Difference between revisions of "2011 Winter Project Week:Command line module logic redesign"
From NAMIC Wiki
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/") |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 46: | Line 46: | ||
<h3>Approach, Plan</h3> | <h3>Approach, Plan</h3> | ||
+ | * 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 | ||
Line 53: | 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> | ||
Line 71: | Line 85: | ||
==References== | ==References== | ||
− | * [ | + | * [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 redesignKey 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) .