Esempio n. 1
0
def appendFrac(whole, originalNext, averagedWhole=None):
    if(averagedWhole is None):
        averagedWhole =  copy.copy(whole)
    scaledNexts = interpulation.getScaledVectors(originalNext)
    longestOverlap = 0
    bestExtention = None
    bestOverlap = None
    for next in scaledNexts: 
        for j in reversed(xrange(1,len(next))):
            if(j > len(whole)-1):
                continue
            match = True
            gap = np.mean(whole[-j:]) - np.mean(next[:j])
            for i in xrange(j):
                if(not isEqual(whole[-j+i], next[i], gap)):
                    match = False
                    break
            if(match and j>longestOverlap):
                longestOverlap = j
                bestExtention = next[j:]
                bestOverlap = next[:j]
    if(bestExtention is not None):
        for i in xrange(len(bestOverlap)):
            averagedWhole[-i] = ( whole[-i] + bestOverlap[-i])/2.0
            pass
        return whole + bestExtention.tolist(), averagedWhole + bestExtention.tolist()
    return whole, averagedWhole
Esempio n. 2
0
def prependFrac(whole, originalNext,  m1=MEAN_COEFF, m2=STD_COEFF, epsilon=EPSILON_FACTOR, gap=GAP_FACTOR, overlap=OVERLAP_FACTOR):
    scaledNexts = interpulation.getScaledVectors(originalNext)
    longestOverlap = 0
    bestExtention = None
    bestOverlap = None
    for next in scaledNexts:
        for j in reversed(xrange(int(OVERLAP_FACTOR*len(next)),len(next))):
            if(j > len(whole)-1):
                continue
            match = checkMoments(whole[:j],next[:j],  m1, m2, epsilon, gap, overlap)
            if(match and j>longestOverlap):
                longestOverlap = j
                bestExtention = next[:-j]
                bestOverlap = next[-j:]
    if(bestExtention is not None):
        for i in xrange(len(bestOverlap)):
            #whole[i] = ( whole[i] + bestOverlap[i])/2.0
            pass
        return whole + bestExtention.tolist() 
    return whole