All Projects â†’ nbara â†’ python-meegkit

nbara / python-meegkit

Licence: BSD-3-Clause license
🔧🧠 MEEGkit: MEG & EEG processing toolkit in Python 🧠🔧

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to python-meegkit

Entropy
EntroPy: complexity of time-series in Python (DEPRECATED)
Stars: ✭ 142 (+43.43%)
Mutual labels:  signal-processing, neuroscience, eeg
Mne Python
MNE: Magnetoencephalography (MEG) and Electroencephalography (EEG) in Python
Stars: ✭ 1,766 (+1683.84%)
Mutual labels:  neuroscience, meg, eeg
Mne Cpp
MNE-CPP: A Framework for Electrophysiology
Stars: ✭ 104 (+5.05%)
Mutual labels:  signal-processing, neuroscience, eeg
antropy
AntroPy: entropy and complexity of (EEG) time-series in Python
Stars: ✭ 111 (+12.12%)
Mutual labels:  signal-processing, neuroscience, eeg
Brainflow
BrainFlow is a library intended to obtain, parse and analyze EEG, EMG, ECG and other kinds of data from biosensors
Stars: ✭ 170 (+71.72%)
Mutual labels:  signal-processing, neuroscience, eeg
mne-bids
MNE-BIDS is a Python package that allows you to read and write BIDS-compatible datasets with the help of MNE-Python.
Stars: ✭ 88 (-11.11%)
Mutual labels:  neuroscience, meg, eeg
pyRiemann
Python machine learning package based on sklearn API for multivariate data processing and statistical analysis of symmetric positive definite matrices via Riemannian geometry
Stars: ✭ 470 (+374.75%)
Mutual labels:  signal-processing, neuroscience, eeg
Neurotech Course
CS198-96: Intro to Neurotechnology @ UC Berkeley
Stars: ✭ 202 (+104.04%)
Mutual labels:  neuroscience, eeg
Moabb
Mother of All BCI Benchmarks
Stars: ✭ 214 (+116.16%)
Mutual labels:  neuroscience, eeg
brain-monitor
A terminal app written in Node.js to monitor brain signals in real-time
Stars: ✭ 119 (+20.2%)
Mutual labels:  signal-processing, eeg
Neurokit
NeuroKit2: The Python Toolbox for Neurophysiological Signal Processing
Stars: ✭ 264 (+166.67%)
Mutual labels:  signal-processing, eeg
Eegrunt
A Collection Python EEG (+ ECG) Analysis Utilities for OpenBCI and Muse
Stars: ✭ 171 (+72.73%)
Mutual labels:  neuroscience, eeg
Fooof
Parameterizing neural power spectra into periodic & aperiodic components.
Stars: ✭ 162 (+63.64%)
Mutual labels:  neuroscience, eeg
dictlearn
Dictionary Learning for image processing
Stars: ✭ 23 (-76.77%)
Mutual labels:  signal-processing, denoising
Tapas
TAPAS - Translational Algorithms for Psychiatry-Advancing Science
Stars: ✭ 121 (+22.22%)
Mutual labels:  neuroscience, eeg
qEEG feature set
NEURAL: a neonatal EEG feature set in Matlab
Stars: ✭ 29 (-70.71%)
Mutual labels:  signal-processing, eeg
Wits
A Node.js library that reads your mind with Emotiv EPOC EEG headset
Stars: ✭ 73 (-26.26%)
Mutual labels:  signal-processing, eeg
Bci.js
📊 EEG signal processing and machine learning in JavaScript
Stars: ✭ 117 (+18.18%)
Mutual labels:  signal-processing, eeg
Deepeeg
Deep Learning with Tensor Flow for EEG MNE Epoch Objects
Stars: ✭ 100 (+1.01%)
Mutual labels:  neuroscience, eeg
Analyzing neural time series
python implementations of Analyzing Neural Time Series Textbook
Stars: ✭ 117 (+18.18%)
Mutual labels:  neuroscience, eeg

unit-tests documentation codecov Binder DOI twitter

MEEGkit

Denoising tools for M/EEG processing in Python 3.7+.

meegkit-ERP

Disclaimer: The project mostly consists of development code, although some modules and functions are already working. Bugs and performance problems are to be expected, so use at your own risk. More tests and improvements will be added in the future. Comments and suggestions are welcome.

Documentation

Automatic documentation is available online.

This code can also be tested directly from your browser using Binder, by clicking on the binder badge above.

Installation

This package can be installed easily using pip+git:

pip install git+https://github.com/nbara/python-meegkit.git

Or you can clone this repository and run the following commands inside the python-meegkit directory:

pip install -r requirements.txt
pip install .

Note : Use developer mode with the -e flag (pip install -e .) to be able to modify the sources even after install.

Advanced installation instructions

Some ASR variants require additional dependencies such as pymanopt. To install meegkit with these optional packages, use:

pip install -e '.[extra]'

or:

