neurokit2
ECG・EEG・EDA・RSP・PPG・EMG・EOGなど多様な生体信号を解析するための包括的な生体信号処理ツールキット。心拍変動解析、事象関連電位、自律神経系の評価、精神生理学研究など、心血管・脳活動・皮膚電気反応・呼吸・筋活動・眼球運動に関わる生理データを処理する際に使用する。マルチモーダルな生理信号の統合解析にも対応している。
description の原文を見る
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.
SKILL.md 本文
NeuroKit2
概要
NeuroKit2は生理信号(生体信号)の処理と分析のための包括的なPythonツールキットです。このスキルを使用して、心理生理学研究、臨床応用、ヒューマンコンピュータインタラクション研究のための心臓、神経、自律神経、呼吸、筋肉信号を処理します。
このスキルを使用する場合
以下の作業に対応しています:
- 心臓信号: ECG、PPG、心拍変動(HRV)、脈拍解析
- 脳信号: EEG周波数帯域、マイクロステート、複雑性、ソース局在
- 自律神経信号: 皮膚電気活動(EDA/GSR)、皮膚伝導反応(SCR)
- 呼吸信号: 呼吸数、呼吸変動(RRV)、単位時間あたりの容積
- 筋肉信号: EMG振幅、筋活動検出
- 眼球運動追跡: EOG、まばたき検出と分析
- マルチモーダル統合: 複数の生理信号を同時に処理
- 複雑性分析: エントロピー測定、フラクタル次元、非線形ダイナミクス
コア機能
1. 心臓信号処理(ECG/PPG)
心電図と光電脈波信号を処理して心臓血管系分析を行います。詳細なワークフローについては references/ecg_cardiac.md を参照してください。
主要ワークフロー:
- ECG処理パイプライン: クリーニング → R波検出 → 境界検出 → 品質評価
- 時間領域、周波数領域、非線形領域にわたるHRV分析
- PPG脈拍解析と品質評価
- ECG由来の呼吸抽出
主要関数:
import neurokit2 as nk
# 完全なECG処理パイプライン
signals, info = nk.ecg_process(ecg_signal, sampling_rate=1000)
# ECGデータの分析(イベント関連またはインターバル関連)
analysis = nk.ecg_analyze(signals, sampling_rate=1000)
# 包括的なHRV分析
hrv = nk.hrv(peaks, sampling_rate=1000) # 時間、周波数、非線形領域
2. 心拍変動分析
心臓信号から包括的なHRV測定値を計算します。すべてのインデックスと領域固有の分析については references/hrv.md を参照してください。
サポート対象領域:
- 時間領域: SDNN、RMSSD、pNN50、SDSD、および派生指標
- 周波数領域: ULF、VLF、LF、HF、VHF電力および比率
- 非線形領域: ポアンカレプロット(SD1/SD2)、エントロピー測定、フラクタル次元
- 特殊: 呼吸性洞不整脈(RSA)、再帰量化分析(RQA)
主要関数:
# すべてのHRVインデックスを一度に
hrv_indices = nk.hrv(peaks, sampling_rate=1000)
# 領域固有の分析
hrv_time = nk.hrv_time(peaks)
hrv_freq = nk.hrv_frequency(peaks, sampling_rate=1000)
hrv_nonlinear = nk.hrv_nonlinear(peaks, sampling_rate=1000)
hrv_rsa = nk.hrv_rsa(peaks, rsp_signal, sampling_rate=1000)
3. 脳信号分析(EEG)
周波数電力、複雑性、マイクロステートパターンの脳波信号を分析します。詳細なワークフローとMNE統合については references/eeg.md を参照してください。
主要機能:
- 周波数帯域電力分析(デルタ、シータ、アルファ、ベータ、ガンマ)
- チャネル品質評価と再参照
- ソース局在(sLORETA、MNE)
- マイクロステート分割と遷移ダイナミクス
- グローバルフィールド電力と非類似性測定
主要関数:
# 周波数帯域全体の電力分析
power = nk.eeg_power(eeg_data, sampling_rate=250, channels=['Fz', 'Cz', 'Pz'])
# マイクロステート分析
microstates = nk.microstates_segment(eeg_data, n_microstates=4, method='kmod')
static = nk.microstates_static(microstates)
dynamic = nk.microstates_dynamic(microstates)
4. 皮膚電気活動(EDA)
皮膚伝導信号を処理して自律神経系評価を行います。詳細なワークフローについては references/eda.md を参照してください。
主要ワークフロー:
- トニック成分とファジック成分への信号分解
- 皮膚伝導反応(SCR)検出と分析
- 交感神経系指数計算
- 自己相関と変化点検出
主要関数:
# 完全なEDA処理
signals, info = nk.eda_process(eda_signal, sampling_rate=100)
# EDAデータの分析
analysis = nk.eda_analyze(signals, sampling_rate=100)
# 交感神経系活動
sympathetic = nk.eda_sympathetic(signals, sampling_rate=100)
5. 呼吸信号処理(RSP)
呼吸パターンと呼吸変動を分析します。詳細なワークフローについては references/rsp.md を参照してください。
主要機能:
- 呼吸数の計算と変動分析
- 呼吸振幅と対称性評価
- 呼吸容積時間(fMRI応用)
- 呼吸振幅変動(RAV)
主要関数:
# 完全なRSP処理
signals, info = nk.rsp_process(rsp_signal, sampling_rate=100)
# 呼吸数変動
rrv = nk.rsp_rrv(signals, sampling_rate=100)
# 呼吸容積時間
rvt = nk.rsp_rvt(signals, sampling_rate=100)
6. 筋電図(EMG)
筋活動信号を処理して活動検出と振幅分析を行います。ワークフローについては references/emg.md を参照してください。
主要関数:
# 完全なEMG処理
signals, info = nk.emg_process(emg_signal, sampling_rate=1000)
# 筋活動検出
activation = nk.emg_activation(signals, sampling_rate=1000, method='threshold')
7. 眼電図(EOG)
眼球運動とまばたきパターンを分析します。ワークフローについては references/eog.md を参照してください。
主要関数:
# 完全なEOG処理
signals, info = nk.eog_process(eog_signal, sampling_rate=500)
# まばたき特性の抽出
features = nk.eog_features(signals, sampling_rate=500)
8. 一般的な信号処理
任意の信号にフィルタリング、分解、変換操作を適用します。包括的なユーティリティについては references/signal_processing.md を参照してください。
主要操作:
- フィルタリング(ローパス、ハイパス、バンドパス、バンドストップ)
- 分解(EMD、SSA、ウェーブレット)
- ピーク検出と補正
- パワースペクトル密度推定
- 信号補間とリサンプリング
- 自己相関と同期分析
主要関数:
# フィルタリング
filtered = nk.signal_filter(signal, sampling_rate=1000, lowcut=0.5, highcut=40)
# ピーク検出
peaks = nk.signal_findpeaks(signal)
# パワースペクトル密度
psd = nk.signal_psd(signal, sampling_rate=1000)
9. 複雑性とエントロピー分析
非線形ダイナミクス、フラクタル次元、情報理論的測定値を計算します。利用可能な指標については references/complexity.md を参照してください。
利用可能な測定:
- エントロピー: シャノン、近似、サンプル、順列、スペクトル、ファジー、マルチスケール
- フラクタル次元: カッツ、樋口、ペトロシアン、セヴチック、相関次元
- 非線形ダイナミクス: リヤプノフ指数、Lempel-Ziv複雑性、再帰量化
- DFA: トレンド除去変動分析、マルチフラクタルDFA
- 情報理論: フィッシャー情報、相互情報
主要関数:
# 複数の複雑性指標を一度に
complexity_indices = nk.complexity(signal, sampling_rate=1000)
# 特定の測定
apen = nk.entropy_approximate(signal)
dfa = nk.fractal_dfa(signal)
lyap = nk.complexity_lyapunov(signal, sampling_rate=1000)
10. イベント関連分析
刺激イベント周辺のエポックを作成して生理反応を分析します。ワークフローについては references/epochs_events.md を参照してください。
主要機能:
- イベントマーカーからのエポック作成
- イベント関連平均化と可視化
- ベースライン補正オプション
- 信頼区間を含むグランド平均の計算
主要関数:
# 信号内のイベントを検出
events = nk.events_find(trigger_signal, threshold=0.5)
# イベント周辺のエポック作成
epochs = nk.epochs_create(signals, events, sampling_rate=1000,
epochs_start=-0.5, epochs_end=2.0)
# エポック全体で平均化
grand_average = nk.epochs_average(epochs)
11. マルチシグナル統合
複数の生理信号を統一出力で同時に処理します。統合ワークフローについては references/bio_module.md を参照してください。
主要関数:
# 複数の信号を一度に処理
bio_signals, bio_info = nk.bio_process(
ecg=ecg_signal,
rsp=rsp_signal,
eda=eda_signal,
emg=emg_signal,
sampling_rate=1000
)
# すべての処理済み信号を分析
bio_analysis = nk.bio_analyze(bio_signals, sampling_rate=1000)
分析モード
NeuroKit2はデータ期間に基づいて2つの分析モード間で自動選択します:
イベント関連分析 (< 10秒):
- 刺激ロック応答の分析
- エポックベースの分割
- 離散的な試行を伴う実験パラダイムに適切
インターバル関連分析 (≥ 10秒):
- 長期間にわたる生理パターンの特性化
- 安静時または継続的活動
- ベースライン測定と長期監視に適切
ほとんどの *_analyze() 関数は自動的に適切なモードを選択します。
インストール
uv pip install neurokit2
開発版の場合:
uv pip install https://github.com/neuropsychology/NeuroKit/zipball/dev
一般的なワークフロー
クイックスタート: ECG分析
import neurokit2 as nk
# サンプルデータをロード
ecg = nk.ecg_simulate(duration=60, sampling_rate=1000)
# ECGを処理
signals, info = nk.ecg_process(ecg, sampling_rate=1000)
# HRVを分析
hrv = nk.hrv(info['ECG_R_Peaks'], sampling_rate=1000)
# 可視化
nk.ecg_plot(signals, info)
マルチモーダル分析
# 複数の信号を処理
bio_signals, bio_info = nk.bio_process(
ecg=ecg_signal,
rsp=rsp_signal,
eda=eda_signal,
sampling_rate=1000
)
# すべての信号を分析
results = nk.bio_analyze(bio_signals, sampling_rate=1000)
イベント関連電位
# イベントを検出
events = nk.events_find(trigger_channel, threshold=0.5)
# エポックを作成
epochs = nk.epochs_create(processed_signals, events,
sampling_rate=1000,
epochs_start=-0.5, epochs_end=2.0)
# 各信号タイプのイベント関連分析
ecg_epochs = nk.ecg_eventrelated(epochs)
eda_epochs = nk.eda_eventrelated(epochs)
参考文献
このスキルには信号タイプと分析方法別に整理された包括的なリファレンスドキュメントが含まれます:
- ecg_cardiac.md: ECG/PPG処理、R波検出、境界検出、品質評価
- hrv.md: すべての領域にわたる心拍変動指数
- eeg.md: EEG分析、周波数帯域、マイクロステート、ソース局在
- eda.md: 皮膚電気活動処理とSCR分析
- rsp.md: 呼吸信号処理と変動
- ppg.md: 光電脈波信号分析
- emg.md: 筋電図処理と活動検出
- eog.md: 眼電図とまばたき分析
- signal_processing.md: 一般的な信号ユーティリティと変換
- complexity.md: エントロピー、フラクタル、非線形測定
- epochs_events.md: イベント関連分析とエポック作成
- bio_module.md: マルチシグナル統合ワークフロー
必要に応じてReadツールを使用して特定のリファレンスファイルをロードし、詳細な関数ドキュメントとパラメータにアクセスしてください。
その他のリソース
- 公式ドキュメント: https://neuropsychology.github.io/NeuroKit/
- GitHubリポジトリ: https://github.com/neuropsychology/NeuroKit
- 公開論文: Makowski et al. (2021). NeuroKit2: A Python toolbox for neurophysiological signal processing. Behavior Research Methods. https://doi.org/10.3758/s13428-020-01516-y
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- davila7
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/davila7/claude-code-templates / ライセンス: MIT
関連スキル
hugging-face-trackio
Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。
btc-bottom-model
ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。
protein_solubility_optimization
タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。
research-lookup
Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。
tree-formatting
ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。
querying-indonesian-gov-data
インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。