Mercurial Hosting > 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] |