National Alliance for Medical Image Computing Anatomy of a plugin Common architecture for interactive and batch processing.

Slides:



Advertisements
Similar presentations
Slicer3 for developers – Sonia Pujol, Ph.D. -1- National Alliance for Medical Image Computing Programming into Slicer3 Sonia Pujol, Ph.D. Surgical Planning.
Advertisements

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.
NA-MIC National Alliance for Medical Image Computing © 2010, All Rights Reserved Diffusion Tensor Imaging Tutorial Sonia Pujol, Ph.D.
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.
NA-MIC National Alliance for Medical Image Computing © 2010, All Rights Reserved Diffusion Tensor Imaging Tutorial Sonia Pujol, Ph.D.
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.
Chapter 8 Improving the User Interface
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 Interactive Modules Steve Pieper, PhD.
Building New SOA and AJAX- Based Business Applications Mark Barnard R&D Manager – Natural Business Services Software AG (Canada) Inc.
National Alliance for Medical Image Computing User Desktop Slicer 3.0 Architecure AlgorithmsITKVTK Slicer Modules VTK Apps Using ITK.
Technical Workshops | Esri International User Conference San Diego, California Customizing ArcPad solutions Marika Vertzonis, Gareth Walters, Stephen Quan.
ModelBuilder at ArcGIS 9.2 Lyna Wiggins Rutgers University May 2008.
Tutorial 6 Forms Section A - Working with Forms in JavaScript.
Pohl K, Konukoglu E -1- National Alliance for Medical Image Computing Measuring Volume Change in Tumors Kilian M Pohl, PhD Ender Konugolu Slicer3 Training.
DIRAC API DIRAC Project. Overview  DIRAC API  Why APIs are important?  Why advanced users prefer APIs?  How it is done?  What is local mode what.
NA-MIC National Alliance for Medical Image Computing Slicer Custom Modules Steve Pieper, PhD.
NA-MIC National Alliance for Medical Image Computing IGT Software Design and Process Bill Lorensen GE Research.
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.
KARMA with ProActive Parallel Suite 12/01/2009 Air France, Sophia Antipolis Solutions and Services for Accelerating your Applications.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
NA-MIC National Alliance for Medical Image Computing NA-MIC Software Engineering Bill Lorensen GE Research NA-MIC Engineering Core PI.
Mid Morning Discussion Introduction to the IBIS-Q Front-End System ("Module" Emphasis) What is the front end Where does the front end fit in What is a.
NA-MIC National Alliance for Medical Image Computing Slicer4 CLI Slicer Execution Model.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Highlights, Aims and Architecture Will Schroeder Kitware.
Program documentation Using the Doxygen tool Program documentation1.
NA-MIC National Alliance for Medical Image Computing Slicer Building and Deployment Steve Pieper, PhD.
Stuart Wakefield Imperial College London Evolution of BOSS, a tool for job submission and tracking W. Bacchi, G. Codispoti, C. Grandi, INFN Bologna D.
SimITK and SimVTK: ITK and VTK in Simulink DG Gobbi, P Mousavi, KM Li, J Xiang, A Campigotto, A LaPointe, G Fichtinger, P Abolmaesumi Medical Image Analysis.
Digital curation activities enhance access and retrieval, maintain quality, add value, and facilitate use and re-use over time. This poster demonstrates.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Software Process Stephen R. Aylward Kitware, Inc.
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Slicer3 for developers – S.Pujol -1- National Alliance for Medical Image Computing Slicer3 Course for developers Sonia Pujol, Ph.D. Surgical Planning Laboratory.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Distributed Computing With Triana A Short Course Matthew Shields, Ian Taylor & Ian Wang.
Integrating QDEC with Slicer3 Click to add subtitle.
Programming into Slicer3. Sonia Pujol, Ph.D., Harvard Medical School National Alliance for Medical Image Computing ©
NA-MIC National Alliance for Medical Image Computing Process-, Work-Flow in Medical Image Processing Guido Gerig
NA-MIC National Alliance for Medical Image Computing Diffusion Tensor Imaging tutorial Sonia Pujol, PhD Surgical Planning Laboratory.
Aerial Image Exploitation Change Detection Event Detection Object Tracking Region Classification Medical Image Analysis Automated Cancer Detection Automatic.
Sonia Pujol, PhD -1- National Alliance for Medical Image Computing Neuroimage Analysis Center Diffusion Tensor Imaging tutorial Sonia Pujol, Ph.D. Surgical.
NA-MIC National Alliance for Medical Image Computing Non-Interactive Tools Stephen Aylward, Kitware
K. Harrison CERN, 22nd September 2004 GANGA: ADA USER INTERFACE - Ganga release status - Job-Options Editor - Python support for AJDL - Job Builder - Python.
NA-MIC National Alliance for Medical Image Computing Engineering a Segmentation Framework Marcel Prastawa.
NA-MIC National Alliance for Medical Image Computing Slicer3 Update
National Alliance for Medical Image Computing User Desktop Slicer 3.0 Architecure AlgorithmsITKVTK Slicer Modules VTK Apps Using ITK.
Simulation Production System Science Advisory Committee Meeting UW-Madison March 1 st -2 nd 2007 Juan Carlos Díaz Vélez.
National Alliance for Medical Image Computing Slicer3 Plugins Common architecture for interactive and batch processing.
Wednesday NI Vision Sessions
Teaching slides Chapter 6. Chapter 6 Software user interface design & construction Contents Introduction Graphical user interface – Rich window based.
3D Slicer module programming
Working in the Forms Developer Environment
Topics Graphical User Interfaces Using the tkinter Module
GWE Core Grid Wizard Enterprise (
Spark Presentation.
In-situ Visualization using VisIt
Slicer3 Architecture.
Operation System Program 4
Use of Mathematics using Technology (Maltlab)
05 | Desktop Applications
PYTHON: BUILDING GEOPROCESSING TOOLS
NAC: Optimized registration in Slicer
Slicer Timeline GUI Thread Processing Thread
Production Manager Tools (New Architecture)
Presentation transcript:

National Alliance for Medical Image Computing Anatomy of a plugin Common architecture for interactive and batch processing

National Alliance for Medical Image Computing Objectives Provide a simple mechanism for integrating user code with the rich user experience of Slicer3 Support GUI application processing Support batch processing

National Alliance for Medical Image Computing Grand vision User Desktop AlgorithmsITKVTK Slicer Modules VTK Apps Using ITK Scripts of Slicer Mods Batch Programs Non-NAMIC Cmd tools BatchMake BIRN Grid Wizard Slicer 3.0

National Alliance for Medical Image Computing Design Specification of parameters to control a plugin –Command line style parameter specification –XML description Automatic discovery process for plugins –Searchpath for plugins –Queries for XML description of parameters Automatic construction of GUI for plugins –Each parameter/attribute type maps to a specific style of GUI element Plugin writer focuses on algorithm, not GUI nor integration

National Alliance for Medical Image Computing Each module has … … an entry in the module menu … a panel of user interface controls

National Alliance for Medical Image Computing Plugin overview

National Alliance for Medical Image Computing Parameters | | | | | | | | | | | [type="scalar|label|tensor|diffusion-weighted|vector|model"] | [type="fiberbundle|model"] | [multiple="true|false"] [coordinateSystem="lps|ras|ijk"] | [multiple="true|false"] [coordinateSystem="lps|ras|ijk"]

National Alliance for Medical Image Computing Parameter description * C++ variable name of the parameter * Help message for parameter * GUI label for the parameter Default value * Single character flag, e.g. –f * Single word flag, e.g. --outputImage Block around minimum/maximum/step. Trigger a slider to be used. Minimum parameter value Maximum parameter value Step size * Input or output parameter (image, geometry, file, directory) * Position of a parameter without a flag. Starts at 0 * Block around element * Choice value for an enumeration * Required tags * Required under certain conditions

National Alliance for Medical Image Computing Behind the scenes Tasks queued for processing thread Three types of modules: –executable, –shared object, and –Python modules Scalar images sent via files for executables and memory* for shared objects and python Vector images, tensor images, geometry, tables, transforms sent via files Scalars, file names, directories, fiducials, regions sent via command line * VTK-based modules using scalar images are only supported as executable (command line) modules.

National Alliance for Medical Image Computing (Current) Limitations Limited/restricted access to Slicer3 internals Supported parameter types are prescribed by Slicer3 –Request new parameter types Some parameter types can only (currently) be sent to plugins, not returned from plugins Some parameters types are (currently) sent via files not mapped through memory Conditional parameter specification tricky Non-interactive Intermediate results not (currently) supported

National Alliance for Medical Image Computing The next level Full Slicer3 modules are also supported as plugins Model-view-controller design: Node, GUI, Logic Access to all Slicer3 services oExposed to Slicer3 architecture oBatch processing requires running all of Slicer3

National Alliance for Medical Image Computing Slicer3 Plugins Common architecture for interactive and batch processing