MNE-Pythonのこの部分を試しました。

 

いろいろ読み込み

いろいろ読み込みます。

import mne

from mne.preprocessing import maxwell_filter

raw_fname='c:\\Users\\akira\\mne_data\\MNE-sample-data\\MEG\\sample\\sample_audvis_raw.fif'

ctc_fname='c:\\Users\\akira\\mne_data\\MNE-sample-data\\SSS\\ct_sparse_mgh.fif'

fine_cal_fname='c:\\Users\\akira\\mne_data\\MNE-sample-data\\SSS\\sss_cal_mgh.dat'

raw=mne.io.read_raw_fif(raw_fname,add_eeg_ref=False)

 

Maxwellフィルタの適応

不良チャンネルを設定後、Maxwellフィルタをかけます。

raw.info['bads']=['MEG 2443','EEG 053','MEG 1032','MEG 2313']

# MGHの環境磁場は殆どないのでst_durationを設定するtSSSでなくSSSを使います

raw_sss=maxwell_filter(raw,cross_talk=ctc_fname,calibration=fine_cal_fname)

 

フィルタ処理前後の比較

Maxwellフィルタ処理前後の波形を加算した波形して結果を比較します。

tmin,tmax=-0.2,0.5

event_id={'Auditory/Left':1}

events=mne.find_events(raw,'STI 014')

picks=mne.pick_types(raw.info,meg=True,eeg=False,stim=False,eog=True,include=[],exclude='bads')

for r,kind in zip((raw,raw_sss),('Raw data','Maxwell filtered data')):

    epochs=mne.Epochs(r,events,event_id,tmin,tmax,picks=picks,baseline=(None,0),reject=dict(eog=150e-6),preload=False)

    evoked=epochs.average()

    evoked.plot(window_title=kind,ylim=dict(grad=(-200,250),mag=(-600,700)))

左がMaxwellフィルタ処理前、右が処理後の加算波形です。ちょっと波形が変化しています。