Exemple #1
0
def process_for_DTW(arr, currentUserId):
    
    # DB initialization
    db = DBHelper()
    cnx = db.getConn()
    
    #Combine x_arr and y_arr
    cA, cD = pywt.dwt(arr, 'db1')
    cA = list(cA)

    print 'cA values--->', cA
    arr = np.array(cA)
    cursor = db.fetchColumnFrom("UserInfo", "userID", cnx)
    userID_list = cursor.fetchall()
    distances = []

    userID_list = userID_list[0:1]
    #print userID_list
    for uid_item in userID_list:
        # Get the latest brainwave entry
        print 'uid_item-->', uid_item[0]
        condExpr = 'ID = ' + str(uid_item[0])
        #   print uid_item[0], currentUserId
        cursor = db.fetchFromWhere("UBrainData", condExpr, cnx)
        #print 'cursor result-->', cursor
        #print cursor.rowcount
        if cursor.rowcount != 0:
            series_list = cursor.fetchall()
            #print 'series list-->', series_list
            data = []
            for row in series_list:
                data.append(float(row[3]))

            cA, cD = pywt.dwt(data, 'db1')
            cA = list(cA)
           
            arr = np.array(arr)
            data = np.array(cA)
            print 'arr types -->', type(arr), type(arr[0])
            print 'arr types -->', type(data), type(data[0])
            dist2, path2 = fastdtw(arr, data, dist=euclidean)
            distances.append([uid_item[0], dist2])

    #Close connections
    cursor.close()
    db.closeConn(cnx)

    distances = sorted(distances,key=lambda x: x[1])
    print ' distances-->', distances
    print "Authenticated UserID :", distances[0][0], "\n DTW Distance: ", distances[0][1]
    print 'current user ID-->', currentUserId
    '''if int(currentUserId) == int(distances[0][0]):
        return True
    else:
        return False'''
    return True
Exemple #2
0
def registerUSerInfo(name, age, gender):
    # DB initialization
    db = DBHelper()
    cnx = db.getConn()
    if cnx is None:
        return -1
    else:
        # Insert User Info in the USerInfo table and get the unique user id
        userID = db.insertIntoUserInfo(name, gender, age, cnx)
        db.closeConn(cnx)
    return userID
Exemple #3
0
def registerUserBrainwave(data_series, userID, sessionID):
    # DB initialization
    db = DBHelper()
    cnx = db.getConn()

    # Insert user brainwave data into the UBrainData table
    
    userID_list = [userID]*len(data_series)
    datetime_list = [str(datetime.datetime.now())]*len(data_series)
    sessionId_list = [sessionID]*len(data_series)
    sessionID = db.batchInsertBrainData(userID_list, datetime_list, sessionId_list, data_series, cnx)

    db.closeConn(cnx)
    return sessionID