/NeuroKit.py

A Python Toolbox for Statistics and Neurophysiological Signal Processing (EEG, EDA, ECG, EMG...).

Primary LanguagePythonMIT LicenseMIT

neurokit python eeg biosignals meg electrophysiology logo

Neuroscience made easy!

NeuroKit.py

pypi Codacy Badge pypi travis codecov Dependency Status License Build status Code Health HitCount

A Python Toolbox for Statistics and Neurophysiological Signal Processing (EEG, EDA, ECG, EMG...).

Name NeuroKit
Documentation Documentation Status
Discussion Join the chat at https://gitter.im/NeuroKit-py/Lobby
Questions
Authors

Installation

Run the following:

pip install https://github.com/neuropsychology/NeuroKit.py/zipball/master

Not working? Check this out!

Contribute

Maintainability

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

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:copyright:'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
  • 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!