Gimias Architecture

1,769 views
1,701 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,769
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Gimias Architecture

  1. 1. 03GIMIASFramework Architecture
  2. 2. GIMIAS Framework IntroductionMotivation• 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. 3. GIMIAS Framework IntroductionGIMIAS (Graphical Interface for Medical Image Analysis and Simulation)• GIMIAS framework provides a set of genericfunctionalities that can be extended through plugins tocreate problem specific biomedical applications
  4. 4. GIMIAS Framework IntroductionThree 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. 5. GIMIAS Framework IntroductionThree layered system Extensibility Interoperability• Main features • Interoperability with third party libraries, platforms and applications • Create custom biomedical applications • Reusability of plugins between applications
  6. 6. GIMIAS Framework IntroductionSoftware engineering• 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 • …
  7. 7. GIMIAS Framework IntroductionGIMIAS Framework components• Components • Extensible • Base
  8. 8. Extensible componentsExtensible Data Component• Extend: supported data type representations• Features: • Automatic conversion between types when required• Class: DataEntity
  9. 9. Extensible componentsExtensible Processing Component• Extend: new processing filters• Features: • Multithreading • Subject-observer pattern for inputs and outputs• Class: Processor
  10. 10. Extensible componentsExtensible 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. 11. Extensible componentsExtensible Plugin Manager Component• Extend: new plugin • Examples: • GIMIAS Pluginmechanisms • 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. 12. Extensible componentsExtensible 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. 13. Extensible componentsExtensible 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. 14. Extensible componentsExtensible User Interface Component• Extend: user interface widgets• Features: • Automatic creation of widgets when required • Custom user interface
  15. 15. Extensible componentsExtensible Working Area• Extend: custom working areas• Features: • Working area manager • Design your custom working area at run-time or by code
  16. 16. Common componentsData Tree• Features: • Global in memory data repository • Shared data between all plugins • Data is stored as a tree• Class: DataEntityList
  17. 17. Common componentsClinical workflow• Guides the user through the workflow steps• Compose a clinical workflow • Processing steps • Customizable User interface• Examples: @neurist
  18. 18. Common componentsCommon Widgets• Set of common widgets: • Time navigation • Toolbox • Preferences • Input control • Main window • Thumbnail widget • Processing toolbox • Render window container • …
  19. 19. Common componentsAutomatic updates• Features: • Update the user with new versions of plugins and components

×