--- a +++ b/preprocessing/seed.m @@ -0,0 +1,40 @@ +% An example to get the SEED dataset +% Just an example, you should change as you need. + +% band pass to 4-47 Hz, standardization +% 15 subjects - 3 sessions - 15 trials +% sample rate 200 Hz +% label: -1 for negative, 0 for neutral and +1 for positive +% label changes to 0 1 2 + +% Save file S1_1_1 (channels, samples) + +file_list = load('./seed_file/namefile_list.mat'); +file_list = file_list.namefile_list; +short_name = load('./seed_file/short_name.mat'); +short_name = short_name.short_name; +label = load('./seed_file/label.mat'); +fc = 200; +Wl = 4; Wh = 47; +Wn = [Wl*2 Wh*2]/fc; +[b,a]=cheby2(6,60,Wn); + +for i = 1:15 % subject + for j = 1:3 % session + file_pre = file_list(i,j); + file_path = strcat('/Datasets/SEED/Preprocessed_EEG/',file_pre,'.mat'); + session_data = load(file_path); + for k = 1:15 % trial + trial_data = eval(strcat('session_data.',short_name(i),'_eeg',num2str(k))); + % trial_data = filtfilt(b,a,trial_data); + trial_mean = mean(trial_data,2); + trial_std = std(trial_data,1,2); + trial_data = (trial_data-trial_mean)./trial_std; + trial_data = filtfilt(b,a,trial_data); + trial_label = label.label(k); + saveDir = strcat('/Datasets/SEED/seed_save/S',num2str(i),'_',num2str(j),'_',num2str(k),'.mat'); + save(saveDir,'trial_data','trial_label'); + end + end +end +