Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

NeuroKit

From Wikipedia, the free encyclopedia
NeuroKit
Written inPython
Operating systemAll OS supported by Python
Available inEnglish
TypeStatistical software
LicenseMIT License
Repositorygithub.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 metricsa.[4]

History

[edit]

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]

  • February 08, 2021: The 0.1.0 release coincides with the first publication of the software.
  • May 18, 2022: The 0.2.0 release coincides with an overhaul of the documentation.

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

Features

[edit]

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

[edit]

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]

import neurokit2 as nk

# Download example data
data = 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 features
results = nk.bio_analyze(processed_data, sampling_rate=100)

See also

[edit]

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

Notes

[edit]
^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

[edit]
  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; Shayan, Masood Fallah; Vazifeh, Amir Reza; Rashidi, Diba; Hamedani, Mohammad Saberi; Tavolinejad, Hamed; Gorji, Pouya; Razmara, Parsa; Vaziri, Kiarash; Vashaee, Daryoosh; Fakharzadeh, Mohammad (2022). "Design and Implementation of an Ultralow-Power ECG Patch and Smart Cloud-Based Platform". IEEE Transactions on Instrumentation and Measurement. 71: 1–11. Bibcode:2022ITIM...7164151B. doi:10.1109/TIM.2022.3164151. preprint Freely accessible
  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.