Presentation is loading. Please wait.

Presentation is loading. Please wait.

NA-MIC National Alliance for Medical Image Computing Slicer4 CLI Slicer Execution Model.

Similar presentations


Presentation on theme: "NA-MIC National Alliance for Medical Image Computing Slicer4 CLI Slicer Execution Model."— Presentation transcript:

1 NA-MIC National Alliance for Medical Image Computing http://na-mic.org Slicer4 CLI Slicer Execution Model

2 National Alliance for Medical Image Computing http://na-mic.org Variety of levels of integration Slicer Libs ModuleDescriptionParser GenerateCLP vtkITK MRML Non-slicer specific support libraries Slicer Base Application logic Widgets Common infrastructure for Slicer applications Built in modules Slice viewers Models Fiducials Transforms Full access to Slicer internals Loadable modules Query Atlas QDEC Volume rendering ChangeTracker EMSegment Full access to Slicer internals Scripted modules Editor Teem Two Tensor Tractography VMTK Limited access to Slicer internals Command line modules RegistrationRestricted access to Slicer internals Daemon OpenIGTLink Stochastic Tractography Access to MRML

3 National Alliance for Medical Image Computing http://na-mic.org What is a CLI Module? Simplest mechanism to contribute an algorithm to Slicer Plugin mechanism Command line paradigm –Plugins are called with (argc, argv) –Arguments are flags, flags with values, or just indexed on the command line CLI modules are self describing –./myplugin –xml –Produces an XML description of the parameters for the plugin CLI modules can be executables, shared libraries, or scripts CLI modules can be used within Slicer or in batch

4 National Alliance for Medical Image Computing http://na-mic.org XML description of a module…

5 National Alliance for Medical Image Computing http://na-mic.org … produces a user interface

6 National Alliance for Medical Image Computing http://na-mic.org … produces command line parsing code

7 National Alliance for Medical Image Computing http://na-mic.org MRML magic If built as a shared library, these calls will pull data directly from the MRML scene!

8 National Alliance for Medical Image Computing http://na-mic.org Inside Slicer… vtkMRMLCommandLine ModuleNode qSlicerCLIModule Widget vtkSlicerCLIModule Logic YourModule.xml YourModule.so XMLModuleDescription GetXMLModuleDescription() ModelEntryPoint() Slicer provided Module writer provided YourModule (exe) YourModule –xml YourModule.py XML def toXML() def Execute() or qSlicerCLIModule UIHelper

9 National Alliance for Medical Image Computing http://na-mic.org CLI Build System (within Slicer tree) One CLI, one directoryCMakeList.txt

10 National Alliance for Medical Image Computing http://na-mic.org CLI Build System (as Slicer Extension)

11 National Alliance for Medical Image Computing http://na-mic.org What can SEM/CLI do today? Modules can be executables, shared libraries, scripts Module “interface” defined through parameters Parameters include “simple” and “bulk” types Parameters passed through command line and files Modules can be run inside and outside of 3D Slicer Modules can report progress Modules can be aborted Modules are run in a separate processing thread User interface built automatically from the parameter descriptions Modules can be re-used easily from Python, harder to re- use in C++

12 National Alliance for Medical Image Computing http://na-mic.org What CAN’T SEM/CLI do today Pass back intermediate results Update the 3D Visualization/Slice Viewers while executing Accept input while running to steer the module Request input while running Automatically execute with changes in MRML Orchestrate a change in layout or visualization content Easily use collections of Modules in a workflow or wizard Call a SEM/CLI from a SEM/CLI


Download ppt "NA-MIC National Alliance for Medical Image Computing Slicer4 CLI Slicer Execution Model."

Similar presentations


Ads by Google