Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "MITK Diffusion (under the hood) Klaus H. Maier-Hein (Ph.D.) Computational Disease Analysis Group Medical and Biological Informatics."— Presentation transcript:

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

2 K.H. Maier-Hein

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

4 K.H. Maier-Hein 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) …

5 K.H. Maier-Hein 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

6 K.H. Maier-Hein 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

7 K.H. Maier-Hein

8 THE BLUEBERRY APPLICATION FRAMEWORK

9 K.H. Maier-Hein

10 The MITK Workbench Views Editors

11 K.H. Maier-Hein 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)

12 K.H. Maier-Hein CTK Plugin Framework

13 K.H. Maier-Hein 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)

14 K.H. Maier-Hein CTK Plugin Framework

15 K.H. Maier-Hein CTK Plugin Framework  Dynamic OSGi-based Framework  Enables service oriented architectures  Enables distributed/large- scale applications

16 K.H. Maier-Hein CTK Service Registriy C++ implementation of the OSGi Service Layer: Service description Service requester Service provider Service registry Bind Find Publish API is very close to the OSGi Service Layer specs

17 K.H. Maier-Hein Plug-in structure Meta information Third-party dependencies Unique name

18 K.H. Maier-Hein 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

19 K.H. Maier-Hein Command Line Interface

20 K.H. Maier-Hein

21 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

22 K.H. Maier-Hein 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

23 K.H. Maier-Hein 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

24 K.H. Maier-Hein Medical and Biological Informatics German Cancer Research Center

25 K.H. Maier-Hein MITK & CTK Plattform group

26 K.H. Maier-Hein Computational Disease Analysis Group Michael Jonas

27 Thank you!

28 K.H. Maier-Hein 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.

29 K.H. Maier-Hein OSGi Specifications  OSGi Core Specifications are small  OSGi Service Compendium defines many optional services:

30 K.H. Maier-Hein Plug-in structure Meta information Third-party dependencies Unique name

31 K.H. Maier-Hein 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, , etc.") set(Require-Plugin )

32 K.H. Maier-Hein 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

33 K.H. Maier-Hein


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

Similar presentations


Ads by Google