bands = ([.5, 4], [4, 8]) raw_fname = env.data + '/MEG_data/fifs/' + subj + '_rest_LP100_CP3_DS300_raw.fif' fwd_path = env.data + '/MEG_data/analysis/rest/' fwd_fname = fwd_path + subj + '_rest_LP100_CP3_DS300_raw-5-fwd.fif' # preloading makes computing the covariance a lot faster raw = mne.fiff.Raw(raw_fname, preload=True) fwd = mne.read_forward_solution(fwd_fname) epochs = fgs.crop_good_epochs(raw, threshold=3500e-15, fmin=.5, fmax=58) stcs = ve.localize_epochs(epochs, fwd, reg=0) labels_folder = os.environ['SUBJECTS_DIR'] + '/' + subj + '/labels/' label_names = glob.glob(labels_folder + '/*.label') print 'Reading subject labels...' labels = [mne.read_label(ln) for ln in label_names] selected_voxels = ve.find_best_voxels_epochs(stcs, labels, bands, job_num=1) plis = [] for r, rand_ids in enumerate(epoch_ids): print '\nRunning random set ' + str(r+1) + '/' + str(num_rand_sets) rnd_epochs = [stcs[epoch] for epoch in rand_ids] pli = ve.compute_pli_epochs(rnd_epochs, labels, selected_voxels, bands) plis.append(pli) np.savez(env.results + subj + '_rand_epochs', subj=subj, plis=plis, bands=bands, epoch_ids=epoch_ids)
res = np.load(env.results + 'num_clean_epochs_chl.5_lp58_hp.5_visual.npz') data_mrks = res['markers'][()] chl_mrks = res['chl_mrks'][()] seg_len = res['seg_len'][()] res = env.load(env.results + 'selected_voxels_all_chl.5_lp58_hp.5_visual.npz') labels = res['labels'] selected_voxels = res['selected_voxels'] good_subjects = list(res['good_nvs']) + list(res['good_adhds']) plis = {} for subj in good_subjects: raw_fname = env.data + '/MEG_data/fifs/' + subj + '_rest_LP58_HP.5_CP3_DS300_raw.fif' fwd_fname = env.data + '/MEG_data/analysis/rest/' + subj + '_rest_LP100_CP3_DS300_raw-5-fwd.fif' # preloading makes computing the covariance a lot faster raw = mne.fiff.Raw(raw_fname, preload=True) fwd = mne.read_forward_solution(fwd_fname) _, times = raw[:, :] mrks = data_mrks[subj] + chl_mrks[subj] events = fgs.get_good_events(mrks, times, seg_len) epochs = fgs.crop_clean_epochs(raw, events, seg_len=seg_len) stcs = ve.localize_epochs(epochs, fwd, reg=0) plis[subj] = ve.compute_pli_epochs(stcs, labels[subj], selected_voxels[subj], res['bands']) np.savez(env.results + 'good_plis_all_chl.5_lp58_hp.5_visual.npz', plis=plis)
raw = mne.fiff.Raw(raw_fname, preload=True) fwd = mne.read_forward_solution(fwd_fname) _, times = raw[:, :] mrks = data_mrks[subj] + chl_mrks[subj] events = fgs.get_good_events(mrks, times, seg_len) epochs = fgs.crop_clean_epochs(raw, events, seg_len=seg_len) stcs = ve.localize_epochs(epochs, fwd, reg=0) rand_plis = np.zeros( [num_perms, len(bands), len(labels[subj]), len(labels[subj])]) for r in range(num_perms): print '===================================' print '======== Permutation ' + str(r + 1) + ' ===========' print '===================================' pli = ve.compute_pli_epochs(stcs, labels[subj], selected_voxels[subj], bands, randomize=True) for band in range(len(bands)): rand_plis[r, band, :, :] = pli[band] np.savez(env.results + 'rand_' + str(num_perms) + '_plis_' + subj + '_' + str(int(time.time())), rand_plis=rand_plis)
for subj, voxels in selected_voxels.iteritems(): print '===================================' print '======= Subject ' + subj + ' =========' print '===================================' raw_fname = env.data + '/MEG_data/fifs/' + subj + '_rest_LP58_HP.5_CP3_DS300_raw.fif' fwd_fname = env.data + '/MEG_data/analysis/rest/' + subj + '_rest_LP100_CP3_DS300_raw-5-fwd.fif' # preloading makes computing the covariance a lot faster raw = mne.fiff.Raw(raw_fname, preload=True) fwd = mne.read_forward_solution(fwd_fname) _, times = raw[:, :] mrks = data_mrks[subj] + chl_mrks[subj] events = fgs.get_good_events(mrks, times, seg_len) epochs = fgs.crop_clean_epochs(raw, events, seg_len=seg_len) stcs = ve.localize_epochs(epochs, fwd, reg=0) rand_plis = np.zeros([num_perms, len(bands), len(labels[subj]), len(labels[subj])]) for r in range(num_perms): print '===================================' print '======== Permutation ' + str(r+1) + ' ===========' print '===================================' pli = ve.compute_pli_epochs(stcs, labels[subj], selected_voxels[subj], bands, randomize=True) for band in range(len(bands)): rand_plis[r, band, :, :] = pli[band] np.savez(env.results + 'rand_' + str(num_perms) + '_plis_' + subj + '_' + str(int(time.time())), rand_plis=rand_plis)
fwd_path = env.data + '/MEG_data/analysis/rest/' fwd_fname = fwd_path + subj + '_rest_LP100_CP3_DS300_raw-5-fwd.fif' # preloading makes computing the covariance a lot faster raw = mne.fiff.Raw(raw_fname, preload=True) fwd = mne.read_forward_solution(fwd_fname) epochs = fgs.crop_good_epochs(raw, threshold=3500e-15, fmin=.5, fmax=58) stcs = ve.localize_epochs(epochs, fwd, reg=0) labels_folder = os.environ['SUBJECTS_DIR'] + '/' + subj + '/labels/' label_names = glob.glob(labels_folder + '/*.label') print 'Reading subject labels...' labels = [mne.read_label(ln) for ln in label_names] selected_voxels = ve.find_best_voxels_epochs(stcs, labels, bands, job_num=1) plis = [] for r, rand_ids in enumerate(epoch_ids): print '\nRunning random set ' + str(r + 1) + '/' + str(num_rand_sets) rnd_epochs = [stcs[epoch] for epoch in rand_ids] pli = ve.compute_pli_epochs(rnd_epochs, labels, selected_voxels, bands) plis.append(pli) np.savez(env.results + subj + '_rand_epochs', subj=subj, plis=plis, bands=bands, epoch_ids=epoch_ids)