Beispiel #1
0
def findFeature(cat, feat):
    if cat == "time":
        return [f for f in tds.posFeatures().keys() if f in feat]
    if cat == "freq":
        return [f for f in fds.posFeatures().keys() if f in feat]
    if cat == "vel":
        return [f for f in vel.posFeatures().keys() if f in feat]
    if cat == "peak":
        return [f for f in ps.posFeatures().keys() if f in feat]
Beispiel #2
0
def findCategory(el, feat):
    if "A" in el:  # Time or Freq
        if feat in tds.posFeatures().keys():
            return "time"
        else:
            return "freq"
    elif "V" in el:  # Velocity
        return "vel"
    return "peak"
Beispiel #3
0
def findCols(cat, el):
    if cat == "time":
        return [col for col in tds.posCols() if col in el]
    if cat == "freq":
        return [col for col in fds.posCols() if col in el]
    if cat == "vel":
        return [col for col in vel.posCols() if col in el]
    if cat == "peak":
        parts = el.split("_")
        if len(parts) == 2:
            return [(parts[0], None)]
        if len(parts) == 3:
            return [(parts[0], parts[1], parts[2] == "cor")]
        return []
Beispiel #4
0
def getAllFeatures():
    part = {
        'time': {
                 'cols': tds.posCols(),
                 'features': tds.posFeatures().keys()
                 },
        'freq': {
                 'cols': fds.posCols(),
                 'features': fds.posFeatures().keys()
                 },
        'vel':  {
                 'cols': vs.posCols(),
                 'features': vs.posFeatures().keys()
                 },
        'peak': {
                 'cols': ps.posPeaks(),
                 'features': ps.posFeatures().keys()
                 }
        }

    return {
        'ankle': part,
        'hip': part
        }
Beispiel #5
0
def extractBodyPart(data, bodyPart, requiredFeatures=None):
    requiredFeatures = checkRequiredFeatures(requiredFeatures,
                    {'time': None, 'freq': None, 'peak': None, 'vel': None})

    features = dict()
    features.update(fds.getSimpleFreqDomainFeatures(data,
                                            requiredFeatures['freq']))
    features.update(tds.getSimpleTimeDomainFeatures(data,
                                            requiredFeatures['time']))
    features.update(ps.getSimplePeakFeatures(data,
                                            requiredFeatures['peak']))
    features.update(vs.getVelocityFeatures(data,
                                           requiredFeatures['vel']))

    features = dict((bodyPart + '.' + key, features[key])
                    for key in features.keys())

    return features