def eegFeatures(video): #EEG features features = [] #alpha beta alpha_total = np.sum(FE.powers(video, 'alpha')) beta_total = np.sum(FE.powers(video, 'beta' )) features.append(alpha_total / beta_total) #l-R / L+R left_alpha = 0 right_alpha = 0 for ch_left, ch_right in zip(all_left_channels, all_right_channels): left = [] left.append( video[channelNames[ch_left],:] ) left_alpha += FE.powers(np.array(left) , 'alpha')[0] right = [] right.append(video[channelNames[ch_right],:]) right_alpha += FE.powers(np.array(right), 'alpha')[0] features.append( (left_alpha - right_alpha)/(left_alpha + right_alpha) ) #FM frontal = [] frontal.append(video[channelNames['Fz']]) frontalMidlinePower = FE.powers( np.array(frontal),'theta')[0] features.append(frontalMidlinePower) #features look like this (person specific) #list = | alpha/beta | L-R/L+R | FM | return features
def featureFunc(samples): features = [] features.extend(FE.powers(samples,'alpha')) features.extend(FE.powers(samples,'delta')) features.extend(FE.powers(samples,'gamma')) features.extend(FE.powers(samples,'beta')) #features.extend(FE.powers(samples,'alpha'))#todo lower and upper beta return np.array(features)