Exemple #1
0
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)