Top Banner
03 GIMIAS Framework Architecture
19
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
Page 1: Gimias Architecture

03

GIMIAS Framework Architecture

Page 2: Gimias Architecture

•Biomedical research community is demanding:• Research platform where the different multidisciplinary

biomedical imaging and simulation tools are available from a single access point

• Single framework where new generation workflows will be created focusing on multiscale patient specific treatment

Motivation

GIMIAS Framework Introduction

Page 3: Gimias Architecture

•GIMIAS framework provides a set of generic functionalities that can be extended through plugins to create problem specific biomedical applications

GIMIAS (Graphical Interface for Medical Image Analysis and Simulation)

GIMIAS Framework Introduction

Page 4: Gimias Architecture

Three layered system

GIMIAS Framework Introduction

Third

Par

ty la

yer

Fram

ewor

k la

yer

Plug

in la

yerDICOM

Generic SegmentationImage ToolsManual SegmentationMesh EditorMITKScene ViewSignal ViewerClinical ReportCMGUIRemote DataSSHTavernaVMTKWeb ServicesXNAT

DataProcessingInput and OutputPluginExecutionVisualizationUser InterfaceWorkflowWorking AreaAutomatic UpdatesData Tree

BoostCGNSHDF5DMCTKITKVTKMITKSlicer CLIAXIS2CVMTKCMGUIPocoCurlwxWidgets

InteroperabilityExtensibility

Page 5: Gimias Architecture

Three layered system

GIMIAS Framework Introduction

InteroperabilityExtensibility

•Main features• Interoperability with third party libraries, platforms and

applications• Create custom biomedical applications• Reusability of plugins between applications

Page 6: Gimias Architecture

•Principles:• Component-based software engineering• Use of design patterns• Model View Controller architectural pattern

•Design patterns:• Factory method• Facade• Bridge• Strategy• Subject-observer• Thread pool• …

Software engineering

GIMIAS Framework Introduction

Page 7: Gimias Architecture

•Components• Extensible• Base

GIMIAS Framework components

GIMIAS Framework Introduction

Page 8: Gimias Architecture

•Extend: supported data type representations•Features:• Automatic conversion between types when required

•Class: DataEntity

Extensible Data Component

Extensible components

Page 9: Gimias Architecture

•Extend: new processing filters•Features:

• Multithreading• Subject-observer pattern for inputs and outputs

•Class: Processor

Extensible Processing Component

Extensible components

Page 10: Gimias Architecture

•Extend: I/O formats•Features:

• Show preload window• Manage 3D+T data• Manage metadata like

rendering properties or patient information

• Manage scene

•Classes: • DataEntityReader• DataEntityWriter

Extensible Input and Output Component

Extensible components

•Examples:• Local

• ITK and VTK• DICOM• CGNS• HDF5• CMGUI

• Remote• FTP, SFTP, HTTP, HTTPS• XNAT• SendSpace• PACS

Page 11: Gimias Architecture

•Extend: new plugin mechanisms•Features:• Local and remote• Load/Unload plugins at

run-time

•Class: PluginProvider

Extensible Plugin Manager Component

Extensible components

•Examples:• GIMIAS Plugin• 3D Slicer Command Line Plugin• Taverna workflows• SSH Command Line Plugin• UNICORE Command Line Plugin• Web Services (in progress)

Page 12: Gimias Architecture

•Extend: execution modes of processing filters•Features:

• Automatic conversion of data formats and types

• Based on 3D Slicer XML CLI description format

• Automatic CUI generation• Local and remote

Extensible Execution Component

Extensible components

•Examples:• GIMIAS Plugin• Clinical workflow• Command Line Plugins: Local 3D Slicer, SSH,

UNICORE • Taverna workflows• Web Services• Custom Applications• Direct DLL

Page 13: Gimias Architecture

•Extend: new rendering libraries•Features:

• Automatic creation of rendering data type

• Visualization of the same data in different renders simultaneously

• View configuration• Custom rendering display properties

•Examples:• CMGUI and MITK

•Classes: • RenderingTree and RenderWindow

Extensible Visualization Component

Extensible components

Page 14: Gimias Architecture

•Extend: user interface widgets•Features:• Automatic creation of widgets

when required• Custom user interface

Extensible User Interface Component

Extensible components

Page 15: Gimias Architecture

•Extend: custom working areas•Features:• Working area manager• Design your custom working area at run-time or by code

Extensible Working Area

Extensible components

Page 16: Gimias Architecture

•Features:• Global in memory data repository• Shared data between all plugins• Data is stored as a tree

•Class: DataEntityList

Data Tree

Common components

Page 17: Gimias Architecture

•Guides the user through the workflow steps•Compose a clinical workflow • Processing steps• Customizable User interface

•Examples: @neurist

Clinical workflow

Common components

Page 18: Gimias Architecture

•Set of common widgets:• Time navigation• Toolbox• Preferences• Input control• Main window• Thumbnail widget• Processing toolbox• Render window container• …

Common Widgets

Common components

Page 19: Gimias Architecture

•Features:• Update the user with new versions of plugins and components

Automatic updates

Common components