Exemple #1
0
def test_apply_mne_inverse_operator():
    """Test MNE inverse computation
    """

    setno = 0
    snr = 3.0
    lambda2 = 1.0 / snr ** 2
    dSPM = True

    evoked = mne.fiff.Evoked(fname_data, setno=setno, baseline=(None, 0))
    inverse_operator = mne.read_inverse_operator(fname_inv)

    res = mne.apply_inverse(evoked, inverse_operator, lambda2, dSPM)

    assert np.all(res['sol'] > 0)
    assert np.all(res['sol'] < 35)
data_path = sample.data_path('.')
fname_inv = data_path + '/MEG/sample/sample_audvis-meg-oct-6-meg-inv.fif'
fname_evoked = data_path + '/MEG/sample/sample_audvis-ave.fif'

setno = 0
snr = 3.0
lambda2 = 1.0 / snr ** 2
dSPM = True

# Load data
evoked = Evoked(fname_evoked, setno=setno, baseline=(None, 0))
inverse_operator = mne.read_inverse_operator(fname_inv)

# Compute inverse solution
res = mne.apply_inverse(evoked, inverse_operator, lambda2, dSPM)

# Save result in stc files
lh_vertices = res['inv']['src'][0]['vertno']
rh_vertices = res['inv']['src'][1]['vertno']
lh_data = res['sol'][:len(lh_vertices)]
rh_data = res['sol'][-len(rh_vertices):]

mne.write_stc('mne_dSPM_inverse-lh.stc', tmin=res['tmin'], tstep=res['tstep'],
               vertices=lh_vertices, data=lh_data)
mne.write_stc('mne_dSPM_inverse-rh.stc', tmin=res['tmin'], tstep=res['tstep'],
               vertices=rh_vertices, data=rh_data)

###############################################################################
# View activation time-series
times = res['tmin'] + res['tstep'] * np.arange(lh_data.shape[1])