NeuroKit

Last updated
NeuroKit
Written in Python
Operating system All OS supported by Python
Available inEnglish
Type Statistical software
License MIT License
Website github.com/neuropsychology/NeuroKit

NeuroKit ("nk") is an open source toolbox for physiological signal processing. [1] The most recent version, NeuroKit2, is written in Python and is available from the PyPI package repository. [2] As of June 2022, the software was used in 94 scientific publications. [3] NeuroKit2 is presented as one of the most popular and contributor-friendly open-source software for neurophysiology based on the number of downloads, the number of contributors, and other GitHub metrics a . [4]

Contents

History

The first version of NeuroKit was created as a PhD side-project of Dominique Makowski in 2017. [1] It was officially deprecated in 2020 and has been replaced by the current version, NeuroKit2. A few major updates have been released since: [5]

NeuroKit has received the 2024 Commendation Award from the Society for the Improvement of Psychological Science (SIPS). [6]

Features

NeuroKit2 includes tools to work with cardiac activity from electrocardiography (ECG) and photoplethysmography (PPG), electrodermal activity (EDA), respiratory (RSP), electromyography (EMG), and electrooculography (EOG) signals. [7]

It enables the computation of Heart Rate Variability (HRV) and Respiratory Variability (RRV) metrics. [8] [9]

It also implements a variety of different algorithms to detect R-peaks and other QRS waves, including an efficient in-house R-peak detector. [10] [11]

For neurophysiological signals such as EEG, it supports microstates and frequency band analysis.[ citation needed ]

It also includes a comprehensive set of functions used for fractal physiology, allowing the computation of various measures of complexity (including entropy and fractal dimensions). [12]

Design

The software was designed to be accessible to users without programming experience, with the possibility of using high-level functions to run entire preprocessing or analysis routines. [1] [13]

importneurokit2asnk# Download example datadata=nk.data("bio_eventrelated_100hz")# Preprocess the data (filter, find peaks, etc.)processed_data,info=nk.bio_process(ecg=data["ECG"],rsp=data["RSP"],eda=data["EDA"],sampling_rate=100)# Compute relevant featuresresults=nk.bio_analyze(processed_data,sampling_rate=100)

See also

Other open-source toolboxes for analysis of physiological signals include:

Notes

^ As of May 18, 2022, GitHub indicates that the package has 644 stars, 47 contributors, and is used in 101 other open-source applications. [14]

References

  1. 1 2 3 Makowski, Dominique; Pham, Tam; Lau, Zen J.; Brammer, Jan C.; Lespinasse, François; Pham, Hung; Schölzel, Christopher; Chen, S. H. Annabel (August 2021). "NeuroKit2: A Python toolbox for neurophysiological signal processing". Behavior Research Methods. 53 (4): 1689–1696. doi: 10.3758/s13428-020-01516-y . PMID   33528817.
  2. "neurokit2". PyPI. Retrieved 23 March 2022.
  3. "NeuroKit2 article - Statistics". ResearchGate. Retrieved 23 March 2022.
  4. "NeuroKit2 - Popularity". GitHub. February 2021. Retrieved 23 March 2022.
  5. "NeuroKit2 Versions". GitHub. Retrieved 18 August 2022.
  6. "SIPS 2024 Awards". 24 July 2018. Retrieved 20 August 2024.
  7. Jaber, Dalia; Hajj, Hazem; Maalouf, Fadi; El-Hajj, Wassim (December 2022). "Medically-oriented design for explainable AI for stress prediction from physiological measurements". BMC Medical Informatics and Decision Making. 22 (1): 12. doi: 10.1186/s12911-022-01772-2 . PMC   8840288 . PMID   35148762.
  8. Pham, Tam; Lau, Zen Juen; Chen, S. H. Annabel; Makowski, Dominique (9 June 2021). "Heart Rate Variability in Psychology: A Review of HRV Indices and an Analysis Tutorial". Sensors. 21 (12): 3998. Bibcode:2021Senso..21.3998P. doi: 10.3390/s21123998 . PMC   8230044 . PMID   34207927.
  9. Frasch, Martin G. (1 January 2022). "Comprehensive HRV estimation pipeline in Python using Neurokit2: Application to sleep physiology". MethodsX. 9 101782. doi:10.1016/j.mex.2022.101782. PMC   9307944 . PMID   35880142.
  10. Baraeinejad, Bardia; Fallah Shayan, Masood; Vazifeh, Amir Reza; Rashidi, Diba; Saberi Hamedani, Mohammad; Tavolinejad, Hamed; Gorji, Pouya; Razmara, Parsa; Vaziri, Kiarash; Vashaee, Daryoosh; Fakharzadeh, Mohammad (December 2021). "Design and Implementation of an Ultra-Low-Power ECG Patch and Smart Cloud-Based Platform". TechRxiv: 5. doi: 10.36227/techrxiv.17003401 . S2CID   244360958.
  11. "R-peak detection benchmark". sleepecg.readthedocs.io. Retrieved 31 March 2022.
  12. Makowski, Dominique; Te, An Shu; Pham, Tam; Lau, Zen Juen; Chen, S. H. Annabel (27 July 2022). "The Structure of Chaos: An Empirical Comparison of Fractal Physiology Complexity Indices Using NeuroKit2". Entropy. 24 (8): 1036. Bibcode:2022Entrp..24.1036M. doi: 10.3390/e24081036 . PMC   9407071 . PMID   36010700.
  13. "Biosignal processing for automatic emotion recognition". BrainHack School. Retrieved 18 May 2022.
  14. "NeuroKit2 - Popularity". GitHub. February 2021. Retrieved 23 March 2022.