目次
Math
Analysis
Experiment
Simulations

データのロード

まずは解析するためのデータを読み込んで行きます.

今回のコードはこちら

▶︎
all
running...

とりあえずチュートリアル

MNE-pythonは丁寧なチュートリアルを用意してくれているので,まずはそれに従って進めていきます.

はじめに,サンプルデータを読み込んできます.

import mne
import os

sample_data_folder = mne.datasets.sample.data_path()
sample_data_raw_file = os.path.join(sample_data_folder, 'MEG', 'sample','sample_audvis_filt-0-40_raw.fif')
raw = mne.io.read_raw_fif(sample_data_raw_file)

読み込めました.初回は結構時間がかかるかもしれません.

1行目では sample_data_folderにMNE公式が用意しているデータセットがダウンロードされます.自分の場合は

C/Users/hoge

直下にmne_dataというフォルダが作られました.いろんなデータが入っています.

2行目で,そのうちsample_audvis_filt-0-40_raw.fifというファイルを指定して,sample_data_raw_fileに格納しています.これは sample_audvis_raw.fif というファイルに対して40Hzでローパスフィルタをかけてくれた後のデータです.計算量など削減のため,とりあえずここではフィルタ済みを使っていきます.

3行目で,指定したファイルを読み込んでいます.ここの関数はデータ構造によって異なります.今回はMEGのfifフォーマットを使っているので,対応した関数です.他に対応しているデータフォーマットはこちら で確認できます.

さて,まずはどんなデータなのかを見てみます.

吐き出させると,色々書いてありました.

など.フィルター情報なども書かれています.これ便利そう.僕とかはファイル名てきとうにつけてしまうせいで,今見ているファイルがどこまで下処理したものなのか分からなくなることがあります.管理してもらえるのは助かる.

次に,ビルトインの関数でPower Spectral Densityを計算して出力させます.
引数では,50Hzまでの周波数 (そもそもフィルタで40までになってるが) を,badチャンネルを除いて表示するように指定しています.

fig = raw.plot_psd(fmax=50, picks="data", exclude="bads")
fig.savefig('../figures/psd_plot.png')  # PNG形式で保存。必要に応じてファイル名や拡張子を変更

簡単になんかかっこいいの出ました.うーん,脳波見た感じ,後頭にα波が乗っていますね!他は特に感想ないです.まあ刺激とか無視してこれだけ見てもね,という話ですね.カラーリングはよく分からないですが,デフォルトでやってくれているようですね.

次に,波形を見てみます.

raw.plot(duration=5)

5秒間の波形を全ch分表示します.n_channels=xxを指定すると,一部の表示が出来るというようなのがtutorialには書かれていましたけど自分のとこだとなんか上手くいきませんでした.

別ウィンドウで開かれたのがこんな感じ.クリックやスクロールができます.試しに一個(MEG 0123)をクリックして閉じてみると...

今クリックしたMEG0123chがbadチャンネルとして登録されてました.危ない.やり直して消しました.こんな風に目視除去というかラベル付けができるようです.

ともかく,現時点でも所感としてはお手軽にオシャレ脳活動図になりそう.すくなくともEEGLABよりは可愛いですね.