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

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

Jan 15, 2016

Download

Documents

Ralph Curtis
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

MITK Diffusion(under the hood)

Klaus H. Maier-Hein (Ph.D.)Computational Disease Analysis GroupMedical and Biological InformaticsK.H. Maier-Hein

K.H. Maier-HeinReproducibilityanything less than the release of source programs is intolerable for results that depend on computation

K.H. Maier-HeinDifferent levels of interoperabilityDifferent user-groups use and extend our software

DepartmentResearch Center (Physics, Radiology)Sonderforschungsbereich (special research area)Collaborators / the world

MITK supports data- and code interoperabilityCode: component-based approachesData: Nifty/Nrrd, DICOM (Q/R), XNAT, (NITRC)

K.H. Maier-HeinData interoperabilityDifferent Interfaces REST, Webinterface, -applets, DICOM q/r

Very flexibleUpload, 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 studiesK.H. Maier-HeinCode interoperabilityScientists dont waste time on software architecture

Requirements are still demandingRe-usabilityInteroperabilityCollaborationClinical application

MITK uses component technology to minimize the effort

K.H. Maier-Hein

K.H. Maier-HeinThe BlueBerry Application Framework

K.H. Maier-Hein

K.H. Maier-Hein

The MITK WorkbenchViewsEditorsK.H. Maier-HeinWhat 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 couplingReuse/recombine already existing plug-ins

Flexible application layout views and perspectives

Written for and included in MITK (but independent)

K.H. Maier-HeinCTK Plugin FrameworkK.H. Maier-HeinCTKCTK is an international initiative to provide a shared code base for re-usable components and interoperability technology.

Plugin FrameworkCommand Line ModulesWidgetsDICOM supportApplication Hosting (DICOM WG23)

K.H. Maier-HeinCTK Plugin Framework

K.H. Maier-HeinCTK Plugin FrameworkDynamic OSGi-based Framework

Enables service oriented architectures

Enables distributed/large-scale applications

K.H. Maier-HeinCTK Service RegistriyC++ implementation of the OSGi Service Layer:

Service descriptionService requesterService providerService registryBindFindPublishAPI is very close to the OSGi Service Layer specsK.H. Maier-HeinPlug-in structureMeta informationThird-partydependenciesUnique name

K.H. Maier-HeinPlugin FrameworkSimple and non-intrusiveThe API is surprisingly simple, services require no special interface

Reduced complexityFocus on interface/service, internals hidden

VersioningPlug-ins and their dependencies are versioned

K.H. Maier-HeinCommand Line InterfaceK.H. Maier-Hein

K.H. Maier-HeinCommand Line InterfaceIntegrating command line programs

Executables use XML to describe their input and output

Communication via standard input/output channels

ExamplesITK based registration programsCompiled Matlab codeSlicer CLI modules

Commandarguments

K.H. Maier-HeinSummaryMITK 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 prototypingK.H. Maier-HeinConclusionMITK (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 standardImmediate visibility through widely applied platforms

CTK and BlueBerry allow rich plugin-based applicationsEverybody profits from developmentsNobody wants to repeat implementations of e.g. DICOM (Diffusion) or XNAT interfaces

Enables and eases distribution and reproducibility of research results

K.H. Maier-Hein

Medical and Biological InformaticsGerman Cancer Research Center

K.H. Maier-Hein

MITK & CTK Plattform group

K.H. Maier-Hein

Computational Disease Analysis Group

MichaelJonas

K.H. Maier-HeinThank you!www.mitk.org

K.H. Maier-HeinPlugin FrameworkImplemented OSGi specifications in CTK

Log Service SpecificationProvides a general purpose message logger.Metatype Service SpecificationProvides a unified way to describe metadata about services.Configuration Admin Service SpecificationAllows to set the configuration information of deployed plugins.Event Admin Service SpecificationInter-plugin communication mechanism based on a event publish and subscribe model.

K.H. Maier-HeinOSGi Specifications

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

K.H. Maier-HeinPlug-in structureMeta informationThird-partydependenciesUnique name

K.H. Maier-HeinOSGi meta informationmanifest_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 )K.H. Maier-HeinConclusionCosts

Increased complexity due to the dynamic nature of the systemServices can come and go as they want

Components are tied to the BlueBerry application framework

K.H. Maier-Hein

K.H. Maier-Hein33