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 = []