[c2ab9a]: / preprocessing / seed_process_slice.py

Download this file

67 lines (53 with data), 2.5 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# used for SEED dataset
# train with 9 trials and test with 6 trials
import numpy as np
import scipy.io
root_path = '/Data/SEED/seed_syh/data/'
save_path = '/Data/SEED/seed_syh/data_1second/'
# i, j, k subject, session, trial
for i in range(15):
one_subject = []
one_subject_label = []
for j in range(3):
one_session = []
one_session_label = []
# todo save training data
for k in range(9):
one_trial = []
trial_tmp = scipy.io.loadmat(root_path + 'S%d_%d_%d.mat' % (i+1, j+1, k+1))
trial_data = trial_tmp['trial_data']
trial_label = np.squeeze(trial_tmp['trial_label'])
# change to using 2 seconds 200*2
trial_number = np.int32(trial_data.shape[1]/200)
for tmp_num in range(trial_number):
one_trial.append(trial_data[:,tmp_num*200:(tmp_num+1)*200])
one_trial_label = [trial_label]*trial_number
one_session.append(one_trial)
one_session_label.append(one_trial_label)
one_session = np.concatenate(one_session)
one_session_label = np.concatenate(one_session_label)
data = np.transpose(one_session, [2, 1, 0])
label = one_session_label
np.save(save_path + 'S%d_session%dT.npy'%(i+1, j+1), data)
np.save(save_path + 'S%d_session%dT_label'%(i+1, j+1), label)
one_session = []
one_session_label = []
# todo save test data
for k in range(9, 15):
one_trial = []
trial_tmp = scipy.io.loadmat(root_path + 'S%d_%d_%d.mat' % (i+1, j+1, k+1))
trial_data = trial_tmp['trial_data']
trial_label = np.squeeze(trial_tmp['trial_label'])
trial_number = np.int32(trial_data.shape[1]/200)
for tmp_num in range(trial_number):
one_trial.append(trial_data[:,tmp_num*200:(tmp_num+1)*200])
one_trial_label = [trial_label]*trial_number
one_session.append(one_trial)
one_session_label.append(one_trial_label)
one_session = np.concatenate(one_session)
one_session_label = np.concatenate(one_session_label)
data = np.transpose(one_session, [2, 1, 0])
label = one_session_label
np.save(save_path + 'S%d_session%dE.npy'%(i+1, j+1), data)
np.save(save_path + 'S%d_session%dE_label'%(i+1, j+1), label)
print('Finished Subject%d Session%d' % (i+1, j+1))