Code

Siopi – what works for people with tinnitus

Meet people with similar symptoms and no longer be drowned in irrelevant information. Find out what therapies people have tried and what worked for them. Start by sharing your own testimony.

People are matched by symptom similarity using Metric Learning.

Stack : Flutter, Python, Django, Streamlit.

More info: siopi.ai

Blind Source Separation – CAJD

Extracting the independent sources of data can be challenging with standard Independent Component Analysis (ICA) methods when your data do not fit exactly a linear model. We propose a solution for composite model mixing linear and bilinear data.
A solution can be found in “Mining the Bilinear Structure of Data with Approximate Joint Diagonalization” (details in publication) and the associated code on GitHub  .

Riemannian Geometry

You can be interested in using the Riemannian Geometry for Classification. I highly recommend the covariancetoolbox (h5g3etjnacmazg8oq17z_400x400[1] matlab) or pyRiemann (python[1]python) from Alexandre Barachant which is available on GitHub  h5g3etjnacmazg8oq17z_400x400[1].

I extended the usage of the classification methods of multi-user analysis including intra-/inter-subjects statistics. The riemannian MDM (Minimum Distance to Mean) includes also better estimation of the stereotypical P300 response with the ACSTP. Please contact me if you like to try the code.

Brain Invaders 2

At GIPSA-lab, we designed an open-source software for visual ERP classification. It uses OpenVIBE and python for the data acquisition and classification. It is included in the openvibe-gipsa-extension.

Adaptive Common Spatio-Temporal Pattern (ACSTP)

A complete processing chain for the analysis of Event-Related Potentials (ERP) and other time-lock biosignals. The methods are described in Congedo, Marco, Louis Korczowski, Arnaud Delorme, and Fernando Lopes da Silva. “Spatio-Temporal Common Pattern: A Companion Method for ERP Analysis in the Time Domain.” paper:pdf.
The beta ACSTP toolbox is available for:

Please don’t hesitate to contact me if you like to try the code.

 

Included features:

  • Common spatio-temporal pattern
  • Automatic best component selection
  • Latency/jitter correction
  • Trials weighting based on the signal-to-noise ratio estimation
  • Quick visualization and comparison

Results:

  • Denoised ERP at the single trial level
  • Better ensemble average estimation
  • Jitter analysis
  • Transient artifacts removed (EOG, blinks, static discharge, electrode movement, etc.)

Exemples:

Variability of the Arithmetic Ensemble Everage (AEA) estimation of a visual ERP (P300) before and after ACSTP over four trials (K=4) taken randomly in a session of 80 trials. One can see that the ACSTP remove correctly the influence of blinks (Figure 1) while decreasing the overall estimation variability. The ACSTP performs well on other kind of artifacts such as hardware/electrode movements (Figure 2).

ERP Denoising Using ACSTP
Figure 1 : ERP Denoising Using ACSTP. Left column is the standard Arithmetic Ensemble Average (AEA), right column is the ACSTP estimation. Black line is the average estimation and grey area represent 95% of the estimators taken from 100 bootstrap of K=4 target trials. The bigger is the grey area, the worse is the robustness of the estimation, ACSTP is more robust that AEA. Even if we don’t have the ground truth, one can see that the average AEA ERP estimator is biased by eye blinks in frontal (AFz) and the ACSTP is not.
butterfly_subj04_sess6_boot6_TA
Figure 2 : ERP Denoising Using ACSTP. Same observation that Figure 1 but the noise source comes from electrode movements instead of eye blinks.