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

Slides:



Advertisements
Similar presentations
National Alliance for Medical Image Computing Integrating with Slicer3.
Advertisements

Slicer3 for developers – Sonia Pujol, Ph.D. -1- National Alliance for Medical Image Computing Programming into Slicer3 Sonia Pujol, Ph.D. Surgical Planning.
NA-MIC National Alliance for Medical Image Computing Slicer3 EMSegment Tutorial January 2008 NAMIC All-Hands Meeting Brad Davis, Yuman.
National Alliance for Medical Image Computing Slicer3 plugins: Going Further Common architecture for interactive and batch processing.
Grid Wizard Enterprise GSlicer3 Tutorial. Introduction This tutorial assumes you already completed the basic and advanced tutorial. GSlicer3 is a Slicer3.
National Alliance for Medical Image Computing Slicer3 plugins Common architecture for interactive and batch processing.
National Alliance for Medical Image Computing User Desktop Slicer 3.0 Architecure AlgorithmsITKVTK Slicer Modules VTK Apps Using ITK.
National Alliance for Medical Image Computing Slicer3 Architecture.
Programming into Slicer3. Sonia Pujol, Ph.D., Harvard Medical School National Alliance for Medical Image Computing ©2010,ARR
RDz and Process Integration Using Menu Manager and HATS to customize your RDz installation David Myers.
National Alliance for Medical Image Computing Slicer3 plugins Common architecture for interactive and batch processing.
National Alliance for Medical Image Computing Slicer MRML MRML Library provides API for managing medical image data types (Volumes, Models,
NA-MIC National Alliance for Medical Image Computing 3D Slicer Version 4 Architecture and Status Steve Pieper, Ph.D.
National Alliance for Medical Image Computing Anatomy of a plugin Common architecture for interactive and batch processing.
NA-MIC National Alliance for Medical Image Computing 3D Slicer Interactive Modules Steve Pieper, PhD.
National Alliance for Medical Image Computing User Desktop Slicer 3.0 Architecure AlgorithmsITKVTK Slicer Modules VTK Apps Using ITK.
Pohl K, Konukoglu E -1- National Alliance for Medical Image Computing Measuring Volume Change in Tumors Kilian M Pohl, PhD Ender Konugolu Slicer3 Training.
NA-MIC National Alliance for Medical Image Computing CMR Toolkit Threshold Model Module Salma Bengali, Alan Morris, Josh Cates, Rob.
NA-MIC National Alliance for Medical Image Computing Slicer4 Guided Tour Steve Pieper, Ph.D.
NA-MIC National Alliance for Medical Image Computing Slicer Custom Modules Steve Pieper, PhD.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering End-user Platform Steve Pieper Isomics, Inc.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering End-user Platform Steve Pieper Isomics, Inc.
NA-MIC National Alliance for Medical Image Computing IGT Software Design and Process Bill Lorensen GE Research.
3D Slicer Architecture and Implementation
Core 1b – Engineering Dynamic Coding a.k.a. Python in Slicer
NA-MIC National Alliance for Medical Image Computing NAMIC-Kit Update Will Schroeder Jim Miller Bill Lorensen.
National Alliance for Medical Image Computing Grid Computing with BatchMake Julien Jomier Kitware Inc.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
NA-MIC National Alliance for Medical Image Computing Why NITRC Matters to NA-MIC Steve Pieper, PhD.
NA-MIC National Alliance for Medical Image Computing Slicer 3.4 Update Summer NA-MIC Project Week 2009 Steve Pieper, Ph.D.
NA-MIC National Alliance for Medical Image Computing Slicer Building and Deployment Steve Pieper, PhD.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Components Jim Miller GE Research.
Requirements Document Slicer3 Workflow Based Interface for NAV-RFA.
Slicer3 for developers – S.Pujol -1- National Alliance for Medical Image Computing Slicer3 Course for developers Sonia Pujol, Ph.D. Surgical Planning Laboratory.
NA-MIC National Alliance for Medical Image Computing Using Annotations in Slicer 4.0 Yong Zhang, Kilian Pohl June 2010.
NA-MIC National Alliance for Medical Image Computing 3D Slicer and the NA-MIC Kit for IGT Research Steve Pieper, PhD NAC, SPL, NA-MIC,
Programming into Slicer3. Sonia Pujol, Ph.D., Harvard Medical School National Alliance for Medical Image Computing ©
NA-MIC National Alliance for Medical Image Computing Diffusion Tensor Imaging tutorial Sonia Pujol, PhD Surgical Planning Laboratory.
David Adams ATLAS DIAL: Distributed Interactive Analysis of Large datasets David Adams BNL August 5, 2002 BNL OMEGA talk.
Neuroimage Analysis Center An NCRR National Resource Center NAC Engineering Core Steve Pieper, Core PI SPL; Isomics, Inc.
A user interface framework for Grid-based computational steering and visualization. Jason Wood*, Mark Riding and Ken Brodlie.
LONI Pipeline Jagadeeswaran LONI,UCLA. Site PI: Arthur W Toga Director, Laboratory of Neuro Imaging Co-Director, Brain Mapping Center Director, Training.
1 DIRAC Job submission A.Tsaregorodtsev, CPPM, Marseille LHCb-ATLAS GANGA Workshop, 21 April 2004.
NA-MIC National Alliance for Medical Image Computing 3D Slicer Modules and Extensions Steve Pieper, Ph.D.
NA-MIC National Alliance for Medical Image Computing Non-Interactive Tools Stephen Aylward, Kitware
Tool Integration with Data and Computation Grid “Grid Wizard 2”
NA-MIC National Alliance for Medical Image Computing Slicer3 Tutorial Nonrigid Atlas Registration Dominik Meier, Ron Kikinis February.
NA-MIC National Alliance for Medical Image Computing Engineering a Segmentation Framework Marcel Prastawa.
NA-MIC National Alliance for Medical Image Computing Slicer3 Update
Overview 3D Slicer currently provides very basic technology for annotating images. This limits users in their ability to properly capture semantic information.
National Alliance for Medical Image Computing User Desktop Slicer 3.0 Architecure AlgorithmsITKVTK Slicer Modules VTK Apps Using ITK.
NA-MIC National Alliance for Medical Image Computing Slicer Progress in 2009 Steve Pieper, Ph.D.
Migrating Desktop Uniform Access to the Grid Marcin Płóciennik Poznan Supercomputing and Networking Center Poznan, Poland EGEE’07, Budapest, Oct.
Standard Response Evaluation Criteria in Solid Tumors (RECIST) using 3D Slicer Slicer3 Training Compendium Image here. Jeffrey Yap, PhD Wendy Plesniak,
Migrating Desktop Uniform Access to the Grid Marcin Płóciennik Poznan Supercomputing and Networking Center Poland EGEE’08 Conference, Istanbul, 24 Sep.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
National Alliance for Medical Image Computing Integrating with Slicer3.
National Alliance for Medical Image Computing Slicer3 Plugins Common architecture for interactive and batch processing.
NA-MIC National Alliance for Medical Image Computing Three ways to use the NA-MIC kit Sonia Pujol, Ph.D. Instructor of Radiology Surgical.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Data Management Daniel Marcus Washington University.
CSE691 Software Models and Analysis.
3D Slicer module programming
Dynamic management of segmented structures in 3D Slicer
3D Slicer Architecture and Implementation
Functions CIS 40 – Introduction to Programming in Python
Laboratory of Neuro Imaging UCLA
Slicer3 Architecture.
3D Slicer Architecture and Implementation
UCSD / BIRN Coordinating Center NAMIC Group
Lab 4: Introduction to Scripting
Presentation transcript:

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

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing XML description of a module…

National Alliance for Medical Image Computing … produces a user interface

National Alliance for Medical Image Computing … produces command line parsing code

National Alliance for Medical Image Computing MRML magic If built as a shared library, these calls will pull data directly from the MRML scene!

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing CLI Build System (within Slicer tree) One CLI, one directoryCMakeList.txt

National Alliance for Medical Image Computing CLI Build System (as Slicer Extension)

National Alliance for Medical Image Computing 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++

National Alliance for Medical Image Computing 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