Mercurial Hosting > traffic-intelligence
diff python/prediction.py @ 661:dc70d9e711f5
some method name change and new methods for features in objects (MovingObject) and methods to access indicator values in interactions
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Mon, 18 May 2015 13:53:25 +0200 |
parents | 335f6641bf7a |
children | 72174e66aba5 |
line wrap: on
line diff
--- a/python/prediction.py Fri May 15 23:09:49 2015 +0200 +++ b/python/prediction.py Mon May 18 13:53:25 2015 +0200 @@ -410,8 +410,8 @@ def generatePredictedTrajectories(self, obj, instant): predictedTrajectories = [] - if self.useFeatures: - features = [f for f in obj.features if f.existsAtInstant(instant)] + if self.useFeatures and obj.hadFeatures(): + features = [f for f in obj.getFeatures() if f.existsAtInstant(instant)] positions = [f.getPositionAtInstant(instant) for f in features] velocities = [f.getVelocityAtInstant(instant) for f in features] else: @@ -433,15 +433,19 @@ #self.nPredictedTrajectories = nPredictedTrajectories def generatePredictedTrajectories(self, obj, instant): - predictedTrajectories = [] - features = [f for f in obj.features if f.existsAtInstant(instant)] - positions = [f.getPositionAtInstant(instant) for f in features] - velocities = [f.getVelocityAtInstant(instant) for f in features] - #for i in xrange(self.nPredictedTrajectories): - for initialPosition,initialVelocity in zip(positions, velocities): - predictedTrajectories.append(PredictedTrajectoryConstant(initialPosition, initialVelocity, - maxSpeed = self.maxSpeed)) - return predictedTrajectories + predictedTrajectories = [] + if obj.hasFeatures(): + features = [f for f in obj.getFeatures() if f.existsAtInstant(instant)] + positions = [f.getPositionAtInstant(instant) for f in features] + velocities = [f.getVelocityAtInstant(instant) for f in features] + #for i in xrange(self.nPredictedTrajectories): + for initialPosition,initialVelocity in zip(positions, velocities): + predictedTrajectories.append(PredictedTrajectoryConstant(initialPosition, initialVelocity, + maxSpeed = self.maxSpeed)) + return predictedTrajectories + else: + print('Object {} has no features'.format(obj.getNum())) + return None class EvasiveActionPredictionParameters(PredictionParameters): def __init__(self, maxSpeed, nPredictedTrajectories, accelerationDistribution, steeringDistribution, useFeatures = False): @@ -463,8 +467,8 @@ def generatePredictedTrajectories(self, obj, instant): predictedTrajectories = [] - if self.useFeatures: - features = [f for f in obj.features if f.existsAtInstant(instant)] + if self.useFeatures and obj.hasFeatures(): + features = [f for f in obj.getFeatures() if f.existsAtInstant(instant)] positions = [f.getPositionAtInstant(instant) for f in features] velocities = [f.getVelocityAtInstant(instant) for f in features] else: