MITK Diffusion (under the hood)

Slides:



Advertisements
Similar presentations
OMV Ontology Metadata Vocabulary April 10, 2008 Peter Haase.
Advertisements

REST Introduction 吴海生 博克软件(杭州)有限公司.
Why OSGi matters for Enterprise Java Infrastructures
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
ATSN 2009 Towards an Extensible Agent-based Middleware for Sensor Networks and RFID Systems Dirk Bade University of Hamburg, Germany.
Tools and Services for the Long Term Preservation and Access of Digital Archives Joseph JaJa, Mike Smorul, and Sangchul Song Institute for Advanced Computer.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
A Combat Support Agency Defense Information Systems Agency Common Map Widget API June 05, 2013.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering End-user Platform Steve Pieper Isomics, Inc.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
NA-MIC National Alliance for Medical Image Computing NAMIC-Kit Update Will Schroeder Jim Miller Bill Lorensen.
OSGi.
Christopher Jeffers August 2012
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
XIP: The eXtensible Imaging Platform Development Program Fred Prior, Ph.D. Mallinckrodt Institute of Radiology Washington University in St. Louis.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
An Introduction to Software Architecture
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
DISTRIBUTED COMPUTING
Flexibility and user-friendliness of grid portals: the PROGRESS approach Michal Kosiedowski
ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere.
Using the Open Metadata Registry (openMDR) to create Data Sharing Interfaces October 14 th, 2010 David Ervin & Rakesh Dhaval, Center for IT Innovations.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Highlights, Aims and Architecture Will Schroeder Kitware.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Through the development of advanced middleware, Grid computing has evolved to a mature technology in which scientists and researchers can leverage to gain.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Software Process Stephen R. Aylward Kitware, Inc.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
© 2004 Mercury Computer Systems, Inc. FPGAs & Software Components Graham Bardouleau & Jim Kulp Mercury Computer Systems, Inc. High Performance Embedded.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Software Process Stephen R. Aylward Kitware, Inc.
Lawrence Tarbox, Ph.D. Washington University in St. Louis School of Medicine Mallinckrodt Institute of Radiology, Electronic Radiology Lab.
1 UNIT –II Architecting Web Service. 2 Why SOA? – business point of view  Information Technology (IT) workers face many challenges, including: Limited.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
© 2008 by Shawn Spiars; made available under the EPL v1.0 | March 17, 2008 Case Study – Phurnace Software and RCP Shawn Spiars Lead UI Developer Phurnace.
Slide 1 ApacheCon 2011 > Doreen Seider> Using OSGi to Build Better Software > Using OSGi to Build Better Software Lessons from a Telemedicine.
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
Slicer 3 Ron Kikinis, Steve Pieper. CTK Workshop Heidelberg, June 29/30, 2009 Slicer Goals  Stable, Usable, Cross Platform, End-User Software for Medical.
Jan Hatje, DESY CSS GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
LONI Pipeline Jagadeeswaran LONI,UCLA. Site PI: Arthur W Toga Director, Laboratory of Neuro Imaging Co-Director, Brain Mapping Center Director, Training.
REST By: Vishwanath Vineet.
Introduction 1 Lars Vogel 4/22/2009.  Who am I?  Eclipse as a platform  What is Eclipse RCP?  Extension Points / Extensions  Equinox  SWT & JFace.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
ETICS All Hands meeting B ologna, October , 2006 WP4 Test and Metrics Plugin Framework (WP4) (WP4) Eva TAKACS.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
PRESENTATION OF THE TEST REGISTRY AND REPOSITORY (TRR) ON JOINUP 23 OCTOBER 2015 Roch Bertucat, ENGISIS.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Data Management Daniel Marcus Washington University.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
.NET Omid Darroudi.
Sabri Kızanlık Ural Emekçi
GWE Core Grid Wizard Enterprise (
Pipeline Execution Environment
Service Oriented Architecture (SOA)
Java Workflow Tooling (JWT) Release review: JWT v0
Java Workflow Tooling (JWT) Release review: JWT v0
DBOS DecisionBrain Optimization Server
ONAP Architecture Principle Review
Presentation transcript:

MITK Diffusion (under the hood) Klaus H. Maier-Hein (Ph.D.) Computational Disease Analysis Group Medical and Biological Informatics

Reproducibility  anything less than the release of source programs is intolerable for results that depend on computation

Different levels of interoperability Different user-groups use and extend our software Department Research Center (Physics, Radiology) „Sonderforschungsbereich“ (special research area) Collaborators / “the world” MITK supports data- and code interoperability Code: “component-based” approaches Data: Nifty/Nrrd, DICOM (Q/R), XNAT, (NITRC) …

Data interoperability Different Interfaces REST, Webinterface, -applets, DICOM q/r Very flexible Upload, view, search, meta-data, manage access Support by Slicer, NiftyView, CTK (soon available) Data infrastructure of choice for SFB Heidelberg Centralized data management resource to support multiple investigators and research studies

Code interoperability Scientists don’t “waste” time on software architecture Requirements are still demanding Re-usability Interoperability Collaboration Clinical application MITK uses component technology to minimize the effort

The BlueBerry Application Framework

The MITK Workbench Views Editors

The BlueBerry application framework What is BlueBerry? The BlueBerry application framework Similar to the Eclipse RCP (but in C++) Builds plugin-based applications (OSGi-driven) Lazy loading of plug-ins (scalability) Strong encapsulation & loose coupling Reuse/recombine already existing plug-ins Flexible application layout „views“ and „perspectives“ Written for and included in MITK (but independent)

CTK Plugin Framework

Application Hosting (DICOM WG23) CTK CTK is an international initiative to provide a shared code base for re-usable components and interoperability technology. Plugin Framework Command Line Modules Widgets DICOM support Application Hosting (DICOM WG23)

CTK Plugin Framework

Dynamic OSGi-based Framework CTK Plugin Framework Dynamic OSGi-based Framework Enables service oriented architectures Enables distributed/large-scale applications

C++ implementation of the OSGi Service Layer: CTK Service Registriy C++ implementation of the OSGi Service Layer: Service registry Publish Find Service description Service provider Service requester Bind API is very close to the OSGi Service Layer specs

Plug-in structure Unique name Meta information Third-party dependencies

Simple and non-intrusive Plugin Framework Simple and non-intrusive The API is surprisingly simple, services require no special interface Reduced complexity Focus on interface/service, internals hidden Versioning Plug-ins and their dependencies are versioned

Command Line Interface

Command Line Interface Integrating command line programs Executables use XML to describe their input and output Communication via standard input/output channels Examples ITK based registration programs Compiled Matlab code Slicer CLI modules Command arguments

MITK – modular application development at different levels: Toolkit: Summary MITK – modular application development at different levels: Toolkit: Use MITK shared libs + µServices Application Framework: Create dynamic and extensible applications using BlueBerry and CTK MITK Workbench: An extensible end-user application for rapid prototyping

MITK (Diffusion) is a lot more than just a bunch of algorithms Conclusion MITK (Diffusion) is a lot more than just a bunch of algorithms CLI Modules supported by Slicer, GIMIAS, MITK, (MedInria) Very easy to adapt to the standard Immediate visibility through widely applied platforms CTK and BlueBerry allow rich plugin-based applications Everybody profits from developments Nobody wants to repeat implementations of e.g. DICOM (Diffusion) or XNAT interfaces Enables and eases distribution and reproducibility of research results

Medical and Biological Informatics German Cancer Research Center

MITK & CTK Plattform group

Computational Disease Analysis Group Jonas Michael

Thank you! www.mitk.org

Implemented OSGi specifications in CTK Plugin Framework Implemented OSGi specifications in CTK Log Service Specification Provides a general purpose message logger. Metatype Service Specification Provides a unified way to describe metadata about services. Configuration Admin Service Specification Allows to set the configuration information of deployed plugins. Event Admin Service Specification Inter-plugin communication mechanism based on a event publish and subscribe model.

OSGi Specifications OSGi Core Specifications are small OSGi Service Compendium defines many optional services:

Plug-in structure Unique name Meta information Third-party dependencies

manifest_headers.cmake OSGi meta information manifest_headers.cmake set(Plugin-Name "A human readable plug-in name") set(Plugin-Version "x.x.x") set(Plugin-Vendor "A human readable vendor name") set(Plugin-ContactAddress “Web page, email, etc.") set(Require-Plugin <list-of-plugin-symbolic-names>)

Increased complexity due to the dynamic nature of the system Conclusion Costs Increased complexity due to the dynamic nature of the system Services can come and go as they want Components are tied to the BlueBerry application framework