Skip to main content
. 2013 Dec 26;7:267. doi: 10.3389/fnins.2013.00267

Table 1.

From raw data to dSPM source estimates in less than 30 lines of code.

import mne

# load data
raw = mne.fiff.Raw('raw.fif' ,preload=True)
raw.info ['bads'] = ['MEG 2443', 'EEG 053']  #mark bad channels

# low-pass filter data
raw.filter (l_freq=None, h_freq=40.0)

# extract epochs and save them
picks = mne.fiff.pick_types (raw.info, meg=True, eeg=True, eog=True,
                            exclude='bads')
events = mne.find_events (raw)
epochs = mne.Epochs (raw, events, event_id=1, tmin=−0.2, tmax=0.5, proj=True,
                    picks=picks, baseline=(None, 0), preload=True,
                    reject=dict (grad=4000e−13, mag=4e−12, eog=150e−6))

# compute evoked response and noise covariance,and plot evoked
evoked = epochs.average ()
cov = mne.compute_covariance (epochs, tmax=0)
evoked.plot ()

# compute inverse operator
fwd_fname = 'sample_audvis−meg−eeg−oct−6−fwd.fif'
fwd = mne.read_forward_solution(fwd_fname,surf_ori=True)
inv = mne.minimum_norm.make_inverse_operator(raw.info, fwd, cov, loose=0.2)

# compute inverse solution
stc = mne.minimum_norm.apply_inverse(evoked, inv, lambda2=1./9., method='dSPM')

# morph it to average brain for group study and plot it
stc_avg = mne.morph_data ('sample', 'fsaverage', stc, 5, smooth=5)
stc_avg.plot ()