2. GIMIAS Framework Introduction
Motivation
• 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
3. GIMIAS Framework Introduction
GIMIAS (Graphical Interface for Medical Image Analysis and Simulation)
• GIMIAS framework provides a set of generic
functionalities that can be extended through plugins to
create problem specific biomedical applications
4. GIMIAS Framework Introduction
Three layered system
Extensibility Interoperability
DICOM
Plugin layer
Generic
Segmentation
Data
Image Tools
Framework layer
Processing
Manual
Segmentation Input and Output
Boost
Third Party layer
Mesh Editor Plugin
CGNS
MITK Execution
HDF5
Scene View Visualization
DMCTK
Signal Viewer User Interface
ITK
Clinical Report Workflow
VTK
CMGUI Working Area
MITK
Remote Data Automatic
Updates Slicer CLI
SSH AXIS2C
Data Tree
Taverna VMTK
VMTK CMGUI
Web Services
Poco
XNAT
Curl
wxWidgets
5. GIMIAS Framework Introduction
Three layered system
Extensibility Interoperability
• Main features
• Interoperability with third party libraries, platforms and
applications
• Create custom biomedical applications
• Reusability of plugins between applications
8. Extensible components
Extensible Data Component
• Extend: supported data type representations
• Features:
• Automatic conversion between types when required
• Class: DataEntity
9. Extensible components
Extensible Processing Component
• Extend: new processing filters
• Features:
• Multithreading
• Subject-observer pattern for inputs and outputs
• Class: Processor
10. Extensible components
Extensible Input and Output Component
• Extend: I/O formats • Examples:
• Features: • Local
• Show preload window • ITK and VTK
• DICOM
• Manage 3D+T data • CGNS
• Manage metadata like • HDF5
rendering properties or • CMGUI
patient information • Remote
• Manage scene • FTP, SFTP, HTTP, HTTPS
• Classes: • XNAT
• DataEntityReader • SendSpace
• PACS
• DataEntityWriter
11. Extensible components
Extensible Plugin Manager Component
• Extend: new plugin • Examples:
• GIMIAS Plugin
mechanisms • 3D Slicer Command Line Plugin
• Features: • Taverna workflows
• Local and remote • SSH Command Line Plugin
• UNICORE Command Line Plugin
• Load/Unload plugins at • Web Services (in progress)
run-time
• Class: PluginProvider
12. Extensible components
Extensible Execution Component
• Extend: execution modes of processing • Examples:
filters • GIMIAS Plugin
• Features: • Clinical workflow
• Automatic conversion of data formats and • Command Line Plugins: Local 3D
types Slicer, SSH, UNICORE
• Based on 3D Slicer XML CLI description • Taverna workflows
format • Web Services
• Automatic CUI generation • Custom Applications
• Local and remote • Direct DLL
13. Extensible components
Extensible Visualization Component
• 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
14. Extensible components
Extensible User Interface Component
• Extend: user interface widgets
• Features:
• Automatic creation of widgets
when required
• Custom user interface
15. Extensible components
Extensible Working Area
• Extend: custom working areas
• Features:
• Working area manager
• Design your custom working area at run-time or by code
16. Common components
Data Tree
• Features:
• Global in memory data repository
• Shared data between all plugins
• Data is stored as a tree
• Class: DataEntityList
17. Common components
Clinical workflow
• Guides the user through the workflow steps
• Compose a clinical workflow
• Processing steps
• Customizable User interface
• Examples: @neurist
18. Common components
Common Widgets
• Set of common widgets:
• Time navigation
• Toolbox
• Preferences
• Input control
• Main window
• Thumbnail widget
• Processing toolbox
• Render window container
• …