20

Overview Using Plugins Developing Plugins Basic Examples / Demo Outlook

Embed Size (px)

DESCRIPTION

Plugin Interface. Overview Using Plugins Developing Plugins Basic Examples / Demo Outlook. Plugin Interface - Overview. The plugin interface: - PowerPoint PPT Presentation

Citation preview

Page 1: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook
Page 2: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

• Overview

• Using Plugins

• Developing Plugins

• Basic Examples / Demo

• Outlook

• Overview

• Using Plugins

• Developing Plugins

• Basic Examples / Demo

• Outlook

Plugin InterfacePlugin InterfacePlugin InterfacePlugin Interface

Page 3: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Plugin Interface - OverviewPlugin Interface - OverviewPlugin Interface - OverviewPlugin Interface - Overview

The plugin interface:

• Opens custom access to internal data during real-time processing including information of ROIs, design matrix, raw data, beta maps and contrast t maps. • Allows to perform additional calculations within the plugin and/or to export data for external processing, e.g. in Matlab.• Provides direct pointers to internal data structures without any "buffering" for maximum efficiency -> high performance but careful programming to avoid crashes

Plugins are coded in C++. Templates and examples are available to simplify creation of own plugins

Page 4: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Using Developed PluginsUsing Developed PluginsUsing Developed PluginsUsing Developed Plugins

• Installed plugins appear in the Plugins menu• TBV shows plugins that are located in the "Plugins_32" (32 or "Plugins_64" (32/64-bit TBV on 32/64-bit OS) subfolder within the "TBVExtensions" folder.• New plugins are installed simply by copying the respective library file (extension ".dll" on Windows, ".so" on Linux, ".dylib" on Mac) in that folder

Page 5: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Using Developed PluginsUsing Developed PluginsUsing Developed PluginsUsing Developed Plugins

• A plugin is started by clicking its name in the Plugins menu.• A plugin needs to start prior to real-time processing (Plugins menu will not be accessible during incremental processing).• TBV opens and shows the Plugin window containing a Log text field that is used by the plugin to inform the user about ongoing processing. • The messages appearing in the Log fully depend on the plugin code

Page 6: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Using Developed PluginsUsing Developed PluginsUsing Developed PluginsUsing Developed Plugins

• When starting real-time processing, the plugin is called during processing of each incremental time step and it can access all relevant internal data of TBV.• The image on the right shows a snapshot during real-time processing; the plugin has just been called at time point "74" and informs the user that it saves 4 beta maps to disk. The plugin also presents extracted information about the content of the used design matrix at each step.

Page 7: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

TBV - Plugin InteractionTBV - Plugin InteractionTBV - Plugin InteractionTBV - Plugin Interaction

Page 8: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

TBV - Plugin Interaction (cont.)TBV - Plugin Interaction (cont.)TBV - Plugin Interaction (cont.)TBV - Plugin Interaction (cont.)

Page 9: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Writing TBV PluginsWriting TBV PluginsWriting TBV PluginsWriting TBV Plugins

• Deriving from “TBVPluginInterface”, the parent class with virtual functions

Page 10: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Writing TBV PluginsWriting TBV PluginsWriting TBV PluginsWriting TBV Plugins

• Including the TBV API functions

Page 11: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Writing TBV PluginsWriting TBV PluginsWriting TBV PluginsWriting TBV Plugins

• Including the TBV API functions

Page 12: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Writing TBV PluginsWriting TBV PluginsWriting TBV PluginsWriting TBV Plugins

• Only one header (.h) and one main code (.cpp) file necessary

Page 13: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Writing TBV PluginsWriting TBV PluginsWriting TBV PluginsWriting TBV Plugins• Need to change only plugin name and overwrite few (virtual) functions.

Page 14: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Writing TBV PluginsWriting TBV PluginsWriting TBV PluginsWriting TBV Plugins• Need to change only plugin name and overwrite few (virtual) functions.

Page 15: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Writing TBV PluginsWriting TBV PluginsWriting TBV PluginsWriting TBV Plugins• Need to change only plugin name and overwrite few (virtual) functions.

Page 16: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Documentation of TBV Plugin APIDocumentation of TBV Plugin APIDocumentation of TBV Plugin APIDocumentation of TBV Plugin API

Page 17: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Documentation of TBV Plugin APIDocumentation of TBV Plugin APIDocumentation of TBV Plugin APIDocumentation of TBV Plugin API

Page 18: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Documentation of TBV Plugin APIDocumentation of TBV Plugin APIDocumentation of TBV Plugin APIDocumentation of TBV Plugin API

Page 19: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

Documentation of TBV Plugin APIDocumentation of TBV Plugin APIDocumentation of TBV Plugin APIDocumentation of TBV Plugin API

Page 20: Overview  Using Plugins  Developing Plugins  Basic Examples / Demo  Outlook

• Visualization options- Allow plugin to show calculated maps in “Brain View” window- Provide option for user to switch between “native” visualization (GLM maps) and plugin visualization (but only in case that plugin offers map visualizations).

• Allow plugin to turn off calculations in TBV in order to replace them with custom routines (and to save time)

• Visualization options- Allow plugin to show calculated maps in “Brain View” window- Provide option for user to switch between “native” visualization (GLM maps) and plugin visualization (but only in case that plugin offers map visualizations).

• Allow plugin to turn off calculations in TBV in order to replace them with custom routines (and to save time)

OutlookOutlookOutlookOutlook

Expected release date of TBV 3.0: February 2011