Mercurial > hg > nsaunier > traffic-intelligence
comparison python/utils.py @ 665:15e244d2a1b5
corrected bug with circular import for VideoFilenameAddable, moved to base module
| author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
|---|---|
| date | Wed, 20 May 2015 13:57:47 +0200 |
| parents | 784298512b60 |
| children | 179b81faa1f8 |
comparison
equal
deleted
inserted
replaced
| 664:455f9b93819c | 665:15e244d2a1b5 |
|---|---|
| 1 #! /usr/bin/env python | 1 #! /usr/bin/env python |
| 2 ''' Generic utilities.''' | 2 ''' Generic utilities.''' |
| 3 | 3 |
| 4 #from numpy import * | |
| 5 #from pylab import * | |
| 6 from datetime import time, datetime | 4 from datetime import time, datetime |
| 7 from math import sqrt | 5 from math import sqrt |
| 8 | 6 |
| 9 __metaclass__ = type | |
| 10 | 7 |
| 11 datetimeFormat = "%Y-%m-%d %H:%M:%S" | 8 datetimeFormat = "%Y-%m-%d %H:%M:%S" |
| 12 | 9 |
| 13 ######################### | 10 ######################### |
| 14 # Enumerations | 11 # Enumerations |
| 55 result = 0. | 52 result = 0. |
| 56 for e, o in zip(expected, observed): | 53 for e, o in zip(expected, observed): |
| 57 result += ((e-o)*(e-o))/e | 54 result += ((e-o)*(e-o))/e |
| 58 return result | 55 return result |
| 59 | 56 |
| 60 class EmpiricalDistribution: | 57 class EmpiricalDistribution(object): |
| 61 def nSamples(self): | 58 def nSamples(self): |
| 62 return sum(self.counts) | 59 return sum(self.counts) |
| 63 | 60 |
| 64 def cumulativeDensityFunction(sample, normalized = False): | 61 def cumulativeDensityFunction(sample, normalized = False): |
| 65 '''Returns the cumulative density function of the sample of a random variable''' | 62 '''Returns the cumulative density function of the sample of a random variable''' |
| 319 | 316 |
| 320 ######################### | 317 ######################### |
| 321 # sequence section | 318 # sequence section |
| 322 ######################### | 319 ######################### |
| 323 | 320 |
| 324 class LCSS: | 321 class LCSS(object): |
| 325 '''Class that keeps the LCSS parameters | 322 '''Class that keeps the LCSS parameters |
| 326 and puts together the various computations''' | 323 and puts together the various computations''' |
| 327 def __init__(self, similarityFunc, delta = float('inf'), aligned = False, lengthFunc = min): | 324 def __init__(self, similarityFunc, delta = float('inf'), aligned = False, lengthFunc = min): |
| 328 self.similarityFunc = similarityFunc | 325 self.similarityFunc = similarityFunc |
| 329 self.aligned = aligned | 326 self.aligned = aligned |
| 448 counts.append(counts[-1]) | 445 counts.append(counts[-1]) |
| 449 counts.append(counts[-1]+increment) | 446 counts.append(counts[-1]+increment) |
| 450 counts.append(counts[-1]) | 447 counts.append(counts[-1]) |
| 451 return [firstX]+sortedX+[lastX], counts | 448 return [firstX]+sortedX+[lastX], counts |
| 452 | 449 |
| 453 class PlottingPropertyValues: | 450 class PlottingPropertyValues(object): |
| 454 def __init__(self, values): | 451 def __init__(self, values): |
| 455 self.values = values | 452 self.values = values |
| 456 | 453 |
| 457 def __getitem__(self, i): | 454 def __getitem__(self, i): |
| 458 return self.values[i%len(self.values)] | 455 return self.values[i%len(self.values)] |
