Mercurial > hg > nsaunier > traffic-intelligence
comparison python/moving.py @ 66:56fe4ef1377e
generalized map combination to different functions
| author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
|---|---|
| date | Sun, 07 Nov 2010 01:34:43 -0500 |
| parents | 75cf537b8d88 |
| children | ded58c424783 |
comparison
equal
deleted
inserted
replaced
| 65:75cf537b8d88 | 66:56fe4ef1377e |
|---|---|
| 405 indicatorMap[(i,j)] = [indicatorValues[k]] | 405 indicatorMap[(i,j)] = [indicatorValues[k]] |
| 406 for k in indicatorMap.keys(): | 406 for k in indicatorMap.keys(): |
| 407 indicatorMap[k] = mean(indicatorMap[k]) | 407 indicatorMap[k] = mean(indicatorMap[k]) |
| 408 return indicatorMap | 408 return indicatorMap |
| 409 | 409 |
| 410 def combineIndicatorMaps(maps, squareSize): | 410 def combineIndicatorMaps(maps, squareSize, combinationFunction): |
| 411 '''Puts many indicator maps together | 411 '''Puts many indicator maps together |
| 412 (averaging the values in each cell | 412 (averaging the values in each cell |
| 413 if more than one maps has a value)''' | 413 if more than one maps has a value)''' |
| 414 from numpy import mean | 414 #from numpy import mean |
| 415 indicatorMap = {} | 415 indicatorMap = {} |
| 416 for m in maps: | 416 for m in maps: |
| 417 for k,v in m.iteritems(): | 417 for k,v in m.iteritems(): |
| 418 if indicatorMap.has_key(k): | 418 if indicatorMap.has_key(k): |
| 419 indicatorMap[k].append(v) | 419 indicatorMap[k].append(v) |
| 420 else: | 420 else: |
| 421 indicatorMap[k] = [v] | 421 indicatorMap[k] = [v] |
| 422 for k in indicatorMap.keys(): | 422 for k in indicatorMap.keys(): |
| 423 indicatorMap[k] = mean(indicatorMap[k]) | 423 indicatorMap[k] = combinationFunction(indicatorMap[k]) |
| 424 return indicatorMap | 424 return indicatorMap |
| 425 | 425 |
| 426 if __name__ == "__main__": | 426 if __name__ == "__main__": |
| 427 import doctest | 427 import doctest |
| 428 import unittest | 428 import unittest |
