Mercurial > hg > nsaunier > traffic-intelligence
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 936:56cc8a1f7082 | 937:b67a784beb69 |
|---|---|
| 217 self.addIndicator(indicators.SeverityIndicator(Interaction.indicatorNames[3], minDistances, mostSevereIsMax = False)) | 217 self.addIndicator(indicators.SeverityIndicator(Interaction.indicatorNames[3], minDistances, mostSevereIsMax = False)) |
| 218 | 218 |
| 219 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): | 219 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): |
| 220 '''Computes all crossing and collision points at each common instant for two road users. ''' | 220 '''Computes all crossing and collision points at each common instant for two road users. ''' |
| 221 TTCs = {} | 221 TTCs = {} |
| 222 collisionProbabilities = {} | |
| 222 if usePrototypes: | 223 if usePrototypes: |
| 223 route1= getRoute(self.roadUser1,prototypes,objects,noiseEntryNums,noiseExitNums,useDestination) | 224 route1= getRoute(self.roadUser1,prototypes,objects,noiseEntryNums,noiseExitNums,useDestination) |
| 224 route2= getRoute(self.roadUser2,prototypes,objects,noiseEntryNums,noiseExitNums,useDestination) | 225 route2= getRoute(self.roadUser2,prototypes,objects,noiseEntryNums,noiseExitNums,useDestination) |
| 225 | 226 |
| 226 if timeInterval is not None: | 227 if timeInterval is not None: |
| 227 commonTimeInterval = timeInterval | 228 commonTimeInterval = timeInterval |
| 228 else: | 229 else: |
| 229 commonTimeInterval = self.timeInterval | 230 commonTimeInterval = self.timeInterval |
| 230 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) | 231 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) |
| 231 for i, cp in self.collisionPoints.iteritems(): | 232 for i, cps in self.collisionPoints.iteritems(): |
| 232 TTCs[i] = prediction.SafetyPoint.computeExpectedIndicator(cp) | 233 TTCs[i] = prediction.SafetyPoint.computeExpectedIndicator(cps) |
| 234 collisionProbabilities[i] = sum([p.probability for p in cps]) | |
| 233 if len(TTCs) > 0: | 235 if len(TTCs) > 0: |
| 234 self.addIndicator(indicators.SeverityIndicator(Interaction.indicatorNames[7], TTCs, mostSevereIsMax=False)) | 236 self.addIndicator(indicators.SeverityIndicator(Interaction.indicatorNames[7], TTCs, mostSevereIsMax=False)) |
| 237 self.addIndicator(indicators.SeverityIndicator(Interaction.indicatorNames[6], collisionProbabilities)) | |
| 235 | 238 |
| 236 # crossing zones and pPET | 239 # crossing zones and pPET |
| 237 if computeCZ: | 240 if computeCZ: |
| 238 self.crossingZones = crossingZones | 241 self.crossingZones = crossingZones |
| 239 pPETs = {} | 242 pPETs = {} |
