init
@@ -0,0 +1,32 @@
|
||||
.. _Doc_Mensia_AdvViz:
|
||||
|
||||
Advanced Visualization
|
||||
======================
|
||||
|
||||
General information on the Advanced Visualization Toolset:
|
||||
|
||||
- :ref:`Doc_Mensia_AdvViz_Generalities` : generalities about the toolset.
|
||||
- :ref:`Doc_Mensia_AdvViz_Concepts` : understanding the Toolset design and the different visualization paradigms.
|
||||
- :ref:`Doc_Mensia_AdvViz_Configuration` : how to configure the Advanced Visualization boxes.
|
||||
- :ref:`Doc_Mensia_AdvViz_UseCases` : concrete examples of use, from spectral analysis to ERP display.
|
||||
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Generalities:
|
||||
|
||||
Generalities
|
||||
------------
|
||||
|
||||
To be able to use all the features in the Mensia Advanced Visualization
|
||||
Toolset, please verify that your setup meets the following recommendations.
|
||||
|
||||
OpenGL OpenGL dependency
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The Toolset relies on the `OpenGL <http://www.opengl.org>`_ library
|
||||
for every rendering operations, from signal display to 3D reconstruction. You
|
||||
must ensure that your computer is equipped with an OpenGL-compatible graphic
|
||||
card or chipset. This should be the case on any recent computer.
|
||||
|
||||
You should also ensure that your graphic card drivers are up-to-date. Please
|
||||
refer to the manufacturer website for more information.
|
||||
|
||||
@@ -0,0 +1,263 @@
|
||||
.. _Doc_Mensia_AdvViz_Concepts:
|
||||
|
||||
Concepts
|
||||
========
|
||||
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Concepts_Intro:
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
|
||||
The **Mensia Advanced Visualization Toolset** is a collection of boxes
|
||||
dedicated to the visualization of the result of electrophysiological signal
|
||||
analysis, and are especially suitable for the **real-time analysis of EEG
|
||||
signals**, from raw signal display to 3D source reconstruction.
|
||||
|
||||
It addresses many different use-cases among users. Neurophysiologists can
|
||||
observe accurately in real-time **spatial and temporal patterns** in the brain
|
||||
activity (motor activity, cognitive processes). EEG signal processing
|
||||
specialists can **evaluate and compare** instantly algorithms effects
|
||||
(source separation, denoising techniques). BCI researchers can study how their
|
||||
ERP-based system may be tuned to elicit and detect the best brain response.
|
||||
|
||||
|
||||
.. figure:: images/designer-box-list.png
|
||||
:align: center
|
||||
|
||||
Simple integration in the graphical user interface
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Concepts_VisualizationParadigms:
|
||||
|
||||
Visualization paradigms
|
||||
-----------------------
|
||||
|
||||
This Toolset has been designed to be very versatile. The main design concept
|
||||
revolves around the data presentation. You basically want to display matrices
|
||||
of numbers which may have temporal, and/or spatial meanings. The most adapted
|
||||
data presentation may vary from one case to another, according to the type of
|
||||
events or patterns on which you need to get a good contrast.
|
||||
|
||||
Before choosing the right visualization box, ask yourself:
|
||||
|
||||
- How do I want my data to be displayed? curves? levels?
|
||||
- What will be the best way to **enhance the contrast** between the information I want to extract and the rest of the data ?
|
||||
- Is my data stream **continuous** in time? or am I dealing with discontinuous epochs (e.g. ERPs) ?
|
||||
|
||||
To be adapted in most situation, the Mensia Advanced Visualization Toolset has
|
||||
been designed to cover different visualization paradigms. Take a look at all
|
||||
the possibilities and choose what will best fit your needs.
|
||||
|
||||
- :ref:`Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Oscilloscope`
|
||||
- :ref:`Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Bars`
|
||||
- :ref:`Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Bitmap`
|
||||
- :ref:`Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Topo`
|
||||
- :ref:`Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Reco`
|
||||
|
||||
You can also have a look at the :ref:`Doc_Mensia_AdvViz_UseCases` "list of use-cases", showing how each box can be used on concrete, real-life examples.
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Oscilloscope:
|
||||
|
||||
The Oscilloscope view
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
It is the most basic paradigm, used to display temporal numerical data in the
|
||||
form of **curves** (dots linked by lines). The Oscilloscope views are all
|
||||
expecting **centered** values (i.e. distributed around 0). Hence it is advised
|
||||
to use at least one temporal filter (e.g. band passing between 2 and 40 Hz
|
||||
using a :ref:`Doc_BoxAlgorithm_TemporalFilter` box) before displaying an EEG
|
||||
signal.
|
||||
|
||||
Four boxes use this paradigm:
|
||||
|
||||
- :ref:`Doc_BoxAlgorithm_ContinuousOscilloscope` box: displays continuous data from left to right on a defined horizontal scale (goes back to origin upon reaching the end of the scale), channels are displayed vertically one after another, but spikes may overlap.
|
||||
- :ref:`Doc_BoxAlgorithm_InstantOscilloscope` box: displays each block of data received as it comes, filling all the horizontal space available.
|
||||
- :ref:`Doc_BoxAlgorithm_ContinuousMultiOscilloscope` box: same as the Continuous Oscilloscope, but every input channels are displayed along the same horizontal axis with a different color, additively.
|
||||
- :ref:`Doc_BoxAlgorithm_InstantMultiOscilloscope` box: same as the Instant Oscilloscope, but every input channels are displayed along the same horizontal axis with a different color, additively.
|
||||
|
||||
**Example**: raw EEG signal display.
|
||||
|
||||
.. figure:: /boxes/images/ContinuousOscilloscope_Display.png
|
||||
:align: center
|
||||
|
||||
Continuous Oscilloscope displaying 2 EEG channels
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Bars:
|
||||
|
||||
The Bar view
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Like histograms, this paradigm can be used to display and compare **series of
|
||||
levels**. Levels are displayed one after another from left to right, within a
|
||||
**color gradient**. Channels are displayed vertically, one after another with a
|
||||
fixed interval (thus some "high" levels may overlap). With a high definition
|
||||
(i.e. a rather high frequency display), the result can be viewed as a curve
|
||||
colored below the line.
|
||||
|
||||
Two boxes uses this paradigm:
|
||||
|
||||
- :ref:`Doc_BoxAlgorithm_ContinuousBars` box: displays continuous data from left to right on a defined horizontal scale (goes back to origin upon reaching the end of the scale).
|
||||
- :ref:`Doc_BoxAlgorithm_InstantBars` box: displays each block of data received as it comes, filling all the horizontal space.
|
||||
|
||||
**Example**: spectrum display.
|
||||
|
||||
.. figure:: /boxes/images/InstantBars_Display.png
|
||||
:align: center
|
||||
|
||||
Instant Bars displaying the signal spectrum
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Bitmap:
|
||||
|
||||
The Bitmap view
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
The bitmap paradigm displays matrices of data using a color gradient. The
|
||||
result is a **2D map where each cell is given a color "bit"** . This view
|
||||
using colors can enhance easily the constrast between 2 temporal or spatial
|
||||
patterns, as the difference between "cold" and "hot" colors is quickly caught
|
||||
by the analyst's eye. You can even add an additional dimension by using
|
||||
**stacked bitmaps** : every time a new bitmap is received, it is placed on top
|
||||
or left to the previous one.
|
||||
|
||||
Four boxes uses this paradigm:
|
||||
|
||||
- :ref:`Doc_BoxAlgorithm_ContinuousBitmap` box: displays continuous data from left to right on a defined horizontal scale (goes back to origin upon reaching the end of the scale).
|
||||
- :ref:`Doc_BoxAlgorithm_InstantBitmap` box: displays each block of data received as it comes, filling all the horizontal space.
|
||||
- :ref:`Doc_BoxAlgorithm_StackedBitmapVertical` box: each bitmap is placed on **top** of the previous one.
|
||||
- :ref:`Doc_BoxAlgorithm_StackedBitmapHorizontal` box: each bitmap is placed **left** to the previous one.
|
||||
|
||||
**Example**: Time-frequency map.
|
||||
|
||||
.. figure:: /boxes/images/StackedBitmapHorz_Display.png
|
||||
:align: center
|
||||
|
||||
Stacked Bitmap (Horizontal) displaying the result of a Time-Frequency analysis
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Topo:
|
||||
|
||||
The Topographic view
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This paradigm adds a strong spatial constraint on the input data: each channel
|
||||
must be **labelled with an electrode name** in a defined nomenclature, such as
|
||||
the standard 10-20 system. Please see
|
||||
:ref:`Doc_Mensia_AdvViz_Concepts_ChannelLocalization` for further details.
|
||||
|
||||
Here again the data itself is displayed using a color gradient, mapped to a 2D or 3D model using **spherical spline interpolation**.
|
||||
|
||||
For more details about the spherical spline interpolation, please check *F.
|
||||
Perrin, J. Pernier, O. Bertrand, J.F. Echallier, Spherical splines for scalp
|
||||
potential and current density mapping, Electroencephalography and Clinical
|
||||
Neurophysiology, Volume 72, Issue 2, February 1989, Pages 184-187*. The 2D
|
||||
model is a planar projection of the scalp, covering the scalp roughly from the
|
||||
frontal area to the occipital area (i.e. from Fp1-Fp2 to O9-O10 sites). The
|
||||
projection result takes the shape of a disk with a crescent growth at the back
|
||||
for the occipital region.
|
||||
|
||||
Three boxes uses this paradigm:
|
||||
|
||||
- :ref:`Doc_BoxAlgorithm_2DTopography` box: maps the input (which channels are labelled in the 10-20 system standard) to a planar projection of the scalp.
|
||||
- :ref:`Doc_BoxAlgorithm_3DTopography` box: maps the input (which channels are labelled in the 10-20 system standard) to a projection on a 3D model of the scalp.
|
||||
- :ref:`Doc_BoxAlgorithm_3DCubes` box: an alternative view where each channel is represented by a 3D cube, positionned in space as the electrode would be on the 3D model.
|
||||
|
||||
The activity is rendered by changing the size and color of the cubes.
|
||||
|
||||
**Example**: Displaying the power of a specific frequency band on a 3D head model.
|
||||
|
||||
.. figure:: /boxes/images/3DTopography_Display.png
|
||||
:align: center
|
||||
|
||||
Alpha power mapped on a head model using the 3D topography
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Reco:
|
||||
|
||||
The Reconstruction view
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Tomographic reconstruction algorithms offer an inside look, into the brain,
|
||||
from only surface measurements. Several techniques exist, including the
|
||||
algorithms of the popular LORETA family which slice the brain in a stack of
|
||||
little cubes called voxels, and computes the *inverse model*, a model
|
||||
reconstructing the sources of the potentials acquired at the measurement site.
|
||||
|
||||
One box implements the source reconstruction view:
|
||||
|
||||
- :ref:`Doc_BoxAlgorithm_3DTomographicVisualization` box : displays a 3D source reconstruction using 2394 colored/translucent voxels in a 3D head model.
|
||||
|
||||
This box expects 2394 input channels, produced by an inverse model (i.e. a spatial filter with N sensor inputs for 2394 sources outputs). This model must be tailor-made for the precise EEG setup being used (e.g. using sLORETA).
|
||||
|
||||
.. figure:: /boxes/images/3DTomographicVisualization_Display.png
|
||||
:align: center
|
||||
|
||||
3D tomographic reconstruction using the 3D Tomographic Visualization box
|
||||
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Concepts_ChannelLocalization:
|
||||
|
||||
Channel localization
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Every visualization box can use the spatial information conveyed by the
|
||||
electrode naming. The channels can be positionned relatively to each other as
|
||||
long as you provide in the box settings a file containing the cartesian
|
||||
coordinates of the electrodes. Most of the time, EEG manufacturers use the
|
||||
10-20 system as an electrode naming standard. For convenience, we provide
|
||||
within the Toolset a file compiling all the coordinates of the electrodes in
|
||||
the 10-20 system.
|
||||
|
||||
The cartesian coordinates of all the electrodes are computed in the 3D space, where the origin is at the center of [Fpz,Oz] and [T7,T8].
|
||||
|
||||
- the X axis goes from the occipital lobe to the frontal lobe
|
||||
- the Y axis goes from the right temporal lobe to the left temporal lobe
|
||||
- the Z axis goes from the center of the head to the top
|
||||
|
||||
And as for the unit, here are some key points at the maximum of the axis:
|
||||
|
||||
- Fpz (1,0,0)
|
||||
- Oz (-1,0,0)
|
||||
- T7 (0,1,0)
|
||||
- T8 (0,-1,0)
|
||||
- Cz (0,0,1)
|
||||
|
||||
The following figures illustrates the cartesian coordinates of the extended 10-20 system used in the Mensia Advanced Visualization Toolset.
|
||||
|
||||
.. figure:: images/CartesianCoordinates1.png
|
||||
:align: center
|
||||
|
||||
Cartesian coordinates of the 10-20 system, side view.
|
||||
|
||||
.. figure:: images/CartesianCoordinates2.png
|
||||
:align: center
|
||||
|
||||
Cartesian coordinates of the 10-20 system, front view.
|
||||
|
||||
For more information, please see *Oostenveld, R. & Praamstra, P. (2001). The
|
||||
five percent electrode system for high-resolution EEG and ERP measurements.
|
||||
Clinical Neurophysiology, 112:713-719*
|
||||
|
||||
Please note that using the 10-20 system is not mandatory. To use all the Toolset features related to the spatial disposition of the electrodes, you just need to provide a file that maps electrode name with their coordinates in the space described above.
|
||||
|
||||
The format of this file is simple text. You must provide:
|
||||
|
||||
- the electrode names as a list of quoted labels
|
||||
- the coordinate system labels
|
||||
- the electrode coordinates of the electrodes, in the same order as in the electrode names
|
||||
|
||||
For example:
|
||||
|
||||
.. code::
|
||||
|
||||
[
|
||||
["O1" "O2" ... ]
|
||||
["x" "y" "z" ]
|
||||
]
|
||||
[
|
||||
[-0.309017 -0.951057 4.48966e-011 ]
|
||||
]
|
||||
[
|
||||
[0.309017 -0.951057 4.48966e-011 ]
|
||||
]
|
||||
|
||||
For a complete example, please look at the file provided with the Toolset (``../share/mensia/openvibe-plugins/cartesian.txt``)
|
||||
|
||||
@@ -0,0 +1,220 @@
|
||||
.. _Doc_Mensia_AdvViz_Configuration:
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
By design, all the boxes included in the Mensia Advanced Visualization Toolset
|
||||
share a common behavior when it comes to configuring the boxes, in the scenario
|
||||
edition or during its execution. In this section we describe the common
|
||||
configuration parameters you find when using these boxes.
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Configuration_BoxSettings:
|
||||
|
||||
Box settings
|
||||
------------
|
||||
|
||||
You may encounter different settings, common to all or a subset of boxes,
|
||||
depending on the paradigms.
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Configuration_ChannelLocalization:
|
||||
|
||||
Channel localisation
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Specify here where to find the file listing the coordinates of every electrodes
|
||||
by their names. Please see
|
||||
:ref:`Doc_Mensia_AdvViz_Concepts_ChannelLocalization` for more details.
|
||||
|
||||
For conveniency, we provide a default file
|
||||
``${AdvancedViz_ChannelLocalisation}``
|
||||
(*../share/mensia/openvibe-plugins/cartesian.txt*) which contains the cartesian
|
||||
coordinates of all electrodes in the extended 10-20 system. This settings is
|
||||
obviously **mandatory for the Topographic views**, but can also be useful for
|
||||
the other paradigms: at runtime, you can re-arrange the channels spatially by
|
||||
their names (from left to right hemisphere, or from front to top). This is
|
||||
useful when dealing with dense EEG (128 or more channels), which can bring a
|
||||
new light, new contrast on a rather opaque data display.
|
||||
|
||||
.. figure:: images/Settings_ChannelLocalisation.png
|
||||
:align: center
|
||||
|
||||
Spatial reorganization on a dense signal display using a Continuous Oscillator
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Configuration_Caption:
|
||||
|
||||
Caption
|
||||
~~~~~~~
|
||||
|
||||
If this field is used, this label will be displayed in the window, on top of the rendering area.
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Configuration_Color:
|
||||
|
||||
Color
|
||||
~~~~~
|
||||
|
||||
The color gradient you want to use to display the data. You can use the color picker to chose the gradient manually, or use one of the presets.
|
||||
|
||||
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
|
||||
|
||||
- ``Matlab`` or ``Matlab_Discrete`` (as in `Matlab <http://www.mathworks.fr/products/matlab/>`_ / `BCILAB toolbox <http://sccn.ucsd.edu/wiki/BCILAB>`_)
|
||||
- ``Icon`` or ``Icon_Discrete`` (as in `ICoN <https://sites.google.com/site/marcocongedo/software/icon>`)
|
||||
- ``Elan`` or ``Elan_Discrete`` (as in `Elan <http://elan.lyon.inserm.fr/>`_)
|
||||
- ``Fire`` or ``Fire_Discrete``
|
||||
- ``IceAndFire`` or ``IceAndFire_Discrete``
|
||||
|
||||
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to ``Matlab`` and ``Matlab_Discrete``.
|
||||
|
||||
Here is an example of 2D topography rendering using these color gradients:
|
||||
|
||||
.. figure:: images/2DTopography_ColorGradients.png
|
||||
:align: center
|
||||
|
||||
The color gradient presets available, illustrated with the 2D topography
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Configuration_BoxSettings_Translucency:
|
||||
|
||||
Translucency
|
||||
~~~~~~~~~~~~
|
||||
|
||||
This setting expects a value between 0 and 1, where 0 is complete transparency and 1 complete opacity.
|
||||
|
||||
The translucency parameter is very useful when dealing with overlapping rendering, i.e. when some parts of the visualizations end up on each other.
|
||||
By adding some translucency the data can still be visible, and it can also smoothen dense readings for more confort.
|
||||
|
||||
.. figure:: images/Settings_Translucency-1-05.png
|
||||
:align: center
|
||||
|
||||
Using the translucency to allow dense yet smooth EEG reading
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Configuration_BoxSettings_PositiveData:
|
||||
|
||||
Positive data only
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
By ticking this checkbox, you shift the vertical scale of the visualization in order to have the 0 at the bottom (no negative values will be displayed)
|
||||
|
||||
This setting can be activated when dealing with spectral amplitude or any kind of positive-only "levels".
|
||||
|
||||
.. figure:: images/ContinuousBars_Display.png
|
||||
:align: center
|
||||
|
||||
Displaying a positive level (Global Field Power) using Continuous Bars
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Configuration_BoxSettings_Gain:
|
||||
|
||||
Gain
|
||||
~~~~
|
||||
|
||||
If set, all samples in the input stream are multiplied by this scalar value before display.
|
||||
This can be useful when you need to display all at once different type of data on the same relative scale, with a good contrast on every view.
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Configuration_BoxSettings_TemporalCoherence:
|
||||
|
||||
Temporal Coherence
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Tells the box whether the input stream is expected to be **Time-locked** or
|
||||
**Independent**. In the first case the box should use a Time scale (in
|
||||
seconds, for **continuous** data), and for the second case a Matrix count
|
||||
(number of data block received, for **discontinuous** data).
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Configuration_BoxSettings_TimeScale:
|
||||
|
||||
Time scale
|
||||
~~~~~~~~~~
|
||||
|
||||
The time scale (in seconds) drives the number of values to be displayed in
|
||||
continuous or stacked views before going back to the origin. Using a time
|
||||
scale is meaningful only when dealing with an input stream made of continuous
|
||||
epochs, e.g. signal display, time-frequency analysis.
|
||||
|
||||
.. _ Doc_Mensia_AdvViz_Configuration_BoxSettings_MatrixCount:
|
||||
|
||||
Matrix count
|
||||
~~~~~~~~~~~~
|
||||
|
||||
The number of input epochs to display before going back to the origin. For
|
||||
example in stacked bitmaps this setting is the number of bitmaps to be stacked
|
||||
before going back to the bottom of the stack.
|
||||
|
||||
An illustration for this setting would be the visualization of Event-Related
|
||||
Potentials such as P300. In such scenario, we usually select epochs of data
|
||||
uncontinuously, e.g. by extracting 600ms of signal around a target stimulation.
|
||||
Setting the Temporal coherence parameter to *Independent* will make the
|
||||
box display every epochs one after another, without trying to use the epoch
|
||||
timings. For example, set to *Independent* when you want to stack P300
|
||||
target trials on a bitmap view, with a matrix count equal to the number of
|
||||
trials you want to stack.
|
||||
|
||||
.. figure:: images/StackedBitmapVert_ERPDisplay.png
|
||||
:align: center
|
||||
|
||||
Using a Stacked Bitmap (Vertical) to display the 3 first xDAWN components of all 99 Target trials of a P300 session
|
||||
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Configuration_RuntimeToolbar:
|
||||
|
||||
Runtime Settings
|
||||
----------------
|
||||
|
||||
This section covers the different settings available at runtime (i.e. when the
|
||||
scenario is currently beeing played). Clicking on the **toolbar** will open-up
|
||||
the runtime visualization settings.
|
||||
|
||||
- **Sort Channels** : rearrange the channels **by their name** (alphabetically
|
||||
or reversed order), or **by their position on the scalp** (left to right or
|
||||
front to back). This last option is possible only if the channel are named
|
||||
according to the 10-20 system, and if you provided a channel localisation
|
||||
file in the box settings.
|
||||
|
||||
- **Select Channels** : Select in a list the channels you want to see in the
|
||||
visualization window. Use the ``Ctrl`` or ``Shift`` key to add channels to
|
||||
your selection, ``Ctrl+a`` to select all channels.
|
||||
|
||||
- **Show scales** : show or hide all the scales around the visualization
|
||||
widget; allows nice snapshots. This setting is **global**, meaning that it
|
||||
affects all the other advanced visualization windows currently running in
|
||||
your scenario. Doing so preserves the widgets alignment when displaying
|
||||
synchronized data. This setting can be turned on or off also by a **double
|
||||
left-click** in the visualization windows itself.
|
||||
|
||||
- **Positive data** : this setting is a runtime duplicate of the box setting
|
||||
*Positive data only*. If checked, the vertical axis is shifted so
|
||||
that 0 is at the bottom. Negative values wont be displayed.
|
||||
|
||||
Depending on the temporal coherence selected in the box settings, you may find:
|
||||
|
||||
- **Time scale** : this setting is a runtime duplicate of the box setting *Time scale*.
|
||||
|
||||
- **Matrix count** : this setting is a runtime duplicate of the box setting *Matrix count*.
|
||||
|
||||
When the visualization box implements an **Instant** paradigm for **streamed
|
||||
matrices or signal input** data, a new setting is available:
|
||||
|
||||
- **Epoch replay** : replays the last epoch received.
|
||||
|
||||
Topographies also expose the ERP replay in adequat conditions. This feature is
|
||||
**global**, meaning that the replay is performed simultaneously on every
|
||||
compatible boxes. This allows for example on-demand replays of ERPs,
|
||||
simultaneously on a signal display and a topography.
|
||||
|
||||
.. figure:: images/3DTopography_ERPReplay.png
|
||||
:align: center
|
||||
|
||||
Using the ERP replay feature on a 3D topography to catch the spatial course of the potential
|
||||
|
||||
.. _Doc_Mensia_AdvViz_Configuration_RuntimeControls:
|
||||
|
||||
Runtime Controls
|
||||
----------------
|
||||
|
||||
All the visualization boxes share common controls at runtime, for a user-friendly, natural interaction.
|
||||
Using the mouse, one can:
|
||||
|
||||
- Maintain **right click** and move the mouse up or down to **zoom in or out on the data scale**
|
||||
- Maintain **left click** and move the mouse to **rotate** a 3D model
|
||||
- Maintain **middle click** and move the mouse to **zoom in or out on a 3D model**
|
||||
- **Double left click** in the vizualisation window to remove all the scales from the frame
|
||||
|
||||
All these controls are **global** , meaning that if you change the scale in one visualization window, it will change the scale in every visualization windows accordingly.
|
||||
|
||||
@@ -0,0 +1,138 @@
|
||||
.. _Doc_Mensia_AdvViz_UseCases:
|
||||
|
||||
Use-cases
|
||||
=========
|
||||
|
||||
We describe in this section of the documentation several use-cases, typical and
|
||||
concrete examples of EEG analysis that are enlighted by the **Mensia Advanced
|
||||
Visualization Toolset**.
|
||||
|
||||
.. _Doc_Mensia_AdvViz_UseCases_SignalAnalysis:
|
||||
|
||||
EEG Signal analysis
|
||||
-------------------
|
||||
|
||||
This detailed example uses the basic OpenViBE signal processing boxes to
|
||||
perform elementary real-time analysis, and the Mensia Advanced Visualization
|
||||
Toolset to display the results:
|
||||
|
||||
- Raw and filtered EEG
|
||||
- Spectrum, time-frequency map
|
||||
- 2D and 3D topographies
|
||||
|
||||
You can find this scenario in the provided sample set, the scenario file name
|
||||
is ``UseCase-1-EEG-signal-analysis.mxs``.
|
||||
|
||||
|
||||
.. _Doc_Mensia_AdvViz_UseCases_SignalAnalysis_Intro:
|
||||
|
||||
Introduction
|
||||
~~~~~~~~~~~~
|
||||
|
||||
This use-case is a simple yet concrete example of real-time EEG analysis
|
||||
usually performed with OpenViBE. The scenario covers the use of oscilloscope,
|
||||
bitmaps, bars and topographic views to display signal, spectrum, and band
|
||||
power.
|
||||
|
||||
.. _Doc_Mensia_AdvViz_UseCases_SignalAnalysis_Scenario:
|
||||
|
||||
The scenario
|
||||
~~~~~~~~~~~~
|
||||
|
||||
The signal used is a **motor imagery** session, where the participant performed
|
||||
right and left hand motor imagery trials. For more details, please refer to
|
||||
the official documentation of the OpenViBE motor-imagery bci scenarios,
|
||||
provided with the official release of the software. We chose these data for
|
||||
demonstration purpose only as it is a file provided with the official release
|
||||
of openvibe, and should be available for you anyway.
|
||||
|
||||
.. _Doc_Mensia_AdvViz_UseCases_SignalAnalysis_Scenario_Filtering:
|
||||
|
||||
Signal filtering
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
We first remove artifacts using temporal filters, especially the common 50Hz
|
||||
noise coming from the electrical installation. The EEG amplifier used for the
|
||||
record we read here is a Mindmedia NeXuS 32b, with one reference channel put on
|
||||
Nz (nose). The *Reference Channel* box applies this spatial filter to further
|
||||
remove noises.
|
||||
|
||||
We then use a :ref:`Doc_BoxAlgorithm_ContinuousOscilloscope` to display the
|
||||
filtered signal.
|
||||
|
||||
.. figure:: images/UseCase1_1.png
|
||||
:align: center
|
||||
|
||||
Denoising the signal before display
|
||||
|
||||
.. _Doc_Mensia_AdvViz_UseCases_SignalAnalysis_Scenario_Spectrum:
|
||||
|
||||
Spectral analysis
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
A first pipeline computes two surface Laplacian filters around C3 and C4, the
|
||||
center of the two motor cortices. We then compute the spectrum using FFT, up
|
||||
to 32 Hz, and display it using :ref:`Doc_BoxAlgorithm_InstantBars` (spectrum
|
||||
levels) and :ref:`Doc_BoxAlgorithm_StackedBitmapHorizontal` (time-frequency
|
||||
map).
|
||||
|
||||
.. figure:: images/UseCase1_2.png
|
||||
:align: center
|
||||
|
||||
Spectral analysis over filtered data
|
||||
|
||||
.. _Doc_Mensia_AdvViz_UseCases_SignalAnalysis_Scenario_Topo:
|
||||
|
||||
Topographic display
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
We compute in a parallel pipeline the alpha band power, averaged over several
|
||||
epochs, and visualize it over the scalp through
|
||||
:ref:`Doc_BoxAlgorithm_2DTopography` and :ref:`Doc_BoxAlgorithm_3DTopography`.
|
||||
|
||||
.. figure:: images/UseCase1_3.png
|
||||
:align: center
|
||||
|
||||
Topographic display of the alpha band power over the scalp
|
||||
|
||||
.. _Doc_Mensia_AdvViz_UseCases_SignalAnalysis_Result:
|
||||
|
||||
Result
|
||||
~~~~~~
|
||||
|
||||
Here is the online visualization when we play this scenario on the provided
|
||||
data.
|
||||
|
||||
.. figure:: images/UseCase1_6.png
|
||||
:align: center
|
||||
|
||||
Signal display
|
||||
|
||||
.. figure:: images/UseCase1_4.png
|
||||
:align: center
|
||||
|
||||
Spectrum visualization
|
||||
|
||||
.. figure:: images/UseCase1_5.png
|
||||
:align: center
|
||||
|
||||
2D and 3D Topographies
|
||||
|
||||
.. _Doc_Mensia_AdvViz_UseCases_ERPAnalysis:
|
||||
|
||||
Event-Related Potentials analysis
|
||||
---------------------------------
|
||||
|
||||
This use-case is focused on the ERP extraction and visualization, applied to
|
||||
P300 speller data. The Mensia Advanced Visualization boxes allows concurrent
|
||||
and comparative displays (e.g. target versus non-target potentials), and
|
||||
synchronized replay capabilities
|
||||
|
||||
You can find this scenario in the provided sample set, the scenario file name
|
||||
is ``UseCase-2-ERP-analysis.mxs``.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 133 KiB |
|
After Width: | Height: | Size: 108 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 176 KiB |
|
After Width: | Height: | Size: 456 KiB |
|
After Width: | Height: | Size: 139 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 74 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 59 KiB |