comparison scripts/safety-analysis.py @ 558:a80ef6931fd8

updated safety-analysis to test multiprocessing
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Mon, 14 Jul 2014 17:44:09 -0400
parents 95276d310972
children 806df5f61c03
comparison
equal deleted inserted replaced
557:b91f33e098ee 558:a80ef6931fd8
12 12
13 parser = argparse.ArgumentParser(description='The program processes indicators for all pairs of road users in the scene') 13 parser = argparse.ArgumentParser(description='The program processes indicators for all pairs of road users in the scene')
14 parser.add_argument('--cfg', dest = 'configFilename', help = 'name of the configuration file', required = True) 14 parser.add_argument('--cfg', dest = 'configFilename', help = 'name of the configuration file', required = True)
15 parser.add_argument('--prediction-method', dest = 'predictionMethod', help = 'prediction method (constant velocity (vector computation), constant velocity, normal adaptation, point set prediction)', choices = ['cvd', 'cv', 'na', 'ps']) 15 parser.add_argument('--prediction-method', dest = 'predictionMethod', help = 'prediction method (constant velocity (vector computation), constant velocity, normal adaptation, point set prediction)', choices = ['cvd', 'cv', 'na', 'ps'])
16 parser.add_argument('--display-cp', dest = 'displayCollisionPoints', help = 'display collision points', action = 'store_true') 16 parser.add_argument('--display-cp', dest = 'displayCollisionPoints', help = 'display collision points', action = 'store_true')
17 parser.add_argument('-n', dest = 'nProcesses', help = 'number of processes to run in parallel', type = int)
17 args = parser.parse_args() 18 args = parser.parse_args()
18 19
19 params = storage.ProcessParameters(args.configFilename) 20 params = storage.ProcessParameters(args.configFilename)
20 21
21 # parameters for prediction methods 22 # parameters for prediction methods
55 obj.setFeatures(features) 56 obj.setFeatures(features)
56 57
57 interactions = events.createInteractions(objects) 58 interactions = events.createInteractions(objects)
58 for inter in interactions: 59 for inter in interactions:
59 inter.computeIndicators() 60 inter.computeIndicators()
60 inter.computeCrossingsCollisions(predictionParameters, params.collisionDistance, params.predictionTimeHorizon, params.crossingZones) 61 inter.computeCrossingsCollisions(predictionParameters, params.collisionDistance, params.predictionTimeHorizon, params.crossingZones, params.nProcesses)
61 62
62 storage.saveIndicators(params.databaseFilename, interactions) 63 storage.saveIndicators(params.databaseFilename, interactions)
63 64
64 if args.displayCollisionPoints: 65 if args.displayCollisionPoints:
65 plt.figure() 66 plt.figure()