Difference between revisions of "NA-MIC/Projects/NA-MIC Kit/Execution Model"

From NAMIC Wiki
Jump to: navigation, search
Line 3: Line 3:
 
'''Objective:''' The Slicer3 Execution Model realizes the "Extensible Algorithmic Framework" goal by providing an interactive point-and-click interface to ITK-based command line executables as well as a batch processing interface to execute large scale experiments on clusters and grids. This objective is reached without requiring extensive re-engineering by the algorithm developer. The Execution Model uses an XML syntax to describe algorithm options and user interface controls. Slicer3 constructs the appropriate user interfaces from this description and manages the data transfer to and from the algorithm module. Modules are discovered at runtime and delivered to clinicians as plugins to Slicer3.
 
'''Objective:''' The Slicer3 Execution Model realizes the "Extensible Algorithmic Framework" goal by providing an interactive point-and-click interface to ITK-based command line executables as well as a batch processing interface to execute large scale experiments on clusters and grids. This objective is reached without requiring extensive re-engineering by the algorithm developer. The Execution Model uses an XML syntax to describe algorithm options and user interface controls. Slicer3 constructs the appropriate user interfaces from this description and manages the data transfer to and from the algorithm module. Modules are discovered at runtime and delivered to clinicians as plugins to Slicer3.
  
'''Progress:''' A base implementation of module discovery, user interface construction, and module execution is integrated into Slicer3.  The implementation supports modules packaged as command line executables as well as modules loaded as dynamic libraries. A rich set of parameter types can be provided to a module including: scalar images, vector images, diffusion weighted images, diffusion tensor images, models, fiducials, booleans, integers, floating point numbers, strings, lists, and enumerations.  Additional parameter datatypes such as scenes, comma separated value files, and transforms are under development. Parameter sets can be archived as part of a MRML scene in Slicer3. Parameters are realized in the Slicer3 user interface using a rich set of widgets that include: node selectors, sliders, text entries, spin boxes, check boxes, radio buttons, and directory browsers. Modules can report multistage progress and modules can be terminated from Slicer3. Modules are run in a separate thread of execution and are queued so that only one module will execute at a time. Modules report information to the standard Slicer3 logging facility. Extensive documentation on the execution model is available describing the XML module description, the parameter types, command line parameter parsing tools, the automatic user interface construction, process control tools, and CMake configurations for new modules.  
+
'''Progress:''' A base implementation of module discovery, user interface construction, and module execution is integrated into Slicer3.  The implementation supports modules packaged as command line executables as well as modules loaded as dynamic libraries. Modules can provide their own help information, acknowledgments, and logos. A rich set of parameter types can be provided to a module including: scalar images, vector images, diffusion weighted images, diffusion tensor images, geometry, points, booleans, integers, floating point numbers, strings, files, directories, lists, and enumerations.  Additional parameter datatypes such as MRML scenes, comma separated value files, and transforms are under development. Parameter sets can be archived as part of a MRML scene in Slicer3. Parameters are realized in the Slicer3 user interface using a rich set of widgets that include: node selectors, sliders, text entries, spin boxes, check boxes, radio buttons, and directory browsers. Modules can report multistage progress and modules can be terminated from Slicer3. Modules are run in a separate thread of execution and are queued so that only one module will execute at a time. Modules report information to the standard Slicer3 logging facility. Extensive documentation on the execution model is available describing the XML module description, the parameter types, command line parameter parsing tools, the automatic user interface construction, process control tools, and CMake configurations for new modules.  
 +
 
 +
[Image:AnisotropicDiffusionFilterGUI.png]
  
  
Line 14: Line 16:
 
* [[Slicer3:Execution_Model|Slicer3 Execution Model]]
 
* [[Slicer3:Execution_Model|Slicer3 Execution Model]]
 
* [[Slicer3:Execution Model Documentation | Slicer3 Execution Model Documentation]]
 
* [[Slicer3:Execution Model Documentation | Slicer3 Execution Model Documentation]]
 +
* [[Slicer3:VisualBlog | Slicer3 Visual Blog]]

Revision as of 21:37, 19 April 2007

Home < NA-MIC < Projects < NA-MIC Kit < Execution Model
Back to NA-MIC_Collaborations

Objective: The Slicer3 Execution Model realizes the "Extensible Algorithmic Framework" goal by providing an interactive point-and-click interface to ITK-based command line executables as well as a batch processing interface to execute large scale experiments on clusters and grids. This objective is reached without requiring extensive re-engineering by the algorithm developer. The Execution Model uses an XML syntax to describe algorithm options and user interface controls. Slicer3 constructs the appropriate user interfaces from this description and manages the data transfer to and from the algorithm module. Modules are discovered at runtime and delivered to clinicians as plugins to Slicer3.

Progress: A base implementation of module discovery, user interface construction, and module execution is integrated into Slicer3. The implementation supports modules packaged as command line executables as well as modules loaded as dynamic libraries. Modules can provide their own help information, acknowledgments, and logos. A rich set of parameter types can be provided to a module including: scalar images, vector images, diffusion weighted images, diffusion tensor images, geometry, points, booleans, integers, floating point numbers, strings, files, directories, lists, and enumerations. Additional parameter datatypes such as MRML scenes, comma separated value files, and transforms are under development. Parameter sets can be archived as part of a MRML scene in Slicer3. Parameters are realized in the Slicer3 user interface using a rich set of widgets that include: node selectors, sliders, text entries, spin boxes, check boxes, radio buttons, and directory browsers. Modules can report multistage progress and modules can be terminated from Slicer3. Modules are run in a separate thread of execution and are queued so that only one module will execute at a time. Modules report information to the standard Slicer3 logging facility. Extensive documentation on the execution model is available describing the XML module description, the parameter types, command line parameter parsing tools, the automatic user interface construction, process control tools, and CMake configurations for new modules.

[Image:AnisotropicDiffusionFilterGUI.png]


Key Investigators:

  • Dan Blezek, Jim Miller and Bill Lorensen (GE)

Links: