Mercurial > hg > nsaunier > traffic-intelligence
comparison python/prediction.py @ 611:233867934190
corrected bug
| author | MohamedGomaa |
|---|---|
| date | Thu, 04 Dec 2014 13:37:55 -0500 |
| parents | 0dc36203973d |
| children | 306db0f3c7a2 |
comparison
equal
deleted
inserted
replaced
| 610:0dc36203973d | 611:233867934190 |
|---|---|
| 180 '''returns the lists of collision points and crossing zones''' | 180 '''returns the lists of collision points and crossing zones''' |
| 181 if usePrototypes: | 181 if usePrototypes: |
| 182 prototypeTrajectories1=getPrototypeTrajectory(obj1,route1,currentInstant,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype) | 182 prototypeTrajectories1=getPrototypeTrajectory(obj1,route1,currentInstant,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype) |
| 183 prototypeTrajectories2= getPrototypeTrajectory(obj2,route2,currentInstant,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype) | 183 prototypeTrajectories2= getPrototypeTrajectory(obj2,route2,currentInstant,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype) |
| 184 predictedTrajectories1 = predictionParams.generatePredictedTrajectories(obj1, currentInstant,prototypeTrajectories1) | 184 predictedTrajectories1 = predictionParams.generatePredictedTrajectories(obj1, currentInstant,prototypeTrajectories1) |
| 185 predictedTrajectories2 = predictionParams.generatePredictedTrajectories(obj2, currentInstant,prototypeTrajectories2) | 185 predictedTrajectories2 = predictionParams.generatePredictedTrajectories(obj2, currentInstant,prototypeTrajectories2) |
| 186 else: | 186 else: |
| 187 predictedTrajectories1 = predictionParams.generatePredictedTrajectories(obj1, currentInstant) | 187 predictedTrajectories1 = predictionParams.generatePredictedTrajectories(obj1, currentInstant) |
| 188 predictedTrajectories2 = predictionParams.generatePredictedTrajectories(obj2, currentInstant) | 188 predictedTrajectories2 = predictionParams.generatePredictedTrajectories(obj2, currentInstant) |
| 189 | 189 |
| 190 collisionPoints = [] | 190 collisionPoints = [] |
| 226 else: | 226 else: |
| 227 commonTimeInterval = obj1.commonTimeInterval(obj2) | 227 commonTimeInterval = obj1.commonTimeInterval(obj2) |
| 228 if nProcesses == 1: | 228 if nProcesses == 1: |
| 229 if usePrototypes: | 229 if usePrototypes: |
| 230 firstInstant= next( (x for x in xrange(commonTimeInterval.first,commonTimeInterval.last) if x-obj1.getFirstInstant() >= acceptPartialLength and x-obj2.getFirstInstant() >= acceptPartialLength), commonTimeInterval.last) | 230 firstInstant= next( (x for x in xrange(commonTimeInterval.first,commonTimeInterval.last) if x-obj1.getFirstInstant() >= acceptPartialLength and x-obj2.getFirstInstant() >= acceptPartialLength), commonTimeInterval.last) |
| 231 commonTimeIntervalList1= list(xrange(firstInstant,commonTimeInterval.last)) | 231 commonTimeIntervalList1= list(xrange(firstInstant,commonTimeInterval.last-1)) # do not look at the 1 last position/velocities, often with errors |
| 232 commonTimeIntervalList2= list(xrange(firstInstant,commonTimeInterval.last,step)) | 232 commonTimeIntervalList2= list(xrange(firstInstant,commonTimeInterval.last-1,step)) # do not look at the 1 last position/velocities, often with errors |
| 233 for i in commonTimeIntervalList2[:-1]: # do not look at the 1 last position/velocities, often with errors | 233 for i in commonTimeIntervalList2: |
| 234 i, cp, cz = computeCrossingsCollisionsAtInstant(predictionParams, i, obj1, obj2, collisionDistanceThreshold, timeHorizon, computeCZ, debug,usePrototypes,route1,route2,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype) | 234 i, cp, cz = computeCrossingsCollisionsAtInstant(predictionParams, i, obj1, obj2, collisionDistanceThreshold, timeHorizon, computeCZ, debug,usePrototypes,route1,route2,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype) |
| 235 if len(cp) != 0: | 235 if len(cp) != 0: |
| 236 collisionPoints[i] = cp | 236 collisionPoints[i] = cp |
| 237 if len(cz) != 0: | 237 if len(cz) != 0: |
| 238 crossingZones[i] = cz | 238 crossingZones[i] = cz |
| 239 if collisionPoints!={} or crossingZones!={}: | 239 if collisionPoints!={} or crossingZones!={}: |
| 240 for i in commonTimeIntervalList1[:-1]: | 240 for i in commonTimeIntervalList1: |
| 241 if i not in commonTimeIntervalList2: | 241 if i not in commonTimeIntervalList2: |
| 242 i, cp, cz = computeCrossingsCollisionsAtInstant(predictionParams, i, obj1, obj2, collisionDistanceThreshold, timeHorizon, computeCZ, debug,usePrototypes,route1,route2,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype) | 242 i, cp, cz = computeCrossingsCollisionsAtInstant(predictionParams, i, obj1, obj2, collisionDistanceThreshold, timeHorizon, computeCZ, debug,usePrototypes,route1,route2,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype) |
| 243 if len(cp) != 0: | 243 if len(cp) != 0: |
| 244 collisionPoints[i] = cp | 244 collisionPoints[i] = cp |
| 245 if len(cz) != 0: | 245 if len(cz) != 0: |
| 246 crossingZones[i] = cz | 246 crossingZones[i] = cz |
| 247 | 247 else: |
| 248 for i in list(commonTimeInterval)[:-1]: # do not look at the 1 last position/velocities, often with errors | 248 for i in list(commonTimeInterval)[:-1]: # do not look at the 1 last position/velocities, often with errors |
| 249 i, cp, cz = computeCrossingsCollisionsAtInstant(predictionParams, i, obj1, obj2, collisionDistanceThreshold, timeHorizon, computeCZ, debug,usePrototypes,route1,route2,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype) | 249 i, cp, cz = computeCrossingsCollisionsAtInstant(predictionParams, i, obj1, obj2, collisionDistanceThreshold, timeHorizon, computeCZ, debug,usePrototypes,route1,route2,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype) |
| 250 if len(cp) != 0: | 250 if len(cp) != 0: |
| 251 collisionPoints[i] = cp | 251 collisionPoints[i] = cp |
| 252 if len(cz) != 0: | 252 if len(cz) != 0: |
| 253 crossingZones[i] = cz | 253 crossingZones[i] = cz |
| 254 else: | 254 else: |
| 255 from multiprocessing import Pool | 255 from multiprocessing import Pool |
| 256 pool = Pool(processes = nProcesses) | 256 pool = Pool(processes = nProcesses) |
| 257 jobs = [pool.apply_async(computeCrossingsCollisionsAtInstant, args = (predictionParams, i, obj1, obj2, collisionDistanceThreshold, timeHorizon, computeCZ, debug,usePrototypes,route1,route2,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype)) for i in list(commonTimeInterval)[:-1]] | 257 jobs = [pool.apply_async(computeCrossingsCollisionsAtInstant, args = (predictionParams, i, obj1, obj2, collisionDistanceThreshold, timeHorizon, computeCZ, debug,usePrototypes,route1,route2,prototypes,secondStepPrototypes,nMatching,objects,noiseEntryNums,noiseExitNums,minSimilarity,mostMatched,useDestination,useSpeedPrototype)) for i in list(commonTimeInterval)[:-1]] |
| 258 #results = [j.get() for j in jobs] | 258 #results = [j.get() for j in jobs] |
