Mercurial Hosting > traffic-intelligence
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 |