@author: guime """ import HFB_process as hf import cifar_load_subject as cf import numpy as np import mne import matplotlib.pyplot as plt import pandas as pd import scipy.stats as stats import seaborn as sns from pathlib import Path, PurePath #%% Load visual table path = cf.cifar_ieeg_path() fname = 'cross_subjects_visual_BP_channels.csv' fpath = path.joinpath(fname) df = pd.read_csv(fpath) #%% columns = ['Id', 'visual', 'R', 'F', 'P'] chan_table = pd.DataFrame(columns=columns) subjects = df['subject_id'].unique().tolist() chan_table['Id'] = subjects for sub_id in subjects: chan_table['visual'].loc[chan_table['Id'] == sub_id] = len( df.loc[df['subject_id'] == sub_id]) sub_df = df.loc[df['subject_id'] == sub_id] for cat in ['R', 'F', 'P']:
home = Path('~').expanduser() lionel_path = home.joinpath('HFB_data', sub_id) os.mkdir(lionel_path) fname = sub_id + '_visual_HFB_all_categories.mat' fpath = datadir.joinpath(fname) HFB_visual = loadmat(fpath) HFB_visual_path = lionel_path.joinpath(fname) savemat(HFB_visual_path, HFB_visual) # shutil(HFB_visual_path, lionel_path) fname = sub_id + '_BP_montage_HFB_raw.fif' fpath = datadir.joinpath(fname) HFB = mne.io.read_raw_fif(fpath, preload=True) dfelec = subject.df_electrodes_info() X = HFB.copy().get_data() raw_HFB = sub_id + '_BP_montage_HFB_raw.mat' raw_HFB_path = lionel_path.joinpath(raw_HFB) savemat(raw_HFB_path, dict(data=X) ) elec_file = 'electrodes_info.csv' elec_path = lionel_path.joinpath(elec_file) dfelec.to_csv(elec_path, index=False) path = cf.cifar_ieeg_path() fname = 'visual_channels_BP_montage.csv' fpath = path.joinpath(fname) HFB_path = home.joinpath('HFB_data') shutil.copy(fpath, HFB_path)
# -Check that there are output visual_data X is correct with HFB_visual (i.e. check that # permutation works) # - Create a module for category specific electrodes # - Rearrange HFB module consequently #%% subjects = [ 'AnRa', 'AnRi', 'ArLa', 'BeFe', 'DiAs', 'FaWa', 'JuRo', 'NeLa', 'SoGi' ] proc = 'preproc' sfreq = 250 tmin_crop = -0.5 tmax_crop = 1.75 fname = 'visual_channels_BP_montage.csv' ieeg_path = cf.cifar_ieeg_path(home='~') visual_chan_table_path = ieeg_path.joinpath(fname) df = pd.read_csv(visual_chan_table_path) df_sorted = pd.DataFrame(columns=df.columns) ts = [0] * len(subjects) for s in range(len(subjects)): sub_id = subjects[s] subject = cf.Subject(name=sub_id) datadir = subject.processing_stage_path(proc=proc) visual_chan = subject.pick_visual_chan() HFB = hf.visually_responsive_HFB(sub_id=sub_id) ts[s], time = fun.ts_all_categories(HFB, tmin_crop=tmin_crop, tmax_crop=tmax_crop) df_sorted = df_sorted.append(