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