Skip to content

Instantly share code, notes, and snippets.

@dongqunxi
Forked from matt-erhart/gist:9377713
Created March 6, 2014 13:11
Show Gist options
  • Save dongqunxi/9389247 to your computer and use it in GitHub Desktop.
Save dongqunxi/9389247 to your computer and use it in GitHub Desktop.
#%% import ####################################################################
import mne
import numpy as np
import os
#%% load group avg data #######################################################
os.environ["SUBJECTS_DIR"] = \
"/freesurfer/RH4-x86_64-R530/subjects"
src_path = \
'/MNE-sample-data/subjects/fsaverage/bem/fsaverage-ico-5-src.fif';
src = mne.read_source_spaces(src_path)
stc_dir = '/MNE-sample-data/MEG/sample'
subject_id, surface = 'fsaverage', 'pial'
cond = '19';
stc = mne.read_source_estimate(stc_dir + '/' + 'fsaverage_audvis-meg')
#%% mask unknown ##############################################################
brain_mask,_ = mne.labels_from_parc('fsaverage', parc='aparc.a2009s',hemi='both',
regexp='Unknown')
bibrain_mask = mne.BiHemiLabel(brain_mask[0],brain_mask[1],name='Unknown')
brain_mask_stc = stc.in_label(bibrain_mask);
stc.data[brain_mask_stc.vertno[:][0],:] = 0;
stc.data[brain_mask_stc.vertno[:][1],:] = 0;
#%% make functional label #####################################################
tmin, tmax = 0.09+.03, 0.12+.03
aparc_label_name = 'S_calcarine'
stc_mean = stc.copy().crop(tmin, tmax).mean()
label,_ = mne.labels_from_parc('fsaverage', parc='aparc.a2009s',
regexp=aparc_label_name)
bilabel = mne.BiHemiLabel(label[0],label[1],name=aparc_label_name)
stc_mean_label = stc_mean.in_label(bilabel)
data = np.abs(stc_mean_label.data)
stc_mean_label.data[data < 0.3 * np.max(data)] = 0.
func_labels, _ = mne.stc_to_label(stc_mean_label, src=src, smooth=5,connected=True)
# take first as func_labels are ordered based on maximum values in stc
func_label = func_labels[0]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment