Mercurial Hosting > traffic-intelligence
changeset 986:3be8aaa47651
work in progress
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Tue, 06 Mar 2018 23:54:10 -0500 |
parents | 668a85c963c3 |
children | f026ce2af637 |
files | scripts/process.py |
diffstat | 1 files changed, 21 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/process.py Tue Mar 06 22:44:33 2018 -0500 +++ b/scripts/process.py Tue Mar 06 23:54:10 2018 -0500 @@ -3,6 +3,10 @@ import sys, argparse from pathlib2 import Path +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt + import storage, events, prediction from metadata import * @@ -36,7 +40,7 @@ if args.process == 'interaction': # safety analysis TODO make function in safety analysis script - predictionParameters = prediction.CVExactPredictionParameters() + predictionParameters = prediction.CVDirectPredictionParameters()#prediction.CVExactPredictionParameters() for videoId in args.videoIds: vs = session.query(VideoSequence).get(videoId) print('Processing '+vs.getDatabaseFilename()) @@ -59,18 +63,29 @@ if args.analyze == 'interaction': indicatorIds = [2,5,7,10] + conversionFactors = {2: 1., 5: 30.*3.6, 7:1./30, 10:1./30} indicators = {} interactions = {} for videoId in args.videoIds: vs = session.query(VideoSequence).get(videoId) if not vs.cameraView.siteIdx in interactions: interactions[vs.cameraView.siteIdx] = [] + indicators[vs.cameraView.siteIdx] = {} for i in indicatorIds: - indicators[events.Interaction.indicatorNames[i]][vs.cameraView.siteIdx] = [] - interactions[vs.cameraView.siteIdx].append(storage.loadInteractionsFromSqlite(str(parentDir/vs.getDatabaseFilename()))) - print(vs.getDatabaseFilename(), len(interactions)) - for inter in interactions[videoId]: + indicators[vs.cameraView.siteIdx][i] = [] + interactions[vs.cameraView.siteIdx] += storage.loadInteractionsFromSqlite(str(parentDir/vs.getDatabaseFilename())) + print(vs.getDatabaseFilename(), len(interactions[vs.cameraView.siteIdx])) + for inter in interactions[vs.cameraView.siteIdx]: for i in indicatorIds: indic = inter.getIndicator(events.Interaction.indicatorNames[i]) if indic is not None: - indicators[events.Interaction.indicatorNames[i]][vs.cameraView.siteIdx].append(indic.getMostSevereValue()) + indicators[vs.cameraView.siteIdx][i].append(indic.getMostSevereValue()*conversionFactors[i]) + + for i in indicatorIds: + tmp = [indicators[siteId][i] for siteId in indicators] + plt.ioff() + plt.figure() + plt.boxplot(tmp, labels = [session.query(Site).get(siteId).name for siteId in indicators]) + plt.title(events.Interaction.indicatorNames[i]) + plt.savefig(events.Interaction.indicatorNames[i]+'.png') + plt.close()