Mercurial Hosting > traffic-intelligence
comparison scripts/safety-analysis.py @ 1252:fe35473acee3
adding method to compute PET using polygon for the outline of a vehicle (bird eye view of the vehicle)
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Fri, 22 Mar 2024 14:33:25 -0400 |
parents | 14140b55e580 |
children |
comparison
equal
deleted
inserted
replaced
1251:2b1c8fe8f7e4 | 1252:fe35473acee3 |
---|---|
88 | 88 |
89 objects = storage.loadTrajectoriesFromSqlite(params.databaseFilename, 'object', args.nObjects, withFeatures = (params.useFeaturesForPrediction or predictionMethod == 'ps' or predictionMethod == 'mp')) | 89 objects = storage.loadTrajectoriesFromSqlite(params.databaseFilename, 'object', args.nObjects, withFeatures = (params.useFeaturesForPrediction or predictionMethod == 'ps' or predictionMethod == 'mp')) |
90 | 90 |
91 interactions = events.createInteractions(objects) | 91 interactions = events.createInteractions(objects) |
92 if args.nProcesses == 1: | 92 if args.nProcesses == 1: |
93 processed = events.computeIndicators(interactions, not args.noMotionPrediction, args.computePET, predictionParameters, params.collisionDistance, params.predictionTimeHorizon, params.crossingZones, False, None) | 93 processed = events.computeIndicators(interactions, not args.noMotionPrediction, args.computePET, predictionParameters, params.collisionDistance, False, params.predictionTimeHorizon, params.crossingZones, False, None) |
94 else: | 94 else: |
95 pool = Pool(processes = args.nProcesses) | 95 pool = Pool(processes = args.nProcesses) |
96 nInteractionPerProcess = int(np.ceil(len(interactions)/float(args.nProcesses))) | 96 nInteractionPerProcess = int(np.ceil(len(interactions)/float(args.nProcesses))) |
97 jobs = [pool.apply_async(events.computeIndicators, args = (interactions[i*nInteractionPerProcess:(i+1)*nInteractionPerProcess], not args.noMotionPrediction, args.computePET, predictionParameters, params.collisionDistance, params.predictionTimeHorizon, params.crossingZones, False, None)) for i in range(args.nProcesses)] | 97 jobs = [pool.apply_async(events.computeIndicators, args = (interactions[i*nInteractionPerProcess:(i+1)*nInteractionPerProcess], not args.noMotionPrediction, args.computePET, predictionParameters, params.collisionDistance, False, params.predictionTimeHorizon, params.crossingZones, False, None)) for i in range(args.nProcesses)] |
98 processed = [] | 98 processed = [] |
99 for job in jobs: | 99 for job in jobs: |
100 processed += job.get() | 100 processed += job.get() |
101 pool.close() | 101 pool.close() |
102 storage.saveIndicatorsToSqlite(params.databaseFilename, processed) | 102 storage.saveIndicatorsToSqlite(params.databaseFilename, processed) |