comparison python/utils.py @ 521:3707eeb20f25

changed argMaxDict name to argmaxDict
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Wed, 18 Jun 2014 17:37:28 -0400
parents 0c86c73f3c09
children 97c5fef5b2d6
comparison
equal deleted inserted replaced
520:fd9641cbd24b 521:3707eeb20f25
206 def medianSmoothing(x, X, Y, halfwidth): 206 def medianSmoothing(x, X, Y, halfwidth):
207 '''Returns the media of Y's corresponding to X's in the interval [x-halfwidth, x+halfwidth]''' 207 '''Returns the media of Y's corresponding to X's in the interval [x-halfwidth, x+halfwidth]'''
208 from numpy import median 208 from numpy import median
209 return median([y for observedx, y in zip(X,Y) if abs(x-observedx)<halfwidth]) 209 return median([y for observedx, y in zip(X,Y) if abs(x-observedx)<halfwidth])
210 210
211 def argMaxDict(d): 211 def argmaxDict(d):
212 return max(d.iterkeys(), key=(lambda key: d[key])) 212 return max(d.iterkeys(), key=(lambda key: d[key]))
213 213
214 def framesToTime(nFrames, frameRate, initialTime = time()): 214 def framesToTime(nFrames, frameRate, initialTime = time()):
215 '''returns a datetime.time for the time in hour, minutes and seconds 215 '''returns a datetime.time for the time in hour, minutes and seconds
216 initialTime is a datetime.time''' 216 initialTime is a datetime.time'''
365 for i in xrange(-n2-self.delta+1, n1+self.delta): # interval such that [i-shift-delta, i-shift+delta] is never empty, which happens when i-shift+delta < 1 or when i-shift-delta > n2 365 for i in xrange(-n2-self.delta+1, n1+self.delta): # interval such that [i-shift-delta, i-shift+delta] is never empty, which happens when i-shift+delta < 1 or when i-shift-delta > n2
366 self.similarities(l1, l2, i) 366 self.similarities(l1, l2, i)
367 lcssValues[i] = self.similarityTable.max() 367 lcssValues[i] = self.similarityTable.max()
368 similarityTables[i] = self.similarityTable 368 similarityTables[i] = self.similarityTable
369 #print self.similarityTable 369 #print self.similarityTable
370 alignmentShift = argMaxDict(lcssValues) # ideally get the medium alignment shift, the one that minimizes distance 370 alignmentShift = argmaxDict(lcssValues) # ideally get the medium alignment shift, the one that minimizes distance
371 self.similarityTable = similarityTables[alignmentShift] 371 self.similarityTable = similarityTables[alignmentShift]
372 else: 372 else:
373 alignmentShift = 0 373 alignmentShift = 0
374 self.similarities(l1, l2) 374 self.similarities(l1, l2)
375 375