This commit is contained in:
2021-10-14 13:47:35 +02:00
commit 6625a8dfaa
4026 changed files with 844291 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 558 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 B

Binary file not shown.

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|
@@ -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|
*/
Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB