From 8977b3e30aa012ee9e1fb5efc635e2907a20a076 Mon Sep 17 00:00:00 2001 From: ShiyaLiu <43846930+ShiyaLiu@users.noreply.github.com> Date: Fri, 12 Jun 2020 05:28:44 +1000 Subject: [PATCH] init upload --- DataPreprocessing/Neuroscan_locs_orig.mat | Bin 0 -> 703 bytes .../__pycache__/utils.cpython-36.pyc | Bin 0 -> 8168 bytes DataPreprocessing/data_split_cross.py | 79 +++++ DataPreprocessing/data_split_within.py | 113 +++++++ DataPreprocessing/eegtoimg.py | 281 +++++++++++++++++ DataPreprocessing/gen_joint_train_set.py | 25 ++ DataPreprocessing/grand_avg.py | 283 ++++++++++++++++++ .../images/EEG_image_dummy_sample.png | Bin 0 -> 5995 bytes DataPreprocessing/images/EEG_spectum.png | Bin 0 -> 38212 bytes DataPreprocessing/images/EEG_spectum_0.png | Bin 0 -> 16141 bytes DataPreprocessing/images/EEG_spectum_1.png | Bin 0 -> 18266 bytes DataPreprocessing/images/EEG_spectum_2.png | Bin 0 -> 17951 bytes DataPreprocessing/images/EEG_time_series.png | Bin 0 -> 46728 bytes DataPreprocessing/images/loc3D.png | Bin 0 -> 83559 bytes DataPreprocessing/t2f.py | 61 ++++ DataPreprocessing/utils.py | 242 +++++++++++++++ DataPreprocessing/visualizer.py | 82 +++++ 17 files changed, 1166 insertions(+) create mode 100644 DataPreprocessing/Neuroscan_locs_orig.mat create mode 100644 DataPreprocessing/__pycache__/utils.cpython-36.pyc create mode 100644 DataPreprocessing/data_split_cross.py create mode 100644 DataPreprocessing/data_split_within.py create mode 100644 DataPreprocessing/eegtoimg.py create mode 100644 DataPreprocessing/gen_joint_train_set.py create mode 100644 DataPreprocessing/grand_avg.py create mode 100644 DataPreprocessing/images/EEG_image_dummy_sample.png create mode 100644 DataPreprocessing/images/EEG_spectum.png create mode 100644 DataPreprocessing/images/EEG_spectum_0.png create mode 100644 DataPreprocessing/images/EEG_spectum_1.png create mode 100644 DataPreprocessing/images/EEG_spectum_2.png create mode 100644 DataPreprocessing/images/EEG_time_series.png create mode 100644 DataPreprocessing/images/loc3D.png create mode 100644 DataPreprocessing/t2f.py create mode 100644 DataPreprocessing/utils.py create mode 100644 DataPreprocessing/visualizer.py diff --git a/DataPreprocessing/Neuroscan_locs_orig.mat b/DataPreprocessing/Neuroscan_locs_orig.mat new file mode 100644 index 0000000000000000000000000000000000000000..bc431be66fc364f102303a27a4e942e0162958a2 GIT binary patch literal 703 zcmeZu4DoSvQZUssQ1EpO(M`+DN!3vZ$Vn_o%P-2cQV4Jk_w+L}(NS7D06gu zrphc6Js%12>BmfXxEv2B>=g0-_2c5D?{WefrVY!2xBK0VOL}x=ZLoEzQQ^BMPrQBR zypn(L?8?c5M^2t)e_lM_>C2(h59j>0y)XaW?ww?^TzZe^zGr=c=dR`M@SQjH$HWAjm3Tgz7x!DyBDl}{wd)4qwS5K z5AQzGZ1~sJ^ozXw(f9|8_r26hlF@tG82xGH(wemF!g(4o=i1+0?ti`7b>68ffhi8Y1u)_jt;nX|Uay~ZK_ zalpPB|KHiQ9~Z~P%vrlx;LFze2j|~b*|+Y;Wwxs5kKxvD-d_lx{I}{=`2X(*-7lS= zf1*5i()zDGHL5S$Ssz_L*#1JgOfI}8YwGeNl~b3*i(cS{qIfB80BJ=myTe>(UNd%TT2$A0!prxop%|Gwm3^Xc1?_1{9@Z}N|~ z{q-{V{GseG?|%Tj{_0^JaQ)4i$*4Fu#=D_nKiL@opfxPa-Zt% z>Zz`3pQ?6xhH5QhyqiSA5=aOkgm^&$@d6Tpe*z&M5HHjNFK8e9$RiN~e&2Vhd)nh! z35i#Frp`Ha&Udcg?f0E}^URsre|+(?*5-?b@o&b$&qDcoc#{7_A`K}*qa`>u2Ug4G zQfW|bRZucRXIO1jg{G^uYTR0HH8@8eEmWb#x^?574jmQ!DtK%>H}E9iN0Q;#E*P1h zbj_GrsWA|lm6`heNK9?in3<{TkHnEVEpd&=43x{6ot3h3*TN#q!@sV%_}x)nlyqY? zbZ>Yn^^?Gh+)f-T8AKjl-86QSQQucV#|yc`?#NT#(4FkMpDYkAHXZD`pZ=Vt!(F%a zT$A$Cv5IzG<;h^2Y`K2uKl0Kbj<#IyFc^;0K9By?#0fO5TnuwNd8pF7_E>v#QAi3!s{-vSLq2Je!ZtUK>osQ)}J8IvJ)&9MA_I}vD5f4Y> zG>CflZv5b*Ti^Z8x4z|m5Xs<~e!?{vHB7cg2f5S1vF_jqX%$HgiQz1XW&AaSI*+#wZHs=C&$)dWFPUII z8b@M9mrZaH<*o_-iNhbC;NK_?J+*MS%)2>L7a5fH{nXoay{H%Z?jtW8`-`orAJ2HP z*f`_TCtL2POy0Cq8LP~#PMqWxcHK1d5)YkQ7=w>pCrd=;V0}Au7%&V*!kezBRg~XT zC8QnNI{g}WXj~The?mbY!oVc)&P?@XYGsxbPs9|0KCtOXgn?3NT0&Z$mO)<`IGMm( zRhm!Cth{1OE0dq5HKM&~+~2upPMv8rt3nwngE~g5bTRshF=$9zmY#?;1B&9vvMm3^ z?3&k&hqvw;(R-7dG{WG_ksjqOj8dD{v-)g4EqndX%ijX)X?vr1GP2nC`li2BR?Wl?$`rqTY?W zv@Boh$GK zI3DKJl&twEPJFzlQf<((8o5n7ZdD2v=N7o82da4E-c7XSwd3XF)!7=7yxfWXZa2vV ziduql(QVlzKqu9^j-g19+mOW9F>SJr#HcldEo%5H<8Kv4@0ztLt_k%9+U6QhZqC8O z8voBIK$AoYR3OEM!MR!FR*~Bq2FxJ5|J0uRK?)lHTF|g|{|>vnQfkW5hEZrA&;aRj zq0#8ATlEaG4(%uBXsSO=%UK!jwE~;qJhA86TlDW*um#r(nyRclu}-JBOFJlK_H33T zGT068Zy_Zt-T!Bu4+u8=Jf-)b5Mit!=uGB*HrM_wC_lHs$==;^fA#*Nu0cB5!~eGc zr&vhVZgmlY$)4(|g;HK2CHTlo_wF=J)uc93&G(u@zmWfKR@4jBKn_olPNVKTMGA148LRA1Q!#-40dAVodSXriM5GP9fJP1MuFy1iFGIsB zvI5Pj$SV2D4FadfweWhNaMm?sse7ZD27DNM68NO=Yh&D1@zDL~ojYzf2>tDO$xZt4 zIFw}IQ`Wd3A;xOk{g8UPu+VT;aKg$*GmJCzk+3xQ zm%6;)Hwr&~i}19cf|!TAI{)!2neH|n%P#sV?fE}u!2AsPoEET7Des^i2K#!ehbwg0 ztbCvc1>KypNl|k6MyOhw9Kt1t(>;Nn1$>uVU{Cf zDgt9_POhaUq7;DuoZ<}^GRX2Yuo1x!GAN`gGcy~A;v%8~4(axA7G~OQUEuwAuy7g= zlBvr}+H25UI4f8TL|NmgSpp12%vqo|rYv)W4%8N?4?%r$*R`IXwl&ESniC4R4B@~@ zECZ;m3iUB{B6l|rO=+j|-To9W*af@=@RvcJg5oM^?ptb`d;~OUJDb<98&jgTWSOYZ zUP1dFdU50?EnH&=ypa}`Ngp%l8Ys=QGONKGGzMn{e?(Cf;yQSvBf3d(_SAc{Sn_GS zVz_1456BAJq~oONsCS8m{Bdp#gNVH^O5Q}fXEIRg*N`-ARV5;^mzP-1ax0LN=gu&V z+lW`%{W$$yP$w%$3_iWHNF8w&Zucxj_@APFE;P@$T=LI+jM&OlWVD^q-tkTtY9Pd( zZ%tPq#u)k@LTz4Ut2}Ab>vPLv7{E<`glQ7u9W76NhJ3yp8k(>S%Py&5hdjF?)2d!@bAF^4@dA;SJPnVyD?%OZ6SC7S}HlB zwC|;Ekh+lHL{L$MeuIWQp`39WNrv{V4wY#Ok60 z7hzS$@5dpcL+vgR(azBW0@kz-j6p6=k^_cZz)K?t@A?SEU`>iy=O;!Cq!YW1Cs{_) z!&%+05&H(l@0$-1+cPWRTuXeff?(0yzLpDlf-G-b_!6T`E={gc_aMup$!yPzG+wRsyaJ?P+MGlkBQ zCbP|2!R-obb_Sgs@IC9pW!NbaQ?UmnAze{yjLP0JGaJrZ9TUl?5o zue2UJ8H+9!Y9Id6?f$si#Vr?uB8Vs)oJ(g)Tu!)+1d?x8n8c;)y_7CH!-H*BzGv1# z$993%LJH5!ZxHjpG&UC5&pU;R-UpHT4J2Tc7#;6lwNdvscxG&WT`$FN!=?7<8i1B~ zsubAFN*!0cj1lrWR18<7tYw&z!i?Mk_|$6;t>QIL`;STMCFEm&o~o?K(;A?6&3{gT?HR#5NGs5RYJ;!7OYn(-Bo zmNdTuboPbu1uQa2$Dqp`l8S@C*QTftlv9U;nNx_zaA&2hR!pWx z4+EihlMqOR*2#hu5W3K-JvQghh!vp;7Av|mVX<0bv4UU`R$Z_x&x@9sThKnBZi*~U z$k^W#-wM<63Ljs)I0hK)Q;f_WB#0z{6&p&<(p1wO>3o39v_7@!y0R0GBRwg44yflo zB`j~}PE7cBv>3h>s@TFYZD9gs*~lH!fy;D+ia;^P93+%ap-DA8yg^7j4WW)`;1I<{@9 zgLwhUDoH$6z?OLhhYa(Zw5n{}$VcSXzJH)-fv1`}2P8YB&i_dJAfI8t($&NgKZLoK zg;J<}Mj%M(c;lNW5VQoKqAxp8u60sAC=tvvF351rEH1$xHLb(9Zor$2Q%GOjO#y85 z<-NxCEQbWdNhlKtFVqOOaH35dE-fx$9xzAIOFbL zD?%ME?&g^(Wm;Di~1&ciOqAAA{;=coI@)iVz6bI*{BIJlr~$S%Q*tnI+!{ z$t=EJ)giBI2FoaTMqvdcig}h$Sul{*c8gI0+m1>S^oDUD{~aXyTai$|&0Y1^qNb^H zef1!U>`rqNsAD`F9cV#b22V#}oQA=J?U8mKd1Y2`hO^T7MY03xke5d~w?<*wTElHf zJB{OTKR`I_P5h+Y!zbG}6j@ev9SK0Wm-hK{m}0Mtn9P^B&ZC=6!4#p^oVC=5FzfZ4hr^#Zn^Io~wGHGY Hlp6m7bAt4t literal 0 HcmV?d00001 diff --git a/DataPreprocessing/data_split_cross.py b/DataPreprocessing/data_split_cross.py new file mode 100644 index 0000000..91761c7 --- /dev/null +++ b/DataPreprocessing/data_split_cross.py @@ -0,0 +1,79 @@ +import scipy.io as sio +import scipy.io +import numpy as np +from sklearn.model_selection import train_test_split + +''' +cross-subject data splitting +''' + +mat = scipy.io.loadmat('ucieeg.mat') + + +data = mat['X'].astype('float32') + +#data = np.transpose (data, (0, 3 ,2, 1)) + +print (np.shape (data)) + +label_alcoholism = mat['y_alcoholic'].astype('int') +label_alcoholism = label_alcoholism.reshape(np.shape(data)[0]) + +label_stimulus = mat['y_stimulus'].astype('int')- 1 +label_stimulus = label_stimulus.reshape(np.shape(data)[0]) + +label_id = mat['subjectid'].astype('int') - 1 +label_id = label_id.reshape(np.shape (data)[0]) + + +#train_data, test_data, val_data = [], [], [] +#train_label, test_label, val_label = [], [], [] + +num_subject = 122 +num_datapoint = data.shape[0] + +mask = np.zeros(num_subject) + +# 7-2-1 for tarin-test-validation cross-subject data splitting +for i in range(num_subject): + r = np.random.rand() + if r < 0.7: + mask[i] = 0 + elif r >= 0.7 and r < 0.9: + mask[i] = 1 + else: + mask[i] = 2 + +#split according to subject id +#70% of subjects will be in training set +train_data = [data[i] for i in range(num_datapoint) if mask[label_id[i]] == 0] +train_label_alcoholism = [label_alcoholism[i] for i in range(num_datapoint) if mask[label_id[i]] == 0] +train_label_stimulus = [label_stimulus[i] for i in range(num_datapoint) if mask[label_id[i]] == 0] +train_label_id = [label_id[i] for i in range(num_datapoint) if mask[label_id[i]] == 0] + +#20% subjects in testing set +test_data = [data[i] for i in range(num_datapoint) if mask[label_id[i]] == 1] +test_label_alcoholism = [label_alcoholism[i] for i in range(num_datapoint) if mask[label_id[i]] == 1] +test_label_stimulus = [label_stimulus[i] for i in range(num_datapoint) if mask[label_id[i]] == 1] +test_label_id = [label_id[i] for i in range(num_datapoint) if mask[label_id[i]] == 1] + +# 10% subjects for validation set +val_data = [data[i] for i in range(num_datapoint) if mask[label_id[i]] == 2] +val_label_alcoholism = [label_alcoholism[i] for i in range(num_datapoint) if mask[label_id[i]] == 2] +val_label_stimulus = [label_stimulus[i] for i in range(num_datapoint) if mask[label_id[i]] == 2] +val_label_id = [label_id[i] for i in range(num_datapoint) if mask[label_id[i]] == 2] + +#save data +sio.savemat( 'uci_eeg_train_cross.mat', + {'data': train_data, 'label_alcoholism':np.reshape(train_label_alcoholism,(-1,1)), + 'label_stimulus': np.reshape(train_label_stimulus,(-1,1)), 'label_id':np.reshape(train_label_id,(-1,1))}) + +sio.savemat( 'uci_eeg_test_cross.mat', + {'data': test_data, 'label_alcoholism':np.reshape(test_label_alcoholism,(-1,1)), + 'label_stimulus':np.reshape(test_label_stimulus,(-1,1)), 'label_id':np.reshape(test_label_id,(-1,1))}) + +sio.savemat( 'uci_eeg_validation_cross.mat', + {'data': val_data, 'label_alcoholism':np.reshape(val_label_alcoholism,(-1,1)), + 'label_stimulus': np.reshape(val_label_stimulus,(-1,1)), 'label_id':np.reshape(val_label_id,(-1,1))}) + + diff --git a/DataPreprocessing/data_split_within.py b/DataPreprocessing/data_split_within.py new file mode 100644 index 0000000..1b20051 --- /dev/null +++ b/DataPreprocessing/data_split_within.py @@ -0,0 +1,113 @@ +import scipy.io as sio +import scipy.io +import numpy as np +from sklearn.model_selection import train_test_split + +''' +within-subject data spliting +''' + +mat = sio.loadmat('ucieeg.mat') + + +data = mat['X'].astype('float32') + +#data = np.transpose (data, (0, 3 ,2, 1)) + +print (np.shape (data)) + +label_alcoholism = mat['y_alcoholic'].astype('int') +label_alcoholism = label_alcoholism.reshape(np.shape(data)[0]) + +label_stimulus = mat['y_stimulus'].astype('int')- 1 #label start from 0 +label_stimulus = label_stimulus.reshape(np.shape(data)[0]) #label start from 0 + +label_id = mat['subjectid'].astype('int') - 1 +label_id = label_id.reshape(np.shape (data)[0]) + + +train_data = [] +train_label = [] + +train_cyc_data = [] +train_cyc_label = [] + +val_data = [] +val_label = [] + +test_data = [] +test_label = [] + +num_subject = 122 + +#loop through each subject to split data within subject +for i in range(num_subject): + index_i = np.where(label_id == i) + data_i = data[index_i] + #print (np.shape (data_i)) + + label_alcoholism_i = label_alcoholism[index_i] + label_stimulus_i = label_stimulus[index_i] + label_id_i = label_id[index_i] + + #print (np.shape(data_i)) + + # try 8-1-1 train-test-validation splitting + label_stack_i = np.stack((label_alcoholism_i, label_stimulus_i, label_id_i), axis=1) + X_train_i, X_test_i, y_train_i, y_test_i = train_test_split(data_i, label_stack_i, test_size=0.2,random_state = 1) + X_test_i, X_val_i, y_test_i, y_val_i = train_test_split(X_test_i, y_test_i, test_size=0.5,random_state = 1) + + # if alcoholic, sample 70% data for the cyclegan-based model training => balanced data + if label_alcoholism_i[0] == 0 or (label_alcoholism_i[0] == 1 and np.random.rand()<=0.7): + train_cyc_data.append(X_train_i) + + # X_train_i, X_test_i, y_train_i, y_test_i = train_test_split(data_i, label_stack_i, test_size=0.45,random_state = 1) + # X_test_i, X_val_i, y_test_i, y_val_i = train_test_split(X_test_i, y_test_i, test_size=0.33,random_state = 1) + + #else: + # X_train_i, X_test_i, y_train_i, y_test_i = train_test_split(data_i, label_stack_i, test_size=0.1,random_state = 1) + # X_test_i, X_val_i, y_test_i, y_val_i = train_test_split(X_test_i, y_test_i, test_size=0.5,random_state = 1) + + train_data.append (X_train_i) + + val_data.append (X_val_i) + + test_data.append (X_test_i) + + train_label.append (y_train_i) + + test_label.append (y_test_i) + + val_label.append (y_val_i) + + +train_data = np.concatenate(train_data) +train_label = np.concatenate(train_label) + +val_data = np.concatenate(val_data) +val_label = np.concatenate(val_label) + +test_data = np.concatenate(test_data) +test_label = np.concatenate(test_label) + + + +print (np.shape (train_label)) +print (np.shape (val_label)) +print (np.shape (test_label)) + + + +sio.savemat( 'uci_eeg_train_within_8.mat', + {'data': train_data, 'label_alcoholism':np.reshape(train_label[:,0],(-1,1)), + 'label_stimulus': np.reshape(train_label[:,1],(-1,1)), 'label_id':np.reshape(train_label[:,2],(-1,1))}) + +sio.savemat( 'uci_eeg_test_within_1.mat', + {'data': test_data, 'label_alcoholism':np.reshape(test_label[:,0],(-1,1)), + 'label_stimulus':np.reshape(test_label[:,1],(-1,1)), 'label_id':np.reshape(test_label[:,2],(-1,1))}) + +sio.savemat( 'uci_eeg_validation_within_1.mat', + {'data': val_data, 'label_alcoholism':np.reshape(val_label[:,0],(-1,1)), + 'label_stimulus': np.reshape(val_label[:,1],(-1,1)), 'label_id':np.reshape(val_label[:,2],(-1,1))}) + + diff --git a/DataPreprocessing/eegtoimg.py b/DataPreprocessing/eegtoimg.py new file mode 100644 index 0000000..2779d49 --- /dev/null +++ b/DataPreprocessing/eegtoimg.py @@ -0,0 +1,281 @@ +from __future__ import print_function +import time + +import numpy as np +np.random.seed(1234) +from functools import reduce +import math as m + +import scipy.io + +from scipy.interpolate import griddata +from sklearn.preprocessing import scale +from utils import augment_EEG, cart2sph, pol2cart +import scipy.io as sio + +import matplotlib.pyplot as plt + +from sklearn import preprocessing +#import mne +#from plotly import tools +#from plotly.graph_objs import Layout, YAxis, Scatter, Annotation, Annotations, Data, Figure, Marker, Font +#import matplotlib.pyplot as plt +#import plotly.plotly as py +#import plotly.offline as offline +#import plotly.graph_objs as go + +#since it is my personal account for plotly, do not use it too often. QAQ +#tools.set_credentials_file(username='yy.fy.cn',api_key='s4aYwqqYayPPjcqFxk7p') + +def azim_proj(pos): + """ + Computes the Azimuthal Equidistant Projection of input point in 3D Cartesian Coordinates. + Imagine a plane being placed against (tangent to) a globe. If + a light source inside the globe projects the graticule onto + the plane the result would be a planar, or azimuthal, map + projection. + + :param pos: position in 3D Cartesian coordinates + :return: projected coordinates using Azimuthal Equidistant Projection + """ + [r, elev, az] = cart2sph(pos[0], pos[1], pos[2]) + return pol2cart(az, m.pi / 2 - elev) + + +def gen_images(locs, features, n_gridpoints, normalize=True, + augment=False, pca=False, std_mult=0.1, n_components=2, edgeless=False): + """ + Generates EEG images given electrode locations in 2D space and multiple feature values for each electrode + + :param locs: An array with shape [n_electrodes, 2] containing X, Y + coordinates for each electrode. + :param features: Feature matrix as [n_samples, n_features] + Features are as columns. + Features corresponding to each frequency band are concatenated. + (alpha1, alpha2, ..., beta1, beta2,...) + :param n_gridpoints: Number of pixels in the output images + :param normalize: Flag for whether to normalize each band over all samples + :param augment: Flag for generating augmented images + :param pca: Flag for PCA based data augmentation + :param std_mult Multiplier for std of added noise + :param n_components: Number of components in PCA to retain for augmentation + :param edgeless: If True generates edgeless images by adding artificial channels + at four corners of the image with value = 0 (default=False). + :return: Tensor of size [samples, colors, W, H] containing generated + images. + """ + feat_array_temp = [] + nElectrodes = locs.shape[0] # Number of electrodes + # Test whether the feature vector length is divisible by number of electrodes + assert features.shape[1] % nElectrodes == 0 + n_colors = int(features.shape[1] / nElectrodes) + for c in range(n_colors): + feat_array_temp.append(features[:, c * nElectrodes : nElectrodes * (c+1)]) + if augment: + if pca: + for c in range(n_colors): + feat_array_temp[c] = augment_EEG(feat_array_temp[c], std_mult, pca=True, n_components=n_components) + else: + for c in range(n_colors): + feat_array_temp[c] = augment_EEG(feat_array_temp[c], std_mult, pca=False, n_components=n_components) + nSamples = features.shape[0] + # Interpolate the values + grid_x, grid_y = np.mgrid[ + min(locs[:, 0]):max(locs[:, 0]):n_gridpoints*1j, + min(locs[:, 1]):max(locs[:, 1]):n_gridpoints*1j + ] + temp_interp = [] + for c in range(n_colors): + temp_interp.append(np.zeros([nSamples, n_gridpoints, n_gridpoints])) + # Generate edgeless images + if edgeless: + min_x, min_y = np.min(locs, axis=0) + max_x, max_y = np.max(locs, axis=0) + locs = np.append(locs, np.array([[min_x, min_y], [min_x, max_y],[max_x, min_y],[max_x, max_y]]),axis=0) + for c in range(n_colors): + feat_array_temp[c] = np.append(feat_array_temp[c], np.zeros((nSamples, 4)), axis=1) + # Interpolating + for i in range(nSamples): + for c in range(n_colors): + temp_interp[c][i, :, :] = griddata(locs, feat_array_temp[c][i, :], (grid_x, grid_y), + method='cubic', fill_value=np.nan) + print('Interpolating {0}/{1}\r'.format(i+1, nSamples), end='\r') + + # Normalizing + for c in range(n_colors): + if normalize: + temp_interp[c][~np.isnan(temp_interp[c])] = \ + scale(temp_interp[c][~np.isnan(temp_interp[c])]) + temp_interp[c] = np.nan_to_num(temp_interp[c]) #Replace nan with zero and inf with large finite numbers. + return np.swapaxes(np.asarray(temp_interp), 0, 1) # swap axes to have [samples, colors, W, H] + +def get_fft(snippet): + Fs = 256.0; # sampling rate + #Ts = len(snippet)/Fs/Fs; # sampling interval + snippet_time = len(snippet)/Fs + Ts = 1.0/Fs; # sampling interval + t = np.arange(0,snippet_time,Ts) # time vector + + # ff = 5; # frequency of the signal + # y = np.sin(2*np.pi*ff*t) + y = snippet +# print('Ts: ',Ts) +# print(t) +# print(y.shape) + n = len(y) # length of the signal + k = np.arange(n) + T = n/Fs + frq = k/T # two sides frequency range + frq = frq[range(int(n/2))] # one side frequency range + + Y = np.fft.fft(y)/n # fft computing and normalization + Y = Y[range(int(n/2))] + #Added in: (To remove bias.) + #Y[0] = 0 + return frq,abs(Y) + +def theta_alpha_beta_averages(f,Y): + theta_range = (4,8) + alpha_range = (8,13) + beta_range = (13,30) + theta = Y[(f>theta_range[0]) & (f<=theta_range[1])].mean() + alpha = Y[(f>alpha_range[0]) & (f<=alpha_range[1])].mean() + beta = Y[(f>beta_range[0]) & (f<=beta_range[1])].mean() + return theta, alpha, beta + + +def make_frames(df,frame_duration): + ''' + in: dataframe or array with all channels, frame duration in seconds + out: array of theta, alpha, beta averages for each probe for each time step + shape: (n-frames,m-probes,k-brainwave bands) + ''' + Fs = 256.0 + frame_length = Fs*frame_duration + + frames = [] + print('df shape',np.shape(df)) + + for i in range(0, np.shape(df)[0]): + frame = [] + + for channel in range(0, np.shape(df)[1]): + snippet = df[i][channel] + #print(i, channel) + f,Y = get_fft(snippet) + #print (Y.shape) + theta, alpha, beta = theta_alpha_beta_averages(f,Y) + #print (theta, alpha, beta) + frame.append([theta, alpha, beta]) + + frames.append(frame) + return np.array(frames) + +''' +def visual_one_eeg (images, img_path): + + #images = np.reshape(images, [self.input_height, self.input_width]) + n_channels = np.shape(images)[0] + step = 1. / n_channels + data = images + eeg_time = np.linspace(1,n_channels,n_channels) + kwargs = dict(domain=[1 - step, 1], showticklabels=False, zeroline=False, showgrid=False) + + # create objects for layout and traces + layout = Layout(yaxis=YAxis(kwargs), showlegend=False) + traces = [Scatter(x=eeg_time, y=data.T[:, 0])] + + # loop over the channels + for ii in range(1, n_channels): + kwargs.update(domain=[1 - (ii + 1) * step, 1 - ii * step]) + layout.update({'yaxis%d' % (ii + 1): YAxis(kwargs), 'showlegend': False}) + traces.append(Scatter(x=eeg_time, y=data.T[:, ii], yaxis='y%d' % (ii + 1))) + + # add channel names using Annotations + + # set the size of the figure and plot it + layout.update(autosize=False, width=1000, height=600) + fig = Figure(data=Data(traces), layout=layout) + #py.image.save_as(fig, filename='') + py.image.save_as(fig, filename=img_path) +''' + +if __name__ == '__main__': + from utils import reformatInput + + # Load electrode locations + print('Loading data...') + locs = scipy.io.loadmat('Neuroscan_locs_orig.mat') + locs_3d = locs['A'] + locs_2d = [] + # Convert to 2D + for e in locs_3d: + locs_2d.append(azim_proj(e)) + + + + for s in ('train','test','validation'): + mat = sio.loadmat('uci_eeg_'+ s +'_within.mat') + + data = mat['data'] + label_alcoholic = mat['label_alcoholism'] + label_stimulus = mat['label_stimulus'] + label_id = mat['label_id'] + + tras_X = np.transpose(data, (0, 2, 1)) + print (np.shape(tras_X)) + #visual_one_eeg (tras_X[0], "One-eeg-plot.png") + + X = make_frames (tras_X, 1) + #print (np.shape(X)) + X_1 = X.reshape (np.shape(X)[0], np.shape(X)[1] * np.shape(X)[2]) + + + print('Generating images...') + + images = gen_images(np.array(locs_2d), + X_1, + 32, normalize=False) + + print(images.shape) + + images = np.transpose (images, (0, 3 ,2, 1)) + + ########################### add normazation ################################# + #trs_data = images.reshape (np.shape(images)[0], np.shape(images)[1] * np.shape(images)[2] * np.shape(images)[3]) + + #max_abs_scaler = preprocessing.MaxAbsScaler() + + #trs_data = max_abs_scaler.fit_transform (trs_data) + + #real_data = trs_data.reshape (np.shape(images)[0], np.shape(images)[1], np.shape(images)[2], np.shape(images)[3]) + + #images = real_data + + ########################################################################################### + + sio.savemat( 'uci_eeg_images_'+ s +'_within.mat', + {'data': images, 'label_alcoholism': label_alcoholic, 'label_stimulus': label_stimulus, 'label_id': label_id}) + + print (np.max(images)) + print (np.min(images)) + + img_in = images[0,:,:,:] + img_in -= np.min(img_in) + img_in /= np.max(img_in) + + plt.clf() + plt.subplot(1,1,1) + plt.imshow(img_in) + #plt.pause(50) + + ''' + print (np.shape(images)) + plt.clf() + plt.subplot(1,1,1) + plt.imshow(images[0]) + plt.pause(20) + ''' + print('\n') + + \ No newline at end of file diff --git a/DataPreprocessing/gen_joint_train_set.py b/DataPreprocessing/gen_joint_train_set.py new file mode 100644 index 0000000..f63702e --- /dev/null +++ b/DataPreprocessing/gen_joint_train_set.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +""" +Created on Wed May 20 01:17:56 2020 + +@author: konaw +""" + +import scipy.io as sio +import numpy as np + + +''' +Generate joint training set by combining the dummy EEG images with the training set +''' + +data_real = sio.loadmat('uci_eeg_images_train_within.mat') +data_dummy = sio.loadmat('eeg_dummy_images_w_label_step3_within.mat') + + +data = np.append(data_real['data'], data_dummy['data'],axis=0) +label_alc = np.append(data_real['label_alcoholism'], data_dummy['label_alcoholism'],axis=0) +label_stimulus = np.append(data_real['label_stimulus'], data_dummy['label_stimulus'],axis=0) + +sio.savemat('eeg_images_train_augmented_within.mat',{'data':data, 'label_alcoholism':label_alc, + 'label_stimulus':label_stimulus}) \ No newline at end of file diff --git a/DataPreprocessing/grand_avg.py b/DataPreprocessing/grand_avg.py new file mode 100644 index 0000000..74980f0 --- /dev/null +++ b/DataPreprocessing/grand_avg.py @@ -0,0 +1,283 @@ +from __future__ import print_function +import time + +import scipy.io as sio +import matplotlib.pyplot as plt +import numpy as np + +np.random.seed(1234) +from functools import reduce +import math as m + +from scipy.interpolate import griddata +from sklearn.preprocessing import scale +from utils import augment_EEG, cart2sph, pol2cart + +from sklearn import preprocessing + +''' +generate dummy identities using grand average +''' + + +''' +helper function for EEG2Img, 3D location projected to 2D plane +code from Yao +''' +def azim_proj(pos): + """ + Computes the Azimuthal Equidistant Projection of input point in 3D Cartesian Coordinates. + Imagine a plane being placed against (tangent to) a globe. If + a light source inside the globe projects the graticule onto + the plane the result would be a planar, or azimuthal, map + projection. + + :param pos: position in 3D Cartesian coordinates + :return: projected coordinates using Azimuthal Equidistant Projection + """ + [r, elev, az] = cart2sph(pos[0], pos[1], pos[2]) + return pol2cart(az, m.pi / 2 - elev) + +''' +helper function for EEG2Img, generate EEG images +code from Yao +''' +def gen_images(locs, features, n_gridpoints, normalize=True, + augment=False, pca=False, std_mult=0.1, n_components=2, edgeless=False): + """ + Generates EEG images given electrode locations in 2D space and multiple feature values for each electrode + + :param locs: An array with shape [n_electrodes, 2] containing X, Y + coordinates for each electrode. + :param features: Feature matrix as [n_samples, n_features] + Features are as columns. + Features corresponding to each frequency band are concatenated. + (alpha1, alpha2, ..., beta1, beta2,...) + :param n_gridpoints: Number of pixels in the output images + :param normalize: Flag for whether to normalize each band over all samples + :param augment: Flag for generating augmented images + :param pca: Flag for PCA based data augmentation + :param std_mult Multiplier for std of added noise + :param n_components: Number of components in PCA to retain for augmentation + :param edgeless: If True generates edgeless images by adding artificial channels + at four corners of the image with value = 0 (default=False). + :return: Tensor of size [samples, colors, W, H] containing generated + images. + """ + feat_array_temp = [] + nElectrodes = locs.shape[0] # Number of electrodes + # Test whether the feature vector length is divisible by number of electrodes + assert features.shape[1] % nElectrodes == 0 + n_colors = int(features.shape[1] / nElectrodes) + for c in range(n_colors): + feat_array_temp.append(features[:, c * nElectrodes : nElectrodes * (c+1)]) + if augment: + if pca: + for c in range(n_colors): + feat_array_temp[c] = augment_EEG(feat_array_temp[c], std_mult, pca=True, n_components=n_components) + else: + for c in range(n_colors): + feat_array_temp[c] = augment_EEG(feat_array_temp[c], std_mult, pca=False, n_components=n_components) + nSamples = features.shape[0] + # Interpolate the values + grid_x, grid_y = np.mgrid[ + min(locs[:, 0]):max(locs[:, 0]):n_gridpoints*1j, + min(locs[:, 1]):max(locs[:, 1]):n_gridpoints*1j + ] + temp_interp = [] + for c in range(n_colors): + temp_interp.append(np.zeros([nSamples, n_gridpoints, n_gridpoints])) + # Generate edgeless images + if edgeless: + min_x, min_y = np.min(locs, axis=0) + max_x, max_y = np.max(locs, axis=0) + locs = np.append(locs, np.array([[min_x, min_y], [min_x, max_y],[max_x, min_y],[max_x, max_y]]),axis=0) + for c in range(n_colors): + feat_array_temp[c] = np.append(feat_array_temp[c], np.zeros((nSamples, 4)), axis=1) + # Interpolating + for i in range(nSamples): + for c in range(n_colors): + temp_interp[c][i, :, :] = griddata(locs, feat_array_temp[c][i, :], (grid_x, grid_y), + method='cubic', fill_value=np.nan) + print('Interpolating {0}/{1}\r'.format(i+1, nSamples), end='\r') + + # Normalizing + for c in range(n_colors): + if normalize: + temp_interp[c][~np.isnan(temp_interp[c])] = \ + scale(temp_interp[c][~np.isnan(temp_interp[c])]) + temp_interp[c] = np.nan_to_num(temp_interp[c]) #Replace nan with zero and inf with large finite numbers. + return np.swapaxes(np.asarray(temp_interp), 0, 1) # swap axes to have [samples, colors, W, H] + +''' +helper function for EEG2Img, obtain features of 3 frequency band by averaging spectrum attitude +code from Yao +''' +def theta_alpha_beta_averages(f,Y): + theta_range = (4,8) + alpha_range = (8,13) + beta_range = (13,30) + theta = Y[(f>theta_range[0]) & (f<=theta_range[1])].mean() + alpha = Y[(f>alpha_range[0]) & (f<=alpha_range[1])].mean() + beta = Y[(f>beta_range[0]) & (f<=beta_range[1])].mean() + return theta, alpha, beta + + +def make_frames(df,frame_duration): + ''' + in: dataframe or array with all channels, frame duration in seconds + out: array of theta, alpha, beta averages for each probe for each time step + shape: (n-frames,m-probes,k-brainwave bands) + ''' + Fs = 256.0 + frame_length = Fs*frame_duration + + frames = [] + #print('df shape',np.shape(df)) + for i in range(0, np.shape(df)[0]): + frame = [] + + for channel in range(0, np.shape(df)[1]): + snippet = df[i][channel] + #print(i, channel) + #f,Y = get_fft(snippet) + #print (len(snippet)) + theta, alpha, beta = theta_alpha_beta_averages(np.array(range(len(snippet))), snippet) + #print (theta, alpha, beta) + frame.append([theta, alpha, beta]) + + frames.append(frame) + if i % 100 == 0: + print('===== %d end ====='%(i)) + return np.array(frames) + + + +if __name__ == '__main__': + + #load EEG spectrums in training set + data = sio.loadmat('eeg_spectrum_train_within.mat') + + + label_disease_range = 2 + label_stimulus_range = 5 + num_ch, band_width = data['data'][0].shape + num_subjects = 120 + + + ####### Group the EEG spectrums ####### + #generate 10 groups: 10 combinations of alcoholism and stimulus attributes + groups = [{} for i in range(label_disease_range * label_stimulus_range)] #map: subject id -> data + + #allocate each trial of EEG signals to the corresponding group + for i in range(len(data['data'])): + index_label = label_stimulus_range * data['label_alcoholism'][i,0] + data['label_stimulus'][i,0] + index_id = data['label_id'][i,0] + + #add EEG data to the corresponding group and subject + if index_id in groups[index_label]: + groups[index_label][index_id].append(data['data'][i]) + else: + groups[index_label][index_id] = [data['data'][i]] + + ####### visulise ####### + #g0 = groups[0] + #s = [g0[121][3][17], g0[70][3][17], g0[72][3][17]] + #cnt = 0; + #for c in s: + # plt.figure() + # plt.xticks([]) + # plt.yticks([]) + # plt.plot(c) + # plt.savefig('EEG_spectum_candi_%d.png'%cnt, bbox_inches='tight') + # cnt += 1 + #avg = np.mean(s,axis=0) + #plt.figure() + #plt.xticks([]) + #plt.yticks([]) + #plt.plot(avg) + #plt.savefig('EEG_spectum_candi_avg.png', bbox_inches='tight') + #cnt += 1 + + ####### generate labellled EEG spectrums with dummy identities ####### + dummy = [] + dummy_label_disease = [] + dummy_label_stimulus = [] + + #loop through 10 groups + for i in range(len(groups)): + #sort each group w.r.t the number of EEG signals for each subject + candidate_list = sorted(list(groups[i].values()), key=len) + step = 3 #a sliding window of 3 + #average trials of EEG siganls of the subjects within the window + for j in range(len(candidate_list) - step + 1): + for k in range(len(candidate_list[j])): + #average across subjects + new = np.mean([item[k] for item in candidate_list[j:j+step]], axis=0) + dummy.append(new) + #label the dunmmy identity + dummy_label_disease.append(i//label_stimulus_range) + dummy_label_stimulus.append(i%label_stimulus_range) + + dummy = np.array(dummy) + + + ####### generate EEG images with dummy identities ####### + # Load electrode locations + print('Loading data...') + locs = sio.loadmat('Neuroscan_locs_orig.mat') + locs_3d = locs['A'] + locs_2d = [] + # Convert to 2D + for e in locs_3d: + locs_2d.append(azim_proj(e)) + + X = make_frames(dummy, 1) + #print (np.shape(X)) + X_1 = X.reshape(np.shape(X)[0], np.shape(X)[1] * np.shape(X)[2]) + + + print('Generating images...') + + images = gen_images(np.array(locs_2d), + X_1, + 32, normalize=False) + + images = np.transpose (images, (0, 3 ,2, 1)) + + # save the dummy EEG images + sio.savemat( 'eeg_dummy_images_w_label_step3_within.mat', + {'data': images,'label_alcoholism':np.reshape(dummy_label_disease,(-1,1)), + 'label_stimulus':np.reshape(dummy_label_stimulus,(-1,1))}) + + + + + # print (np.max(images)) + # print (np.min(images)) + + # img_in = images[0,:,:,:] + # img_in -= np.min(img_in) + # img_in /= np.max(img_in) + + # plt.clf() + # plt.subplot(1,1,1) + # plt.imshow(img_in) + # #plt.pause(50) + + # print (np.shape(images)) + # plt.clf() + # plt.subplot(1,1,1) + # plt.imshow(images[0]) + # plt.pause(20) + + + #print('\n') + + #print(spectrums.shape) + #sample0 = np.array(data['X'][:88]).mean(axis=0) + + #sample_n = data['X'][6001] + + #plt.plot(sample_n) + diff --git a/DataPreprocessing/images/EEG_image_dummy_sample.png b/DataPreprocessing/images/EEG_image_dummy_sample.png new file mode 100644 index 0000000000000000000000000000000000000000..422d69c8a3cff45453808d4271ef64a39bf8ff71 GIT binary patch literal 5995 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 L<;BsW2;~0-tD{|z literal 0 HcmV?d00001 diff --git a/DataPreprocessing/images/EEG_spectum_1.png b/DataPreprocessing/images/EEG_spectum_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ee3798f48d9a69187d710afd142e7943435d2a35 GIT binary patch literal 18266 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 Yt0K5}dKX8)d8icctKBP*HTL_z0N-dGrvLx| literal 0 HcmV?d00001 diff --git a/DataPreprocessing/images/EEG_spectum_2.png b/DataPreprocessing/images/EEG_spectum_2.png new file mode 100644 index 0000000000000000000000000000000000000000..7bc63e7e435c8a78a5cf4d795ec82394f7a60a08 GIT binary patch literal 17951 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
  • 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 literal 0 HcmV?d00001 diff --git a/DataPreprocessing/images/loc3D.png b/DataPreprocessing/images/loc3D.png new file mode 100644 index 0000000000000000000000000000000000000000..89d1e356a70aad377a83eb1e7797dbadf9061d38 GIT binary patch literal 83559 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 len(data[0]): + batch_count = 0 + + if shuffle: + data = shuffle_aligned_list(data) + + start = batch_count * batch_size + end = start + batch_size + batch_count += 1 + yield [d[start:end] for d in data] + + + +def dic2list(sources, targets): + names_dic = {} + for key in sources: + names_dic[sources[key]] = key + for key in targets: + names_dic[targets[key]] = key + names = [] + for i in range(len(names_dic)): + names.append(names_dic[i]) + return names + +def softmax(x): + """Compute softmax values for each sets of scores in x.""" + e_x = np.exp(x - np.max(x)) + return e_x / e_x.sum(axis=0) + +def norm_matrix(X, l): + Y = np.zeros(X.shape); + for i in range(X.shape[0]): + Y[i] = X[i]/np.linalg.norm(X[i],l) + return Y + + +def description(sources, targets): + source_names = sources.keys() + target_names = targets.keys() + N = min(len(source_names), 4) + description = source_names[0] + for i in range(1,N): + description = description + '_' + source_names[i] + description = description + '-' + target_names[0] + return description + + + +def sigmoid(x): + return 1 / (1 + np.exp(-x)) \ No newline at end of file diff --git a/DataPreprocessing/visualizer.py b/DataPreprocessing/visualizer.py new file mode 100644 index 0000000..ada6288 --- /dev/null +++ b/DataPreprocessing/visualizer.py @@ -0,0 +1,82 @@ +import scipy.io as sio +import numpy as np +import matplotlib.pyplot as plt +from mpl_toolkits.mplot3d import Axes3D +from matplotlib.axes import Axes +import os + +''' +Generate some sample images or plots for the report +''' + +def time_freq_signals(root_path): + data_time = sio.loadmat('uci_eeg_train_within.mat') + data_spectrum = sio.loadmat('eeg_spectrum_train_within.mat') + + eeg_time_sample = data_time['data'][0][:,0] + eeg_spectrum_sample = data_spectrum['data'][0][0] + + plt.figure() + plt.plot(np.linspace(0,1,256), eeg_time_sample) + plt.xlabel('Time (s)', fontsize=16) + plt.ylabel('Amplitude (mV)', fontsize=16) + plt.tick_params(axis='both', which='major', labelsize=12) + plt.savefig('%s\EEG_time_series.png'%root_path, bbox_inches='tight') + + plt.figure() + plt.plot(eeg_spectrum_sample) + plt.xlabel('Frequency (Hz)', fontsize=16) + plt.ylabel('Normalised Amplitude (mV)', fontsize=14) + plt.tick_params(axis='both', which='major', labelsize=12) + plt.savefig('%s\EEG_spectum.png'%root_path, bbox_inches='tight') + + +def spectrum_simple(root_path, n): + data_spectrum = sio.loadmat('eeg_spectrum_train_within.mat') + eeg_spectrum_sample = data_spectrum['data'][0] + + for i in range(n): + ch = eeg_spectrum_sample[i] + fig = plt.figure() + plt.xticks([]) + plt.yticks([]) + plt.plot(ch) + plt.savefig('%s\EEG_spectum_%d.png'%(root_path, i), bbox_inches='tight') + + +def dummy_EEG_img(root_path, i): + data = sio.loadmat('eeg_dummy_images_w_label_step3_within.mat') + + images = data['data'] + + img_in = images[i,:,:,:] + img_in -= np.min(img_in) + img_in /= np.max(img_in) + + plt.clf() + plt.subplot(1,1,1) + plt.axis('off') + plt.imshow(img_in) + plt.savefig('%s\EEG_image_dummy_sample.png'%root_path, bbox_inches='tight') + + +def locations_3D(root_path): + locs = sio.loadmat('Neuroscan_locs_orig.mat') + locs_3d = locs['A'] + fig = plt.figure() + ax = fig.add_subplot(111, projection='3d') + ax.set_xticklabels([]) + ax.set_yticklabels([]) + ax.set_zticklabels([]) + ax.scatter(locs_3d[:,0],locs_3d[:,1],locs_3d[:,2]) + plt.savefig('%s\loc3D.png'%root_path, bbox_inches='tight') + +if __name__ == '__main__': + img_folder = 'images' + if not os.path.isdir(img_folder): + os.makedirs(img_folder) + time_freq_signals(img_folder) + spectrum_simple(img_folder, 3) + dummy_EEG_img(img_folder, 11) + locations_3D(img_folder) +