2013 Summer Project Week:CLI Improvements
From NAMIC Wiki
Home < 2013 Summer Project Week:CLI Improvements
Key Investigators
- Queen's: Andras Lasso, Csaba Pinter
- Kitware: Jean-Cristophe Fillion-Robin
- Isomics: Steve Pieper
- MEVIS: Hans Meine
Objective
Enhance the CLI interface to accommodate new needs:
- Add logic to put the output under the same hierarchy as the input (like in the case of Transforms)
- Hidden parameter containing the related nodes (CLI doesn't know about the whole scene)
- Extend XML syntax to specify roles
Approach, Plan
The approach is to enhance the CLI interface to accommodate new needs, related to processing nodes in a hierarchy, and to nodes having attributes.
The plan for the project week is to discuss the options and the best approach, and possibly start implementing.
Progress
- Discussed about potential approaches for generalization of the "Reference" concept in CLIs
- Reference concept exists already for: colormaps (hidden associated colormap node for an image), transforms (a transform is applied to an output image)
- Related concepts: model hiearchy passing to CLI
- Use cases (currently not addressed well by the CLI infrastructure):
- Volume's Labelmap node attribute should survive CLI processing
- Patient hierarchy: processed node should be put back into the same location where the referenced node comes from
- Time sequences (managed by hierarchies): node should be put back into the same timestep as the referenced node
- There should be a way for CLIs that are aware of hierarchies to override the default behavior and have access to information stored in the hierarchy (e.g., allow to retrieve th timestamps stored in the time hierarchy and allow the module to put the result into any timestamp)
- Potential solution: put the output node in the same location as the referenced node comes from, in all node hierarchies; pass the hierarchy information to the CLI module => how to implement?
Delivery Mechanism
This work will be delivered to the NA-MIC Kit as an enhancement in the CLI interface.
References
- Relevant ticket in the SlicerRT system: #165
- http://www.slicer.org/slicerWiki/index.php/Slicer3:Execution_Model_Documentation