neurokit2

Comprehensive biosignal processing toolkit for analyzing physiological data including ECG, EEG, EDA, RSP, PPG, EMG, and EOG signals. Use this skill when processing cardiovascular signals, brain activity, electrodermal responses, respiratory patterns, muscle activity, or eye movements. Applicable for heart rate variability analysis, event-related potentials, complexity measures, autonomic nervous system assessment, psychophysiology research, and multi-modal physiological signal integration.

Category

Other Tools

Install

Hot:8

Download and extract to your skills directory

Copy command and send to OpenClaw for auto-install:

Download and install this skill https://openskills.cc/api/download?slug=k-dense-ai-scientific-skills-neurokit2&locale=en&source=copy

NeuroKit2 - Python Physiological Signal Processing Toolkit

Capabilities Overview


NeuroKit2 is a powerful Python toolkit specifically designed for processing and analyzing various physiological (biosignals), including electrocardiogram (ECG), electroencephalogram (EEG), electrodermal activity (EDA), respiration (RSP), electromyography (EMG), electrooculography (EOG), and others. It is suitable for psychophysiology research, clinical applications, and human–computer interaction studies.

Use Cases

1. Cardiovascular Signal Analysis


Process ECG and photoplethysmography (PPG) signals to detect R-peaks and perform heart rate variability (HRV) analysis. Supports computation of HRV metrics in time, frequency, and nonlinear domains, suitable for cardiac health assessment, stress research, and autonomic nervous system function analysis.

2. EEG Signal Processing


Analyze EEG band power (Delta, Theta, Alpha, Beta, Gamma), microstate segmentation, and source localization. Supports integration with MNE-Python, suitable for cognitive neuroscience, sleep research, and event-related potential analysis.

3. Multimodal Physiological Signal Integration


Process multiple physiological signals simultaneously (ECG + EEG + EDA + RSP + EMG) for unified signal analysis. Suitable for complex psychophysiological experiments, emotion recognition research, and multichannel physiological monitoring in human–computer interaction.

Core Features

1. Comprehensive Heart Rate Variability (HRV) Analysis


Provides time-domain (SDNN, RMSSD, pNN50), frequency-domain (LF, HF, VLF power spectra), and nonlinear (Poincaré plot, entropy, fractal dimension) metric calculations. Supports respiratory sinus arrhythmia (RSA) analysis and is an authoritative tool for assessing autonomic balance and cardiovascular health.

2. Signal Processing and Analysis Pipelines


Offers complete processing pipelines for each signal type: signal cleaning → feature detection (e.g., R-peaks, SCR) → signal delineation → quality assessment. Supports common signal processing operations such as filtering, peak detection, and signal decomposition (EMD, wavelets).

3. Event-Related Analysis and Complexity Metrics


Create stimulus-locked epochs for event-related averaging and support baseline correction. Provides a rich set of complexity measures, including various entropy metrics, fractal dimensions, Lyapunov exponents, and detrended fluctuation analysis (DFA), suitable for nonlinear dynamics research.

Frequently Asked Questions

What physiological signal types does NeuroKit2 support?


NeuroKit2 supports seven main physiological signals: ECG, EEG, electrodermal activity (EDA/GSR), respiration (RSP), EMG, EOG, and photoplethysmography (PPG). Each signal has a complete processing pipeline (*_process) and analysis functions (*_analyze), and multi-signal synchronized processing is supported (bio_process).

How do I compute HRV with NeuroKit2?


Use the nk.hrv() function to compute comprehensive HRV metrics from ECG R-peak locations: hrv = nk.hrv(peaks, sampling_rate=1000). The function will automatically compute time-domain (SDNN, RMSSD), frequency-domain (LF/HF ratio), and nonlinear (SD1/SD2) metrics. For domain-specific analysis, use nk.hrv_time(), nk.hrv_frequency(), or nk.hrv_nonlinear().

What programming skill level is NeuroKit2 suitable for?


NeuroKit2 is user-friendly and suitable for beginners to get started quickly (using high-level *_process functions) as well as advanced researchers who want to customize analysis pipelines. Basic physiological signal processing can be done in a few lines of code, for example signals, info = nk.ecg_process(ecg_signal, sampling_rate=1000) completes a full ECG analysis. Basic Python knowledge (NumPy, Pandas) is sufficient to get started.