pip install git+https://github.com/nbara/python-meegkit.git#egg=meegkit[extra]

References

1. CCA, STAR, SNS, DSS, ZapLine, and robust detrending

This is mostly a translation of Matlab code from the NoiseTools toolbox by Alain de Cheveigné. It builds on an initial python implementation by Pedro Alcocer.

Only CCA, SNS, DSS, STAR, ZapLine and robust detrending have been properly tested so far. TSCPA may give inaccurate results due to insufficient testing (contributions welcome!)

If you use this code, you should cite the relevant methods from the original articles:

[1] de Cheveigné, A. (2019). ZapLine: A simple and effective method to remove power line artifacts.
    NeuroImage, 116356. https://doi.org/10.1016/j.neuroimage.2019.116356
[2] de Cheveigné, A. et al. (2019). Multiway canonical correlation analysis of brain data.
    NeuroImage, 186, 728–740. https://doi.org/10.1016/j.neuroimage.2018.11.026
[3] de Cheveigné, A. et al. (2018). Decoding the auditory brain with canonical component analysis.
    NeuroImage, 172, 206–216. https://doi.org/10.1016/j.neuroimage.2018.01.033
[4] de Cheveigné, A. (2016). Sparse time artifact removal.
    Journal of Neuroscience Methods, 262, 14–20. https://doi.org/10.1016/j.jneumeth.2016.01.005
[5] de Cheveigné, A., & Parra, L. C. (2014). Joint decorrelation, a versatile tool for multichannel
    data analysis. NeuroImage, 98, 487–505. https://doi.org/10.1016/j.neuroimage.2014.05.068
[6] de Cheveigné, A. (2012). Quadratic component analysis.
    NeuroImage, 59(4), 3838–3844. https://doi.org/10.1016/j.neuroimage.2011.10.084
[7] de Cheveigné, A. (2010). Time-shift denoising source separation.
    Journal of Neuroscience Methods, 189(1), 113–120. https://doi.org/10.1016/j.jneumeth.2010.03.002
[8] de Cheveigné, A., & Simon, J. Z. (2008a). Denoising based on spatial filtering.
    Journal of Neuroscience Methods, 171(2), 331–339. https://doi.org/10.1016/j.jneumeth.2008.03.015
[9] de Cheveigné, A., & Simon, J. Z. (2008b). Sensor noise suppression.
    Journal of Neuroscience Methods, 168(1), 195–202. https://doi.org/10.1016/j.jneumeth.2007.09.012
[10] de Cheveigné, A., & Simon, J. Z. (2007). Denoising based on time-shift PCA.
     Journal of Neuroscience Methods, 165(2), 297–305. https://doi.org/10.1016/j.jneumeth.2007.06.003

2. Artifact subspace reconstruction (ASR)

The base code is inspired from the original EEGLAB inplementation [1], while the riemannian variant [2] was adapted from the rASR toolbox by Sarah Blum.

If you use this code, you should cite the relevant methods from the original articles:

[1] Mullen, T. R., Kothe, C. A. E., Chi, Y. M., Ojeda, A., Kerth, T., Makeig, S., et al. (2015).
    Real-time neuroimaging and cognitive monitoring using wearable dry EEG. IEEE Trans. Bio-Med.
    Eng. 62, 2553–2567. https://doi.org/10.1109/TBME.2015.2481482
[2] Blum, S., Jacobsen, N., Bleichner, M. G., & Debener, S. (2019). A Riemannian modification of
    artifact subspace reconstruction for EEG artifact handling. Frontiers in human neuroscience,
    13, 141.

3. Rhythmic entrainment source separation (RESS)

The code is based on Matlab code from Mike X. Cohen [1]

If you use this, you should cite the following article:

[1] Cohen, M. X., & Gulbinaite, R. (2017). Rhythmic entrainment source separation: Optimizing analyses
    of neural responses to rhythmic sensory stimulation. Neuroimage, 147, 43-56.

4. Task-Related Component Analysis (TRCA)

This code is based on the Matlab implementation from Masaki Nakanishi, and was adapted to python by Giuseppe Ferraro

If you use this, you should cite the following articles:

[1] M. Nakanishi, Y. Wang, X. Chen, Y.-T. Wang, X. Gao, and T.-P. Jung,
    "Enhancing detection of SSVEPs for a high-speed brain speller using
    task-related component analysis", IEEE Trans. Biomed. Eng, 65(1): 104-112,
    2018.
[2] X. Chen, Y. Wang, S. Gao, T. -P. Jung and X. Gao, "Filter bank
    canonical correlation analysis for implementing a high-speed SSVEP-based
    brain-computer interface", J. Neural Eng., 12: 046008, 2015.
[3] X. Chen, Y. Wang, M. Nakanishi, X. Gao, T. -P. Jung, S. Gao,
    "High-speed spelling with a noninvasive brain-computer interface",
    Proc. Int. Natl. Acad. Sci. U. S. A, 112(44): E6058-6067, 2015.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].