Mercurial Hosting > traffic-intelligence
changeset 682:fbe29be25501 dev
corrected bug
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Fri, 05 Jun 2015 02:35:29 +0200 |
parents | acce61a1edc8 |
children | f3a0b652b590 |
files | python/moving.py python/tests/moving.txt scripts/classify-objects.py |
diffstat | 3 files changed, 11 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/python/moving.py Fri Jun 05 02:25:50 2015 +0200 +++ b/python/moving.py Fri Jun 05 02:35:29 2015 +0200 @@ -1129,8 +1129,12 @@ return None def getSpeeds(self, nInstantsIgnoredAtEnds = 0): - n = min(nInstantsIgnoredAtEnds, int(floor(self.length()/2.))) - return self.getVelocities().norm()[n:-n] + speeds = self.getVelocities().norm() + if nInstantsIgnoredAtEnds > 0: + n = min(nInstantsIgnoredAtEnds, int(floor(self.length()/2.))) + return speeds[n:-n] + else: + return speeds def getSpeedIndicator(self): from indicators import SeverityIndicator
--- a/python/tests/moving.txt Fri Jun 05 02:25:50 2015 +0200 +++ b/python/tests/moving.txt Fri Jun 05 02:35:29 2015 +0200 @@ -167,13 +167,10 @@ >>> t.differentiate().empty() True ->>> o1 = MovingObject(positions = Trajectory([[0]*3,[2]*3]), velocities = Trajectory([[0]*3,[1]*3])) +>>> o1 = MovingObject.generate(Point(0., 2.), Point(0., 1.), TimeInterval(0,2)) >>> o1.classifyUserTypeSpeedMotorized(0.5, np.median) >>> userTypeNames[o1.getUserType()] 'car' ->>> o1.classifyUserTypeSpeedMotorized(0.5, np.mean) ->>> userTypeNames[o1.getUserType()] -'car' >>> o1.classifyUserTypeSpeedMotorized(1.5, np.median) >>> userTypeNames[o1.getUserType()] 'pedestrian'
--- a/scripts/classify-objects.py Fri Jun 05 02:25:50 2015 +0200 +++ b/scripts/classify-objects.py Fri Jun 05 02:35:29 2015 +0200 @@ -46,6 +46,10 @@ 'pedestrian': lambda s: norm(params.meanPedestrianSpeed, params.stdPedestrianSpeed).pdf(s), 'bicycle': lambda s: lognorm(params.scaleCyclistSpeed, loc = 0., scale = np.exp(params.locationCyclistSpeed)).pdf(s)} # lognorm shape, loc, scale +def plotSpeedProbabilities(): + for k in speedProbabilities: + plot(arange(0.1, 50, 0.1), [speedProbabilities[k](s/3.6/25) for s in arange(0.1, 50, 0.1)]) + objects = storage.loadTrajectoriesFromSqlite(params.databaseFilename, 'object') features = storage.loadTrajectoriesFromSqlite(params.databaseFilename, 'feature') intervals = []