diff python/moving.py @ 211:ada6e8fbe4c6

2 Changes : 1) Modified storage.py to read prototype and matching trajectory indexes from db 2) Modified moving.py to give draw function **kwargs option (to matplotlib.plot)
author Francois Belisle <belisle.francois@gmail.com>
date Wed, 06 Jun 2012 13:24:04 -0400
parents e2f31813ade6
children 5cde6da74605
line wrap: on
line diff
--- a/python/moving.py	Tue Jun 05 14:10:25 2012 -0400
+++ b/python/moving.py	Wed Jun 06 13:24:04 2012 -0400
@@ -103,6 +103,9 @@
     def empty(self):
         return self.timeInterval.empty() or not self.boudingPolygon
 
+    def getId(self):
+        return self.num
+
     def getFirstInstant(self):
         return self.timeInterval.first
 
@@ -138,9 +141,9 @@
     def multiply(self, alpha):
         return Point(self.x*alpha, self.y*alpha)
 
-    def draw(self, options = 'o'):
+    def draw(self, options = 'o', **kwargs):
         from matplotlib.pylab import plot
-        plot([self.x], [self.y], options)
+        plot([self.x], [self.y], options, **kwargs)
 
     def norm2Squared(self):
         '''2-norm distance (Euclidean distance)'''
@@ -219,10 +222,10 @@
     def multiply(self, alpha):
         return FlowVector(self.position.multiply(alpha), self.velocity.multiply(alpha))
 
-    def draw(self, options = ''):
+    def draw(self, options = '', **kwargs):
         from matplotlib.pylab import plot
-        plot([self.position.x, self.position.x+self.velocity.x], [self.position.y, self.position.y+self.velocity.y], options)
-        self.position.draw(options+'x')
+        plot([self.position.x, self.position.x+self.velocity.x], [self.position.y, self.position.y+self.velocity.y], options, **kwargs)
+        self.position.draw(options+'x', **kwargs)
     
     @staticmethod
     def similar(f1, f2, maxDistance2, maxDeltavelocity2):
@@ -301,31 +304,31 @@
         self.addPositionXY(p.x, p.y)
 
     @staticmethod
-    def _draw(positions, options = '', withOrigin = False, lastCoordinate = None):
+    def _draw(positions, options = '', withOrigin = False, lastCoordinate = None, **kwargs):
         from matplotlib.pylab import plot
         if lastCoordinate == None:
-            plot(positions[0], positions[1], options)
+            plot(positions[0], positions[1], options, **kwargs)
         elif 0 <= lastCoordinate <= len(positions[0]):
-            plot(positions[0][:lastCoordinate], positions[1][:lastCoordinate], options)
+            plot(positions[0][:lastCoordinate], positions[1][:lastCoordinate], options, **kwargs)
         if withOrigin:
-            plot([positions[0][0]], [positions[1][0]], 'ro')
+            plot([positions[0][0]], [positions[1][0]], 'ro', **kwargs)
 
     def project(self, homography):
         from numpy.core.multiarray import array
         projected = cvutils.projectArray(homography, array(self.positions))
         return Trajectory(projected)
 
-    def draw(self, options = '', withOrigin = False):
-        Trajectory._draw(self.positions, options, withOrigin)
+    def draw(self, options = '', withOrigin = False, **kwargs):
+        Trajectory._draw(self.positions, options, withOrigin,**kwargs)
 
-    def drawAt(self, lastCoordinate, options = '', withOrigin = False):
-        Trajectory._draw(self.positions, options, withOrigin, lastCoordinate)
+    def drawAt(self, lastCoordinate, options = '', withOrigin = False, **kwargs):
+        Trajectory._draw(self.positions, options, withOrigin, lastCoordinate, **kwargs)
 
-    def drawOnWorldImage(self, nPixelsPerUnitDistance, imageHeight, options = '', withOrigin = False):
+    def drawOnWorldImage(self, nPixelsPerUnitDistance, imageHeight, options = '', withOrigin = False, **kwargs):
         from matplotlib.pylab import plot
         imgPositions = [[x*nPixelsPerUnitDistance for x in self.positions[0]],
                         [-x*nPixelsPerUnitDistance+imageHeight for x in self.positions[1]]]
-        Trajectory._draw(imgPositions, options, withOrigin)
+        Trajectory._draw(imgPositions, options, withOrigin, **kwargs)
 
     def getXCoordinates(self):
         return self.positions[0]
@@ -489,8 +492,8 @@
     def getYCoordinates(self):
         return self.positions.getYCoordinates()
     
-    def draw(self, options = '', withOrigin = False):
-        self.positions.draw(options, withOrigin)
+    def draw(self, options = '', withOrigin = False, **kwargs):
+        self.positions.draw(options, withOrigin, **kwargs)
 
     def drawWorldOnImage(self, nPixelsPerUnitDistance, imageHeight, options = '', withOrigin = False):
         self.positions.drawWorldOnImage(nPixelsPerUnitDistance, imageHeight, options, withOrigin)