生体信号処理・解析ライブラリNeuroKit2 : 機能と活用事例
NeuroKit2の概要
NeuroKit2は、生理学的信号を処理・分析するためのPythonライブラリです。心電図(ECG)、皮膚電気活動(EDA)、筋電図(EMG)、呼吸(RSP)など、さまざまな生体信号を扱うことができます。
主要アルゴリズム
1. ECG処理
Pan-Tompkinsアルゴリズム
バンドパスフィルタ → 微分 → 二乗 → 移動平均 → R波検出
Hamilton-Tompkinsアルゴリズム
適応的閾値によるQRS検出
2. EDA処理
cvxEDAアルゴリズム
緩徐成分(SCL)と相動成分(SCR)の分離
最適化による信号分解
3. HRV解析
時間領域分析
SDNN, RMSSD, pNN50
周波数領域分析
LF, HF, LF/HF比
非線形分析
ポアンカレプロット, エントロピー
主要な関数
1. 信号処理関数
ecg_process(): ECG信号の完全な処理
eda_process(): EDA信号の処理
emg_process(): EMG信号の処理
rsp_process(): 呼吸信号の処理
2. 解析関数
hrv_analyze(): 心拍変動性の包括的分析
eda_analyze(): EDA指標の計算
ecg_quality(): 信号品質の評価
3. 可視化関数
ecg_plot(): ECG波形の表示
hrv_plot(): HRV指標の可視化
eda_plot(): EDA成分の表示
活用事例
1. 心理学研究
感情状態の評価
ストレスレベルの測定
認知負荷の定量化
2. 医学研究
心臓機能の評価
自律神経系の分析
睡眠研究
3. スポーツ科学
アスリートのコンディション評価
トレーニング効果の測定
疲労度のモニタリング
4. ヒューマンファクター
作業負荷の評価
注意力・覚醒度の測定
ユーザビリティテスト