for sub in range(1,2): exec('abs_{} = []'.format(sub)) exec('rel_{} = []'.format(sub)) Split = 0.90 X_train, y_train = load_MEG_dataset([str(i).zfill(3) for i in range(sub,sub+1)], mode = 'concatenate', output_format='numpy',shuffle = False, training=True, train_test_split=Split, batch_size=500) X_test, y_test = load_MEG_dataset([str(i).zfill(3) for i in range(sub,sub+1)], mode = 'concatenate', output_format='numpy',shuffle = False, training=False, train_test_split=Split, batch_size=500)
X_train, X_test = (X_train-X_train.mean())/X_train.std(), (X_test-X_test.mean())/X_test.std()
X_train = X_train[:, None, ...] X_test = X_test[:, None, ...]
y_train = (y_train / 2) - 1 y_test = (y_test / 2) - 1
X = np.swapaxes(X_train, 2, -1).squeeze() data = X[X.shape[0]-1, 70, :] psd_mne, freqs_mne = psd_array_welch(data, 100, 1., 70., n_per_seg=None, n_overlap=0, n_jobs=1) for low, high in [(0.5, 4), (4, 8), (8, 10), (10, 12), (12, 30), (30, 70)]: print("processing bands (low, high) : ({},{})".format(low, high)) idx_delta = np.logical_and(freqs_mne >= low, freqs_mne <= high) freq_res = freqs_mne[1] - freqs_mne[0]
power = simps(psd_mne[idx_delta], dx=freq_res) exec('abs_{}.append(power)'.format(sub)) total_power = simps(psd_mne, dx=freq_res) rel_power = power / total_power exec('rel_{}.append(rel_power)'.format(sub))
|