mcpField
M
mne

mne

github.com/tondevrelデータ・データベース2469 回インストール38 週間前に更新
リポジトリ

mne について

MNEは、EEGやMEGの記録を扱う研究者や臨床研究チーム向けの神経生理解析ツールキットです。信号の前処理、事象関連応答、結合性解析、脳内信号源の推定に対応します。

主な機能

  1. 01EEG・MEG信号のフィルタリング
  2. 02エポック化と誘発応答の解析
  3. 03信号源推定
  4. 04結合性解析
  5. 05アーチファクトの確認と除外

活用シーン

  1. 01EEGまたはMEG記録の前処理
  2. 02事象関連電位の解析
  3. 03信号の脳内位置の推定
  4. 04機械学習向け神経生理データの準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tondevrel/scientific-agent-skills --skill mne

インストール後、Claude Code で/mneを入力して読み込まれたか確認します。

詳細

MNE - 神経生理学的解析

MNE は、脳信号のフィルタリング、エポック化、ソース局在(信号を脳の解剖学的構造に対応付ける処理)を行う高度なツールを提供します。

使用する場面

  • 臨床研究または研究調査で記録された EEG/MEG データを処理する場合。
  • イベント関連電位(ERP)を解析する場合。
  • ソース局在(脳内の信号の発生源を特定すること)を行う場合。
  • 脳領域間のコネクティビティを解析する場合。
  • 機械学習に向けて神経生理学的データを前処理する場合。

基本原則

Raw → Epochs → Evoked

標準的なパイプライン:連続した生データ → 分割したエポック → 平均化した誘発反応。

センサースペースとソーススペース

センサースペース:電極で取得した信号。ソーススペース:脳内の位置に再構成した信号。

周波数解析

脳信号は周波数帯(デルタ、シータ、アルファ、ベータ、ガンマ)ごとに解析します。

クイックリファレンス

標準的なインポート
import mne
import numpy as np
基本パターン
# 1. Load data
raw = mne.io.read_raw_fif("sample_audvis_raw.fif")
# Or: raw = mne.io.read_raw_edf("eeg.edf")

# 2. Filter and cleaning
raw.filter(l_freq=1, h_freq=40)  # Bandpass filter
raw.notch_filter(freqs=[50, 100]) # Remove power line noise

# 3. Find events and create Epochs
events = mne.find_events(raw)
epochs = mne.Epochs(raw, events, event_id={'stimulus': 1}, tmin=-0.2, tmax=0.5)
epochs.average().plot() # Plot Evoked potential

# 4. Frequency analysis
epochs.compute_psd().plot()

重要なルール

✅ 推奨事項
  • エポック化の前にフィルタリングする - エポックではなく、連続データにフィルターを適用します。
  • データ品質を確認する - raw.plot() を使ってアーティファクトを目視で確認します。
  • モンタージュを設定する - 適切に可視化するため、電極の位置を割り当てます。
  • 不良エポックを除外する - 平均化の前に、アーティファクトを含むエポックを取り除きます。
❌ 非推奨事項
  • 過度にフィルタリングしない - フィルタリングしすぎると、ノイズとともに信号も除去されます。
  • リファレンスを無視しない - EEG 信号は相対的なものです。リファレンス電極を把握してください。
  • サンプリング周波数を混在させない - すべてのチャンネルのサンプリング周波数が同じであることを確認してください。

高度なパターン

ソース局在
# Compute forward solution and inverse
fwd = mne.make_forward_solution(raw.info, trans, src, bem)
inv = mne.minimum_norm.make_inverse_operator(raw.info, fwd, cov)
stc = mne.minimum_norm.apply_inverse(evoked, inv)
stc.plot()
コネクティビティ解析
from mne.connectivity import spectral_connectivity

# Compute connectivity between channels
con, freqs, times, n_epochs, n_tapers = spectral_connectivity(
    epochs, method='coh', mode='multitaper')

MNE は神経生理学的データ解析の業界標準であり、研究者が人間の脳から得られる複雑な信号から有意義な知見を引き出せるようにします。

コメント