Neuroscience made easy!
NeuroKit.py
A Python Toolbox for Statistics and Neurophysiological Signal Processing (EEG, EDA, ECG, EMG...).
Name | NeuroKit |
---|---|
Documentation | |
Discussion | |
Questions | |
Authors |
Installation
Run the following:
pip install https://github.com/neuropsychology/NeuroKit.py/zipball/master
Not working? Check this out!
Contribute
Want to get involved in the developpment of an open-source software and improve neuroscience practice? Join us!
- You need some help? You found a bug? You would like to request a new feature?
Just open an issue
☺️ - Want to add a feature? Correct a bug? You're more than welcome to contribute! Check this page to see how to submit your changes on github.
Documentation
-
Tutorials
- Biosignals processing
- M/EEG processing
- API Documentation
Features
This package provides a high level integration of complex statistical routines for researchers and clinicians with not much experience in programming, statistics or signal theory.
-
M/EEG (under developpment)
-
eeg_erp()
: Extract event-related potentials -
eeg_complexity()
: Compute entropy, fractal dimension, and complexity indices - Time/Frequency: SOON™
- Microstates: SOON™
-
-
Biosignals
-
read_acqknowledge()
: Load and convert Biopac©️ 's AcqKnowledge files to a dataframe -
ecg_process()
: Extract ECG features- Heart Rate
- Heart rate variability (HRV) - time, frequency and nonlinear domains
- Cardiac Cycles - R peaks, RR intervals, P, Q, T Waves, ...
- Cardiac Phase (systole/diastole)
- Signal quality evaluation
- Respiratory sinus arrhythmia (RSA) - P2T method
- Complexity (multiscale entropy, fractal dimensions, ...)
-
rsp_process()
: Extract Respiratory features- Respiratory rate and variability
- Respiratory phase (inspiration/expiration)
- Respiratory cycles characteristics (onsets, length, ...)
-
eda_process()
: Extract Electrodermal Activity (EDA)- Tonic and phasic components using the new cvxEDA algorithm (Greco, 2016)
- Skin Conductance Responses (SCR) onsets, peaks, amplitudes, latencies, recovery times, ...
-
emg_process()
: Extract EMG features- Pulse onsets
- Linear envelope, muscle activation
-
-
Signal
-
complexity()
: Extract complexity/chaos indices, such as values of entropy (Shannon's, Sample and Multiscale), fractal dimension, Hurst and Lyapunov exponents and more
-
-
Statistics
-
z_score()
: Normalize (scale and reduce) variables -
find_outliers()
: Identify outliers
-
-
Miscellaneous
-
compute_dprime()
: Computes Signal Detection Theory (SDT) parameters (d', c, beta, a', b''d) -
compute_BMI()
: Compute the traditional body mass index (BMI), the new BMI, the Body Fat Percentage (BFP) and their interpretation -
compute_interoceptive_accuracy()
: Compute interoception accuracy according to Garfinkel et al., (2015).
-
Citation
You can cite NeuroKit with the following:
Makowski, D. (2016). NeuroKit: A Python Toolbox for Statistics and Neurophysiological Signal Processing (EEG, EDA, ECG, EMG...).
Memory and Cognition Lab' Day, 01 November, Paris, France
Note: The authors do not give any warranty. If this software causes your keyboard to blow up, your brain to liquefy, your toilet to clog or a zombie plague to leak, the authors CANNOT IN ANY WAY be held responsible.
Credits
Note that important credits go to the developpers of the many packages upon which NeuroKit is built. Those include mne, bioSPPy, hrv, bioread... Make sure you cite them!