diff python/events.py @ 937:b67a784beb69

work started on prototype prediction
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Mon, 17 Jul 2017 01:38:06 -0400
parents e2452abba0e7
children b1e8453c207c
line wrap: on
line diff
--- a/python/events.py	Fri Jul 14 16:48:42 2017 -0400
+++ b/python/events.py	Mon Jul 17 01:38:06 2017 -0400
@@ -219,6 +219,7 @@
     def computeCrossingsCollisions(self, predictionParameters, collisionDistanceThreshold, timeHorizon, computeCZ = False, debug = False, timeInterval = None, nProcesses = 1, usePrototypes=False, route1= (-1,-1), route2=(-1,-1), prototypes={}, secondStepPrototypes={}, nMatching={}, objects=[], noiseEntryNums=[], noiseExitNums=[], minSimilarity=0.1, mostMatched=None, useDestination=True, useSpeedPrototype=True, acceptPartialLength=30, step=1):
         '''Computes all crossing and collision points at each common instant for two road users. '''
         TTCs = {}
+        collisionProbabilities = {}
         if usePrototypes:
             route1= getRoute(self.roadUser1,prototypes,objects,noiseEntryNums,noiseExitNums,useDestination)
             route2= getRoute(self.roadUser2,prototypes,objects,noiseEntryNums,noiseExitNums,useDestination)
@@ -228,10 +229,12 @@
         else:
             commonTimeInterval = self.timeInterval
         self.collisionPoints, crossingZones = predictionParameters.computeCrossingsCollisions(self.roadUser1, self.roadUser2, collisionDistanceThreshold, timeHorizon, computeCZ, debug, commonTimeInterval, nProcesses,usePrototypes,route1,route2,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype,acceptPartialLength, step)
-        for i, cp in self.collisionPoints.iteritems():
-            TTCs[i] = prediction.SafetyPoint.computeExpectedIndicator(cp)
+        for i, cps in self.collisionPoints.iteritems():
+            TTCs[i] = prediction.SafetyPoint.computeExpectedIndicator(cps)
+            collisionProbabilities[i] = sum([p.probability for p in cps])
         if len(TTCs) > 0:
             self.addIndicator(indicators.SeverityIndicator(Interaction.indicatorNames[7], TTCs, mostSevereIsMax=False))
+            self.addIndicator(indicators.SeverityIndicator(Interaction.indicatorNames[6], collisionProbabilities))
         
         # crossing zones and pPET
         if computeCZ: