init
|
After Width: | Height: | Size: 558 B |
|
After Width: | Height: | Size: 718 B |
|
After Width: | Height: | Size: 939 B |
@@ -0,0 +1,81 @@
|
||||
/**
|
||||
* \page BoxAlgorithm_AutoRegressiveCoefficients AR Features
|
||||
__________________________________________________________________
|
||||
|
||||
Detailed description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_AutoRegressiveCoefficients_Description|
|
||||
*The AR features box calculate the coefficients using Burg's method [1] to compute the AutoRegressive (AR) model of an input signal.
|
||||
The AR model is a representation that describes a time varying process by its own previous values.
|
||||
|
||||
The definition used is :
|
||||
\image html ARBurg_Formula.png
|
||||
|
||||
<!-- "Formula of the AR model is x(t)=\sum_{i=1}^N a(i)x(t-i)+e(t)" -->
|
||||
|
||||
Where \e a(i) are the autoregressive coefficients or parameters of the model, \e x(t) is the input signal, \e x(t-i) its previous values, \e N is the order (length) of the model and \e epsilon(t) is the residue, assumed to be Gaussian white noise.
|
||||
|
||||
For more informations about AR model :
|
||||
|
||||
https://en.wikipedia.org/wiki/Autoregressive_model
|
||||
|
||||
http://paulbourke.net/miscellaneous/ar/
|
||||
|
||||
The model order (see [2]) needs to be specified in the settings of the box.
|
||||
|
||||
|
||||
[1] Burg, J.P. (1967) "Maximum Entropy Spectral Analysis", Proceedings of the 37th Meeting of the Society of Exploration Geophysicists, Oklahoma City, Oklahoma
|
||||
|
||||
[2] D.J. Krusienski, D.J. MacFarland, J.R. Wolpaw. An evaluation of autoregressive spectral estimation model order for brain-computer interface application. Proceedings of the 28th IEEE EMBS Annual International Conference, New York City, USA, Aug 30-Sept 3, 2006
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_AutoRegressiveCoefficients_Description|
|
||||
__________________________________________________________________
|
||||
|
||||
Inputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_AutoRegressiveCoefficients_Inputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_AutoRegressiveCoefficients_Inputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_AutoRegressiveCoefficients_Input1|
|
||||
The input signal
|
||||
* |OVP_DocEnd_BoxAlgorithm_AutoRegressiveCoefficients_Input1|
|
||||
__________________________________________________________________
|
||||
|
||||
Outputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_AutoRegressiveCoefficients_Outputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_AutoRegressiveCoefficients_Outputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_AutoRegressiveCoefficients_Output1|
|
||||
The AR coefficients stored in a Feature vector
|
||||
* |OVP_DocEnd_BoxAlgorithm_AutoRegressiveCoefficients_Output1|
|
||||
__________________________________________________________________
|
||||
|
||||
Settings description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_AutoRegressiveCoefficients_Settings|
|
||||
* |OVP_DocEnd_BoxAlgorithm_AutoRegressiveCoefficients_Settings|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_AutoRegressiveCoefficients_Setting1|
|
||||
Specify the order, thus the number of coefficients calculated
|
||||
* |OVP_DocEnd_BoxAlgorithm_AutoRegressiveCoefficients_Setting1|
|
||||
__________________________________________________________________
|
||||
|
||||
Examples description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_AutoRegressiveCoefficients_Examples|
|
||||
* |OVP_DocEnd_BoxAlgorithm_AutoRegressiveCoefficients_Examples|
|
||||
__________________________________________________________________
|
||||
|
||||
Miscellaneous description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_AutoRegressiveCoefficients_Miscellaneous|
|
||||
The output feature vector contains the coefficients for each channel : the first [order+1] elements are the coefficients of the first channel, etc.
|
||||
* |OVP_DocEnd_BoxAlgorithm_AutoRegressiveCoefficients_Miscellaneous|
|
||||
*/
|
||||
@@ -0,0 +1,93 @@
|
||||
/**
|
||||
* \page BoxAlgorithm_ConnectivityMeasure Connectivity Measure
|
||||
__________________________________________________________________
|
||||
|
||||
Detailed description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ConnectivityMeasure_Description|
|
||||
This box measure connectivity between all channels of a signal using several method. For now, Coherence, Magnitude Squared Coherence, Imaginary part of Coherence, and absolute value of the Imaginary part are available.
|
||||
They are defined in [1].
|
||||
|
||||
The coherence definitions used are :
|
||||
\f[ Coherence = \frac{\left| S_{xy} \right|}{sqrt{(P_{xx}.P_{yy})} } \f]
|
||||
\f[ Magnitude Squared Coherence = \frac{\left| S_{xy} \right|^2}{(P_{xx}.P_{yy})} \f]
|
||||
\f[ Imaginary Coherence = \frac{Im(S_{xy})}{sqrt{(P_{xx}.P_{yy})} } \f]
|
||||
\f[ Absolute Value Of Imaginary Coherence = \frac{\left| Im(S_{xy}) \right|}{sqrt{(P_{xx}.P_{yy})} } \f]
|
||||
|
||||
With \e \f$ S_{xy} \f$ the cross-spectral density between two signal channels, and \e \f$ P_{xx} \f$ and \e \f$ P_{yy} \f$ the Power Spectral Densities of the two channels.
|
||||
The spectral densities are estimated via Welch's method [2]
|
||||
|
||||
[1] Nolte & al (2004) "Identifying true brain interaction from EEG data using the imaginary part of coherency", Clinical Neurophysiology Volume 115, Issue 10, October 2004
|
||||
|
||||
[2] Welch, P.D. (1967) "The Use of Fast Fourier Transform for the Estimation of Power Spectra: A Method Based on Time Averaging Over Short, Modified Periodograms", IEEE Transactions on Audio Electroacoustics, AU-15, 70–73
|
||||
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_ConnectivityMeasure_Description|
|
||||
__________________________________________________________________
|
||||
|
||||
Inputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ConnectivityMeasure_Inputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_ConnectivityMeasure_Inputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ConnectivityMeasure_Input1|
|
||||
The input signal on which connectivity between channels will be measured.
|
||||
* |OVP_DocEnd_BoxAlgorithm_ConnectivityMeasure_Input1|
|
||||
__________________________________________________________________
|
||||
|
||||
Outputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ConnectivityMeasure_Outputs|
|
||||
The output of the box is the connectivity Matrix
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_ConnectivityMeasure_Outputs|
|
||||
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ConnectivityMeasure_Output1|
|
||||
The connectivity matrix is a 3D Matrix of size \e frequency_taps \e x \e nb_channels \e x \e nb_channels
|
||||
* |OVP_DocEnd_BoxAlgorithm_ConnectivityMeasure_Output1|
|
||||
|
||||
|
||||
|
||||
__________________________________________________________________
|
||||
|
||||
Settings description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ConnectivityMeasure_Settings|
|
||||
* |OVP_DocEnd_BoxAlgorithm_ConnectivityMeasure_Settings|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ConnectivityMeasure_Setting1|
|
||||
Choice of the algorithm to measure the connectivity (Magnitude Squared Coherence, Imaginary Coherence).
|
||||
* |OVP_DocEnd_BoxAlgorithm_ConnectivityMeasure_Setting1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ConnectivityMeasure_Setting2|
|
||||
The windowing method to apply. Available options are Hamming, Hanning and Welch.
|
||||
* |OVP_DocEnd_BoxAlgorithm_ConnectivityMeasure_Setting2|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ConnectivityMeasure_Setting3|
|
||||
The length of the window in seconds for the windowing method.
|
||||
* |OVP_DocEnd_BoxAlgorithm_ConnectivityMeasure_Setting3|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ConnectivityMeasure_Setting4|
|
||||
The percentage of overlap of the windowing method
|
||||
* |OVP_DocEnd_BoxAlgorithm_ConnectivityMeasure_Setting4|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ConnectivityMeasure_Setting5|
|
||||
The length of signal to receive (in seconds) before processing the connectivity on it.
|
||||
* |OVP_DocEnd_BoxAlgorithm_ConnectivityMeasure_Setting5|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ConnectivityMeasure_Setting6|
|
||||
The percentage of signal overlap to process the connectivity on.
|
||||
* |OVP_DocEnd_BoxAlgorithm_ConnectivityMeasure_Setting6|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ConnectivityMeasure_Setting7|
|
||||
The amount of frequency taps for the connectivity measure.
|
||||
* |OVP_DocEnd_BoxAlgorithm_ConnectivityMeasure_Setting7|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ConnectivityMeasure_Setting8|
|
||||
Option to remove DC component from signal.
|
||||
* |OVP_DocEnd_BoxAlgorithm_ConnectivityMeasure_Setting8|
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1,79 @@
|
||||
/**
|
||||
* \page BoxAlgorithm_DiscreteWaveletTransform DiscreteWaveletTransform
|
||||
__________________________________________________________________
|
||||
|
||||
Detailed description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_DiscreteWaveletTransform_Description|
|
||||
* This box calculates the discrete wavelet transform using the following library:
|
||||
http://wavelet2d.sourceforge.net/
|
||||
There are differents options for the wavelet's choice like Haar,Daubechie, Biorthogonal, Coiflets, Symlets.
|
||||
The user must pay attention in the samples quantity sent to the box because it has to be higher than 2^J
|
||||
where J is the decomposition levels.
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_DiscreteWaveletTransform_Description|
|
||||
__________________________________________________________________
|
||||
|
||||
Inputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_DiscreteWaveletTransform_Inputs|
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_DiscreteWaveletTransform_Inputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_DiscreteWaveletTransform_Input1|
|
||||
Signal to be decomposed.
|
||||
* |OVP_DocEnd_BoxAlgorithm_DiscreteWaveletTransform_Input1|
|
||||
__________________________________________________________________
|
||||
|
||||
Outputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_DiscreteWaveletTransform_Outputs|
|
||||
There are at least 3 outputs and there is always the 'Info' output which is necessary to be connected to the
|
||||
'Info' signal in the inverse discrete wavelets transform.
|
||||
The decompositions start with the less detailed level (low frequencies) (A) and go until the highest detailed level (high frequencies) (D1)
|
||||
* |OVP_DocEnd_BoxAlgorithm_DiscreteWaveletTransform_Outputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_DiscreteWaveletTransform_Output1|
|
||||
Info signal (needed to export samples length)
|
||||
* |OVP_DocEnd_BoxAlgorithm_DiscreteWaveletTransform_Output1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_DiscreteWaveletTransform_Output2|
|
||||
* |OVP_DocEnd_BoxAlgorithm_DiscreteWaveletTransform_Output2|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_DiscreteWaveletTransform_Output3|
|
||||
* |OVP_DocEnd_BoxAlgorithm_DiscreteWaveletTransform_Output3|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_DiscreteWaveletTransform_Output4|
|
||||
* |OVP_DocEnd_BoxAlgorithm_DiscreteWaveletTransform_Output4|
|
||||
__________________________________________________________________
|
||||
|
||||
Settings description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_DiscreteWaveletTransform_Settings|
|
||||
You can choose the level of decomposition and the wavelet type
|
||||
* |OVP_DocEnd_BoxAlgorithm_DiscreteWaveletTransform_Settings|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_DiscreteWaveletTransform_Setting1|
|
||||
* |OVP_DocEnd_BoxAlgorithm_DiscreteWaveletTransform_Setting1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_DiscreteWaveletTransform_Setting2|
|
||||
* |OVP_DocEnd_BoxAlgorithm_DiscreteWaveletTransform_Setting2|
|
||||
__________________________________________________________________
|
||||
|
||||
Examples description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_DiscreteWaveletTransform_Examples|
|
||||
* |OVP_DocEnd_BoxAlgorithm_DiscreteWaveletTransform_Examples|
|
||||
__________________________________________________________________
|
||||
|
||||
Miscellaneous description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_DiscreteWaveletTransform_Miscellaneous|
|
||||
* |OVP_DocEnd_BoxAlgorithm_DiscreteWaveletTransform_Miscellaneous|
|
||||
*/
|
||||
@@ -0,0 +1,69 @@
|
||||
/**
|
||||
* \page BoxAlgorithm_EOGDenoising EOG Denoising
|
||||
__________________________________________________________________
|
||||
|
||||
Detailed description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoising_Description|
|
||||
* This box uses a denoising matrix 'b' calculated previously through the EOG_Denoising_Calibration for removing the EOG effects on EEG. The principle is based on regression analysis (see article 'A fully automated correction method of EOG artifacts in EEG recordings) where a matrix 'b' is estimated being:b = <'Nt N>-¹<'N S> with N being the noise (EOG electrodes) and S the source (EEG electrodes).
|
||||
The signal output is the EEG_Corrected (free of EOG noise):O=S-b*N (EEG_Corrected = EEG - b*EOG)
|
||||
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoising_Description|
|
||||
__________________________________________________________________
|
||||
|
||||
Inputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoising_Inputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoising_Inputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoising_Input1|
|
||||
* Make sure to select the same quantity of EEG channels as specified in your 'b' parameter matrix
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoising_Input1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoising_Input2|
|
||||
* Make sure to select the same quantity of EOG channels as specified in your 'b' parameter matrix
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoising_Input2|
|
||||
__________________________________________________________________
|
||||
|
||||
Outputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoising_Outputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoising_Outputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoising_Output1|
|
||||
* The output has the same structure as the EEG input
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoising_Output1|
|
||||
__________________________________________________________________
|
||||
|
||||
Settings description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoising_Settings|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoising_Settings|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoising_Setting1|
|
||||
* Make sure to select the right file containing your 'b' matrix with the right coefficients
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoising_Setting1|
|
||||
__________________________________________________________________
|
||||
|
||||
Examples description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoising_Examples|
|
||||
* You can apply these boxes in a set with a high density of blinking eyes and see the results before and after.
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoising_Examples|
|
||||
__________________________________________________________________
|
||||
|
||||
Miscellaneous description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoising_Miscellaneous|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoising_Miscellaneous|
|
||||
*/
|
||||
@@ -0,0 +1,77 @@
|
||||
/**
|
||||
* \page BoxAlgorithm_EOGDenoisingCalibration EOG_Denoising_Calibration
|
||||
__________________________________________________________________
|
||||
|
||||
Detailed description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoisingCalibration_Description|
|
||||
This box calculates a denoising matrix 'b' for removing the EOG effects on EEG. The principle is based on regression analysis (see article 'A fully automated correction method of EOG artifacts in EEG recordings' - Schlogl2007) where a matrix 'b' is estimated being: b = <'Nt N>-¹<'N S> with N being the noise (EOG electrodes) and S the source (EEG electrodes).
|
||||
This box reads necessarily from a file where the subject does lots of blinks. User will set a starting and an ending point at this file then the program will calculates the b matrix after reading throughout the file.
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoisingCalibration_Description|
|
||||
__________________________________________________________________
|
||||
|
||||
Inputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoisingCalibration_Inputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoisingCalibration_Inputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoisingCalibration_Input1|
|
||||
* Make sure to select the desirable EEG channels
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoisingCalibration_Input1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoisingCalibration_Input2|
|
||||
* Make sure to select the desirable EOG channels
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoisingCalibration_Input2|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoisingCalibration_Input3|
|
||||
* Connect this stimulation to the keyboard_controller.
|
||||
* Press 'a' for set the starting point and 'u' for set the ending point
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoisingCalibration_Input3|
|
||||
__________________________________________________________________
|
||||
|
||||
Outputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoisingCalibration_Outputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoisingCalibration_Outputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoisingCalibration_Output1|
|
||||
Connect this stimulation to the Player Controller to stop the scenario when b matrix is calculated
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoisingCalibration_Output1|
|
||||
__________________________________________________________________
|
||||
|
||||
Settings description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoisingCalibration_Settings|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoisingCalibration_Settings|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoisingCalibration_Setting1|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoisingCalibration_Setting1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoisingCalibration_Setting2|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoisingCalibration_Setting2|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoisingCalibration_Setting3|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoisingCalibration_Setting3|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoisingCalibration_Setting4|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoisingCalibration_Setting4|
|
||||
__________________________________________________________________
|
||||
|
||||
Examples description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoisingCalibration_Examples|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoisingCalibration_Examples|
|
||||
__________________________________________________________________
|
||||
|
||||
Miscellaneous description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EOGDenoisingCalibration_Miscellaneous|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EOGDenoisingCalibration_Miscellaneous|
|
||||
*/
|
||||
@@ -0,0 +1,96 @@
|
||||
/**
|
||||
* \page BoxAlgorithm_ERSPAverage ERSP Average
|
||||
__________________________________________________________________
|
||||
|
||||
Detailed description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ERSPAverage_Description|
|
||||
|
||||
The ERSP Average box is intended to be used for computing
|
||||
Event-Related Spectral Perturbation (ERSP) plots. These plots
|
||||
show, starting from a stimulus onset, how the power spectrum
|
||||
develops over time on the average across the trials. This is not
|
||||
straightforwardly achievable with the other averaging boxes,
|
||||
as the OpenViBE Spectrum stream does not have a time dimension:
|
||||
a spectrum chunk is a matrix [frequency X channel], whereas to compute
|
||||
the average evolution of a spectra over time, we would need a
|
||||
tensor [frequency X channel X time] per trial and then average
|
||||
these across the trials.
|
||||
|
||||
To achieve the average, the ERSP Average box collects individual
|
||||
spectra, and computes the average when requested. In more detail,
|
||||
assume you have EEG data for trial t. Using other boxes, you can
|
||||
segment this trial to k spectral power estimates s1,s2,...,sk.
|
||||
Now what the ERSP average does is to average these estimates
|
||||
across the trials, and returns E[s1], E[s2], ..., E[sk], which
|
||||
you can then plot as the average evolution of the spectrum
|
||||
after the stimulus onset.
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_ERSPAverage_Description|
|
||||
__________________________________________________________________
|
||||
|
||||
Inputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ERSPAverage_Inputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_ERSPAverage_Inputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ERSPAverage_Input1|
|
||||
|
||||
The spectrum stream to average
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_ERSPAverage_Input1|
|
||||
__________________________________________________________________
|
||||
|
||||
Outputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ERSPAverage_Outputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_ERSPAverage_Outputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ERSPAverage_Output1|
|
||||
|
||||
A sequence of chunks encoding the evolution of the spectra after stimulus onset.
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_ERSPAverage_Output1|
|
||||
__________________________________________________________________
|
||||
|
||||
Settings description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ERSPAverage_Settings|
|
||||
* |OVP_DocEnd_BoxAlgorithm_ERSPAverage_Settings|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ERSPAverage_Setting1|
|
||||
|
||||
The stimulation to identify the trial start (stimulus onset).
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_ERSPAverage_Setting1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ERSPAverage_Setting2|
|
||||
|
||||
The stimulation to trigger the computation of the average.
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_ERSPAverage_Setting2|
|
||||
__________________________________________________________________
|
||||
|
||||
Examples description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ERSPAverage_Examples|
|
||||
|
||||
See the box tutorial ersp-average.mxs bundled with OpenViBE.
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_ERSPAverage_Examples|
|
||||
__________________________________________________________________
|
||||
|
||||
Miscellaneous description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_ERSPAverage_Miscellaneous|
|
||||
|
||||
The box does not return anything until the computation trigger is received. After that, its output is set to start from time 0. Upon computation, its buffers and counters will be automatically cleared.
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_ERSPAverage_Miscellaneous|
|
||||
*/
|
||||
@@ -0,0 +1,186 @@
|
||||
/**
|
||||
* \page BoxAlgorithm_EpochVariance Epoch variance
|
||||
__________________________________________________________________
|
||||
|
||||
Detailed description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EpochVariance_Description|
|
||||
* This box is an extension of the Epoch Average box. It offers several methods of averaging for epoched streams but also outputs variance and confidence bounds.
|
||||
* |OVP_DocEnd_BoxAlgorithm_EpochVariance_Description|
|
||||
__________________________________________________________________
|
||||
|
||||
Inputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EpochVariance_Inputs|
|
||||
* The input type of this box can be changed. Its type must be derived of
|
||||
* type \ref Doc_Streams_StreamedMatrix in order to be parsed by the input
|
||||
* reader. If the author changes the input type, the output type will
|
||||
* be changed the same way.
|
||||
* |OVP_DocEnd_BoxAlgorithm_EpochVariance_Inputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EpochVariance_Input1|
|
||||
* This input receives the input streamed matrix to average.
|
||||
* |OVP_DocEnd_BoxAlgorithm_EpochVariance_Input1|
|
||||
__________________________________________________________________
|
||||
|
||||
Outputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EpochVariance_Outputs|
|
||||
* The output type of this box can be changed. Its type must be derived of
|
||||
* type \ref Doc_Streams_StreamedMatrix in order for the writer to format
|
||||
* the output chunks. If the author changes the output type, the input
|
||||
* type will be changed the same way.
|
||||
* |OVP_DocEnd_BoxAlgorithm_EpochVariance_Outputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EpochVariance_Output1|
|
||||
* This output sends the averaged streamed matrix. Averaging method is done
|
||||
* according to the box settings.
|
||||
* |OVP_DocEnd_BoxAlgorithm_EpochVariance_Output1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EpochVariance_Output2|
|
||||
* This output sends the variance of the input. Averaging method is done
|
||||
* according to the box settings.
|
||||
* |OVP_DocEnd_BoxAlgorithm_EpochVariance_Output2|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EpochVariance_Output3|
|
||||
* This output sends the confidence bounds of the input. Averaging method is done
|
||||
* according to the box settings.
|
||||
* |OVP_DocEnd_BoxAlgorithm_EpochVariance_Output3|
|
||||
__________________________________________________________________
|
||||
|
||||
Settings description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EpochVariance_Settings|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EpochVariance_Settings|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EpochVariance_Setting1|
|
||||
* This setting gives the method to use in order to average the input
|
||||
* matrices. It can be of two types :
|
||||
* - <em>Moving average</em> : in this case, the averaging is done at
|
||||
* every input reception on the last few buffers, starting as soon
|
||||
* as enough input has been received.
|
||||
* - <em>Moving average (Immediate)</em> : in this case, the averaging is done at
|
||||
* every input reception on the last few buffers, starting immediately. When
|
||||
* the number of received buffer is lower than the wished number of epochs, the
|
||||
* average is computed on this very few number of input buffers.
|
||||
* - <em>Epoch block average</em> : in this case, the averaging
|
||||
* is done on a number of epochs (see next setting). Once this exact
|
||||
* number of input is received, the average is computed and output.
|
||||
* - <em>Cumulative average</em> : in this case, the averaging
|
||||
* is done on an infinite number of epochs starting from the first
|
||||
* received buffer to the last received buffer. This can be \b very
|
||||
* memory consuming !
|
||||
* |OVP_DocEnd_BoxAlgorithm_EpochVariance_Setting1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EpochVariance_Setting2|
|
||||
* This setting tells the box how much buffer it should use in order to
|
||||
* compute the average.
|
||||
* |OVP_DocEnd_BoxAlgorithm_EpochVariance_Setting2|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EpochVariance_Setting3|
|
||||
* Significance Level for the confidence bound computation.
|
||||
* The higher it is, the tighter the confidence interval will be.
|
||||
* |OVP_DocEnd_BoxAlgorithm_EpochVariance_Setting3|
|
||||
__________________________________________________________________
|
||||
|
||||
Examples description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EpochVariance_Examples|
|
||||
* Let's study two cases. First, suppose you have such box with
|
||||
* <em>Epoch block average</em> set and <em>four</em> epochs.
|
||||
* The input stream is as follows :
|
||||
\verbatim
|
||||
+----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+
|
||||
| I1 | | I2 | | I3 | | I4 | | I5 | | I6 | | I7 | | I8 | | I9 | ...
|
||||
+----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+
|
||||
\endverbatim
|
||||
* The output stream will look like this :
|
||||
\verbatim
|
||||
+----+ +----+
|
||||
| O1 | | O2 | ...
|
||||
+----+ +----+
|
||||
\endverbatim
|
||||
* where \c O1 is the average of \c I1, \c I2, \c I3 and \c I4 and
|
||||
* where \c O2 is the average of \c I5, \c I6, \c I7 and \c I8.
|
||||
*
|
||||
* Now consider the case where you configured this box with
|
||||
* <em>Moving average</em> and <em>four</em> epochs. Given the
|
||||
* same input stream :
|
||||
\verbatim
|
||||
+----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+
|
||||
| I1 | | I2 | | I3 | | I4 | | I5 | | I6 | | I7 | | I8 | | I9 | ...
|
||||
+----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+
|
||||
\endverbatim
|
||||
* The output stream will look like this :
|
||||
\verbatim
|
||||
+----+ +----+ +----+ +----+ +----+ +----+
|
||||
| O1 | | O2 | | O3 | | O4 | | O5 | | O6 | ...
|
||||
+----+ +----+ +----+ +----+ +----+ +----+
|
||||
\endverbatim
|
||||
* where :
|
||||
* - \c O1 is the average of \c I1, \c I2, \c I3 and \c I4
|
||||
* - \c O2 is the average of \c I2, \c I3, \c I4 and \c I5
|
||||
* - \c O3 is the average of \c I3, \c I4, \c I5 and \c I6
|
||||
* - \c O4 is the average of \c I4, \c I5, \c I6 and \c I7
|
||||
* - etc...
|
||||
*
|
||||
* Again consider the case where you configured this box with
|
||||
* <em>Moving average (Immediate)</em> and <em>four</em> epochs. Given the
|
||||
* same input stream :
|
||||
\verbatim
|
||||
+----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+
|
||||
| I1 | | I2 | | I3 | | I4 | | I5 | | I6 | | I7 | | I8 | | I9 | ...
|
||||
+----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+
|
||||
\endverbatim
|
||||
* The output stream will look like this :
|
||||
\verbatim
|
||||
+----+ +----+ +----+ +----+ +----+ +----+
|
||||
| O1 | | O2 | | O3 | | O4 | | O5 | | O6 | ...
|
||||
+----+ +----+ +----+ +----+ +----+ +----+
|
||||
\endverbatim
|
||||
* where :
|
||||
* - \c O1 is exactly \c I1
|
||||
* - \c O2 is the average of \c I1 and \c I2
|
||||
* - \c O3 is the average of \c I1, \c I2 and \c I3
|
||||
* - \c O4 is the average of \c I1, \c I2, \c I3 and \c I4
|
||||
* - \c O5 is the average of \c I2, \c I3, \c I4 and \c I5
|
||||
* - \c O6 is the average of \c I3, \c I4, \c I5 and \c I6
|
||||
* - etc...
|
||||
*
|
||||
* Finally consider the case where you configured this box with
|
||||
* <em>Cumulative average</em> and <em>four</em> epochs. Given the
|
||||
* same input stream :
|
||||
\verbatim
|
||||
+----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+
|
||||
| I1 | | I2 | | I3 | | I4 | | I5 | | I6 | | I7 | | I8 | | I9 | ...
|
||||
+----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+
|
||||
\endverbatim
|
||||
* The output stream will look like this :
|
||||
\verbatim
|
||||
+----+ +----+ +----+ +----+ +----+ +----+
|
||||
| O1 | | O2 | | O3 | | O4 | | O5 | | O6 | ...
|
||||
+----+ +----+ +----+ +----+ +----+ +----+
|
||||
\endverbatim
|
||||
* where :
|
||||
* - \c O1 is exactly \c I1
|
||||
* - \c O2 is the average of \c I1 and \c I2
|
||||
* - \c O3 is the average of \c I1, \c I2 and \c I3
|
||||
* - \c O4 is the average of \c I1, \c I2, \c I3 and \c I4
|
||||
* - \c O5 is the average of \c I1, \c I2, \c I3, \c I4, and \c I5
|
||||
* - \c O6 is the average of \c I1, \c I2, \c I3, \c I4, \c I5, and \c I6
|
||||
* - etc...
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_EpochVariance_Examples|
|
||||
__________________________________________________________________
|
||||
|
||||
Miscellaneous description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_EpochVariance_Miscellaneous|
|
||||
* |OVP_DocEnd_BoxAlgorithm_EpochVariance_Miscellaneous|
|
||||
*/
|
||||
@@ -0,0 +1,71 @@
|
||||
/**
|
||||
* \page BoxAlgorithm_HilbertTransform Hilbert Transform
|
||||
__________________________________________________________________
|
||||
|
||||
Detailed description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_HilbertTransform_Description|
|
||||
|
||||
This box computes the envelope and the instantaneous phase by performing the Discrete-Time Analytic signal [1] using Hilbert transform (see http://en.wikipedia.org/wiki/Analytic_signal).
|
||||
|
||||
The definition of analytic signal :
|
||||
\image html AnalyticRepresentation.png
|
||||
|
||||
<!-- "Formula of the Analytic signal is x_a(t)=x(t)+i*H(x)(t)"-->
|
||||
|
||||
With \e x(t) the input signal, \e H(x) its Hilbert transform and \e i the imaginary unit.
|
||||
|
||||
For more informations on Hilbert transform and EEG see also : http://www.scholarpedia.org/article/Hilbert_transform_for_brain_waves
|
||||
|
||||
|
||||
[1] Marple, S.L., "Computing the discrete-time analytic signal via FFT," IEEE Transactions on Signal Processing, Vol. 47, No.9 (September 1999), pp.2600-2603.
|
||||
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_HilbertTransform_Description|
|
||||
__________________________________________________________________
|
||||
|
||||
Inputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_HilbertTransform_Inputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_HilbertTransform_Inputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_HilbertTransform_Input1|
|
||||
The input signal
|
||||
* |OVP_DocEnd_BoxAlgorithm_HilbertTransform_Input1|
|
||||
__________________________________________________________________
|
||||
|
||||
Outputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_HilbertTransform_Outputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_HilbertTransform_Outputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_HilbertTransform_Output1|
|
||||
Return the Hilbert transform (imaginary part of the analytic signal) of the input
|
||||
* |OVP_DocEnd_BoxAlgorithm_HilbertTransform_Output1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_HilbertTransform_Output2|
|
||||
Return the envelope signal of the input
|
||||
* |OVP_DocEnd_BoxAlgorithm_HilbertTransform_Output2|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_HilbertTransform_Output3|
|
||||
Return instantaneous phase of the input
|
||||
* |OVP_DocEnd_BoxAlgorithm_HilbertTransform_Output3|
|
||||
__________________________________________________________________
|
||||
|
||||
Examples description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_HilbertTransform_Examples|
|
||||
<!--TO DO : Add some examples and screenshots of the results-->
|
||||
* |OVP_DocEnd_BoxAlgorithm_HilbertTransform_Examples|
|
||||
__________________________________________________________________
|
||||
|
||||
Miscellaneous description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_HilbertTransform_Miscellaneous|
|
||||
* |OVP_DocEnd_BoxAlgorithm_HilbertTransform_Miscellaneous|
|
||||
*/
|
||||
@@ -0,0 +1,67 @@
|
||||
/**
|
||||
* \page BoxAlgorithm_InverseDWT Inverse DWT
|
||||
__________________________________________________________________
|
||||
|
||||
Detailed description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_InverseDWT_Description|
|
||||
See Discrete Wavelet Transform box for more informations
|
||||
* |OVP_DocEnd_BoxAlgorithm_InverseDWT_Description|
|
||||
__________________________________________________________________
|
||||
|
||||
Inputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_InverseDWT_Inputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_InverseDWT_Inputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_InverseDWT_Input1|
|
||||
* |OVP_DocEnd_BoxAlgorithm_InverseDWT_Input1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_InverseDWT_Input2|
|
||||
* |OVP_DocEnd_BoxAlgorithm_InverseDWT_Input2|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_InverseDWT_Input3|
|
||||
* |OVP_DocEnd_BoxAlgorithm_InverseDWT_Input3|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_InverseDWT_Input4|
|
||||
* |OVP_DocEnd_BoxAlgorithm_InverseDWT_Input4|
|
||||
__________________________________________________________________
|
||||
|
||||
Outputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_InverseDWT_Outputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_InverseDWT_Outputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_InverseDWT_Output1|
|
||||
* |OVP_DocEnd_BoxAlgorithm_InverseDWT_Output1|
|
||||
__________________________________________________________________
|
||||
|
||||
Settings description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_InverseDWT_Settings|
|
||||
* |OVP_DocEnd_BoxAlgorithm_InverseDWT_Settings|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_InverseDWT_Setting1|
|
||||
* |OVP_DocEnd_BoxAlgorithm_InverseDWT_Setting1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_InverseDWT_Setting2|
|
||||
* |OVP_DocEnd_BoxAlgorithm_InverseDWT_Setting2|
|
||||
__________________________________________________________________
|
||||
|
||||
Examples description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_InverseDWT_Examples|
|
||||
* |OVP_DocEnd_BoxAlgorithm_InverseDWT_Examples|
|
||||
__________________________________________________________________
|
||||
|
||||
Miscellaneous description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_InverseDWT_Miscellaneous|
|
||||
* |OVP_DocEnd_BoxAlgorithm_InverseDWT_Miscellaneous|
|
||||
*/
|
||||
@@ -0,0 +1,51 @@
|
||||
/**
|
||||
* \page BoxAlgorithm_Matrix3DTo2D 3D to 2D Matrix conversion
|
||||
__________________________________________________________________
|
||||
|
||||
Detailed description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_Matrix3DTo2D_Description|
|
||||
This box extracts a 2D matrix from a 3D matrix by removing a dimension and selecting a 2D matrix at the desired index
|
||||
of the removed dimension.
|
||||
* |OVP_DocEnd_BoxAlgorithm_Matrix3DTo2D_Description|
|
||||
__________________________________________________________________
|
||||
|
||||
Inputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_Matrix3DTo2D_Inputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_Matrix3DTo2D_Inputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_Matrix3DTo2D_Input1|
|
||||
3D Matrix from which a 2D matrix ( a "slice") will be extracted.
|
||||
* |OVP_DocEnd_BoxAlgorithm_Matrix3DTo2D_Input1|
|
||||
__________________________________________________________________
|
||||
|
||||
Outputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_Matrix3DTo2D_Outputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_Matrix3DTo2D_Outputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_Matrix3DTo2D_Output1|
|
||||
The 2D matrix extrated from the input Matrix
|
||||
* |OVP_DocEnd_BoxAlgorithm_Matrix3DTo2D_Output1|
|
||||
__________________________________________________________________
|
||||
|
||||
Settings description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_Matrix3DTo2D_Settings|
|
||||
* |OVP_DocEnd_BoxAlgorithm_Matrix3DTo2D_Settings|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_Matrix3DTo2D_Setting1|
|
||||
The dimension to remove from the 3D Matrix. Possible values are ranging in [ 0 - 2 ].
|
||||
* |OVP_DocEnd_BoxAlgorithm_Matrix3DTo2D_Setting1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_Matrix3DTo2D_Setting2|
|
||||
The index from the removed dimension at which to extract the 2 Matrix (the "slice").
|
||||
* |OVP_DocEnd_BoxAlgorithm_Matrix3DTo2D_Setting2|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_Matrix3DTo2D_Setting3|
|
||||
* |OVP_DocEnd_BoxAlgorithm_Matrix3DTo2D_Setting3|
|
||||
@@ -0,0 +1,88 @@
|
||||
/**
|
||||
* \page BoxAlgorithm_QuadraticForm Quadratic Form
|
||||
__________________________________________________________________
|
||||
|
||||
Detailed description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_QuadraticForm_Description|
|
||||
|
||||
a square matrix A (which can be seen as a spatial filter) is applied to the input signals m (a vector). Then the transpose m^T of the input signals is multiplied to the resulting vector. In other words the output o is such as: o = m^T * A * m.
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_QuadraticForm_Description|
|
||||
__________________________________________________________________
|
||||
|
||||
Inputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_QuadraticForm_Inputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_QuadraticForm_Inputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_QuadraticForm_Input1|
|
||||
|
||||
The input signal to be used in the computation of the quadratic form
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_QuadraticForm_Input1|
|
||||
__________________________________________________________________
|
||||
|
||||
Outputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_QuadraticForm_Outputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_QuadraticForm_Outputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_QuadraticForm_Output1|
|
||||
|
||||
the results of the computation of the quadratic form, perform with the input signals and the matrix defined in the settings
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_QuadraticForm_Output1|
|
||||
__________________________________________________________________
|
||||
|
||||
Settings description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_QuadraticForm_Settings|
|
||||
* |OVP_DocEnd_BoxAlgorithm_QuadraticForm_Settings|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_QuadraticForm_Setting1|
|
||||
|
||||
The values of the matrix coefficients. These values are entered as a single line of values,
|
||||
which line should correspond to the concatenation of each matrix row.
|
||||
For instance the setting "1 2 3 4" corresponds to the matrix:
|
||||
|
||||
[1 2]
|
||||
[3 4]
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_QuadraticForm_Setting1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_QuadraticForm_Setting2|
|
||||
|
||||
The number of rows/columns of the matrix (the number of rows is equal to the number of columns as the matrix is square.
|
||||
For the matrix given as example above, this setting should be equal to "2".
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_QuadraticForm_Setting2|
|
||||
__________________________________________________________________
|
||||
|
||||
Examples description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_QuadraticForm_Examples|
|
||||
* |OVP_DocEnd_BoxAlgorithm_QuadraticForm_Examples|
|
||||
__________________________________________________________________
|
||||
|
||||
Miscellaneous description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_QuadraticForm_Miscellaneous|
|
||||
|
||||
this box could typically be used to compute the current density in a given brain region,
|
||||
for instance using the inverse solution sLORETA. In such a case the matrix using as parameter should be a
|
||||
matrix obtained thanks to this sLORETA inverse solution.
|
||||
see the following paper for details:
|
||||
|
||||
Congedo M. (2006), Subspace Projection Filters for Real-Time Brain Electromagnetic Imaging, IEEE Transactions on Biomedical Engineering, 53(8), 1624-34
|
||||
|
||||
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_QuadraticForm_Miscellaneous|
|
||||
*/
|
||||
@@ -0,0 +1,72 @@
|
||||
/**
|
||||
* \page BoxAlgorithm_SignalDifferential_Integral Signal Differential/Integral
|
||||
__________________________________________________________________
|
||||
|
||||
Detailed description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_SignalDifferential_Integral_Description|
|
||||
|
||||
This box can be used to calculate signal differential or integral of any order.
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_SignalDifferential_Integral_Description|
|
||||
__________________________________________________________________
|
||||
|
||||
Inputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_SignalDifferential_Integral_Inputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_SignalDifferential_Integral_Inputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_SignalDifferential_Integral_Input1|
|
||||
|
||||
The signal to be derivated/integrated
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_SignalDifferential_Integral_Input1|
|
||||
__________________________________________________________________
|
||||
|
||||
Outputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_SignalDifferential_Integral_Outputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_SignalDifferential_Integral_Outputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_SignalDifferential_Integral_Output1|
|
||||
|
||||
Resulting derivated/integrated signal
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_SignalDifferential_Integral_Output1|
|
||||
__________________________________________________________________
|
||||
|
||||
Settings description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_SignalDifferential_Integral_Settings|
|
||||
* |OVP_DocEnd_BoxAlgorithm_SignalDifferential_Integral_Settings|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_SignalDifferential_Integral_Setting1|
|
||||
|
||||
Function to be used, either a derivation or an integral
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_SignalDifferential_Integral_Setting1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_SignalDifferential_Integral_Setting2|
|
||||
|
||||
The function order.
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_SignalDifferential_Integral_Setting2|
|
||||
__________________________________________________________________
|
||||
|
||||
Examples description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_SignalDifferential_Integral_Examples|
|
||||
* |OVP_DocEnd_BoxAlgorithm_SignalDifferential_Integral_Examples|
|
||||
__________________________________________________________________
|
||||
|
||||
Miscellaneous description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_SignalDifferential_Integral_Miscellaneous|
|
||||
* |OVP_DocEnd_BoxAlgorithm_SignalDifferential_Integral_Miscellaneous|
|
||||
*/
|
||||
@@ -0,0 +1,68 @@
|
||||
/**
|
||||
* \page BoxAlgorithm_StreamSynchronization Stream Synchronization
|
||||
__________________________________________________________________
|
||||
|
||||
Detailed description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_StreamSynchronization_Description|
|
||||
This box enables you to synchronize inputs from multiple acquisition devices connected together with a hardware tagging system. Each acquisition device must translate the hardware tag into a stimulation, let's call it 'start' stimulation. The synchronisation box outputs signal only after 'start' stimulation has been received, and the time is shifted so that first data is at time 0. Plug each device on its own synchronisation box, so that the signals have the same 'start' time after these boxes.
|
||||
* |OVP_DocEnd_BoxAlgorithm_StreamSynchronization_Description|
|
||||
__________________________________________________________________
|
||||
|
||||
Inputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_StreamSynchronization_Inputs|
|
||||
|
||||
* |OVP_DocEnd_BoxAlgorithm_StreamSynchronization_Inputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_StreamSynchronization_Input1|
|
||||
The signal from the acquisition device to be synchronized.
|
||||
* |OVP_DocEnd_BoxAlgorithm_StreamSynchronization_Input1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_StreamSynchronization_Input2|
|
||||
The stimulations from the acquisition device. The 'start' stimulation, marking the beginning of the experiment, should appear in this input.
|
||||
* |OVP_DocEnd_BoxAlgorithm_StreamSynchronization_Input2|
|
||||
__________________________________________________________________
|
||||
|
||||
Outputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_StreamSynchronization_Outputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_StreamSynchronization_Outputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_StreamSynchronization_Output1|
|
||||
Time shifted signal.
|
||||
* |OVP_DocEnd_BoxAlgorithm_StreamSynchronization_Output1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_StreamSynchronization_Output2|
|
||||
Time shifted stimulations.
|
||||
* |OVP_DocEnd_BoxAlgorithm_StreamSynchronization_Output2|
|
||||
__________________________________________________________________
|
||||
|
||||
Settings description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_StreamSynchronization_Settings|
|
||||
* |OVP_DocEnd_BoxAlgorithm_StreamSynchronization_Settings|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_StreamSynchronization_Setting1|
|
||||
The ID of the stimulation which marks the beginning of the acquisition.
|
||||
* |OVP_DocEnd_BoxAlgorithm_StreamSynchronization_Setting1|
|
||||
__________________________________________________________________
|
||||
|
||||
Examples description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_StreamSynchronization_Examples|
|
||||
This box is useful if you want to use two acquisition devices at the same time. The best way to synchronize the two devices is by a physical link, this should be handled by the hardware. When experiment starts, a trigger is sent to both device through this physical link, and each device driver translate this trigger into a stimulation. As the devices received the trigger at the same time, this stimulation will have the same dating in the OpenViBE acquisition server. Finally the output of each acquisition device should pass through the synchronization box, which will re-date the signal as if it started at the moment of the reception of the stimulation.
|
||||
* |OVP_DocEnd_BoxAlgorithm_StreamSynchronization_Examples|
|
||||
__________________________________________________________________
|
||||
|
||||
Miscellaneous description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_StreamSynchronization_Miscellaneous|
|
||||
* |OVP_DocEnd_BoxAlgorithm_StreamSynchronization_Miscellaneous|
|
||||
*/
|
||||
@@ -0,0 +1,92 @@
|
||||
/**
|
||||
* \page BoxAlgorithm_XDAWNTrainerDeprecated xDAWN Spatial Filter Trainer
|
||||
__________________________________________________________________
|
||||
|
||||
Detailed description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Description|
|
||||
* This box can be used in order to compute a spatial filter in order to enhance the
|
||||
* detection of evoked response potentials. In order to compute such filter, this box
|
||||
* needs to receive the whole contain of a session on the first hand, and a succession
|
||||
* of evoked response potentials on the other hand. It then computes the averaged evoked
|
||||
* response potential computes the spatial filter that makes this averaged potential
|
||||
* appear in the whole signal. This can be used e.g. for better P300 signal detection.
|
||||
*
|
||||
* It is important to consider the fact that this box will have best results for a
|
||||
* reasonably big number of input channels, possibly all over the scalp (areas where
|
||||
* the evoked response potential can not be seen will be naturally used as references
|
||||
* to reduce noise). The spatial filter results in space reduction to only keep significant
|
||||
* channels for later detection. Consider using at least 4 times more input channels than
|
||||
* the number of output channels you want. For example, reducing 16 electrodes to 3 channels
|
||||
* for P300 detection is OK.
|
||||
*
|
||||
* For more details about xDAWN, see <a href="https://www.gipsa-lab.grenoble-inp.fr/~bertrand.rivet/references/Rivet2009a.pdf">Rivet et al. 2009</a>
|
||||
* or in case this links disappears, <a href="http://www.ncbi.nlm.nih.gov/pubmed/19174332">this website</a>.
|
||||
* |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Description|
|
||||
__________________________________________________________________
|
||||
|
||||
Inputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Inputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Inputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Input1|
|
||||
* This input receives the experiment stimulations. As soon as the "train"
|
||||
* stimulation is received, the spatial filter is computed.
|
||||
* |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Input1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Input2|
|
||||
* This input should receive the whole signal of the session.
|
||||
* |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Input2|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Input3|
|
||||
* This input should receive the multiple evoked response potentials.
|
||||
* |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Input3|
|
||||
__________________________________________________________________
|
||||
|
||||
Outputs description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_CSPSpatialFilterTrainer_Outputs|
|
||||
* |OVP_DocEnd_BoxAlgorithm_CSPSpatialFilterTrainer_Outputs|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_CSPSpatialFilterTrainer_Output1|
|
||||
The xDAWN Trainer outputs the stimulation <b>OVTK_StimulationId_TrainCompleted</b> when the training process was successful. No output is produced if the process failed.
|
||||
* |OVP_DocEnd_BoxAlgorithm_CSPSpatialFilterTrainer_Output1|
|
||||
__________________________________________________________________
|
||||
|
||||
Settings description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Settings|
|
||||
* |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Settings|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Setting1|
|
||||
* This setting contains the stimulation to use to trigger the training process.
|
||||
* |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Setting1|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Setting2|
|
||||
* This setting tells the box what configuration file to generate. This configuration file can
|
||||
* be used to set the correct values of a \ref Doc_BoxAlgorithm_SpatialFilter box.
|
||||
* |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Setting2|
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Setting3|
|
||||
* This setting tells how many dimension should be kept out of the spatial filter.
|
||||
* |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Setting3|
|
||||
__________________________________________________________________
|
||||
|
||||
Examples description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Examples|
|
||||
* |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Examples|
|
||||
__________________________________________________________________
|
||||
|
||||
Miscellaneous description
|
||||
__________________________________________________________________
|
||||
|
||||
* |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Miscellaneous|
|
||||
* |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Miscellaneous|
|
||||
*/
|
||||
|
After Width: | Height: | Size: 268 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 23 KiB |