# HG changeset patch # User Nicolas Saunier # Date 1322179204 18000 # Node ID d3f6de6c39184306fd00f6d0e622327b76a4ae84 # Parent 42142c5223ce693a031c8ef53b56647f071b0ea7 added drawing functialities, in particular on aerial image diff -r 42142c5223ce -r d3f6de6c3918 python/moving.py --- a/python/moving.py Wed Nov 23 15:57:42 2011 -0500 +++ b/python/moving.py Thu Nov 24 19:00:04 2011 -0500 @@ -267,10 +267,22 @@ def addPosition(self, p): self.addPositionXY(p.x, p.y) - - def draw(self, options = ''): + + @staticmethod + def _draw(positions, options = '', withOrigin = False): from matplotlib.pylab import plot - plot(self.positions[0], self.positions[1], options) + plot(positions[0], positions[1], options) + if withOrigin: + plot([positions[0][0]], [positions[1][0]], 'ro') + + def draw(self, options = '', withOrigin = False): + Trajectory._draw(self.positions, options, withOrigin) + + def drawOnImage(self, nPixelsPerUnitDistance, imageHeight, options = '', withOrigin = False): + 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) def length(self): return len(self.positions[0]) @@ -435,8 +447,11 @@ def getYCoordinates(self): return self.positions.getYCoordinates() - def draw(self, options = ''): - self.positions.draw(options) + def draw(self, options = '', withOrigin = False): + self.positions.draw(options, withOrigin) + + def drawOnImage(self, nPixelsPerUnitDistance, imageHeight, options = '', withOrigin = False): + self.positions.drawOnImage(nPixelsPerUnitDistance, imageHeight, options, withOrigin) def getInstantsCrossingLane(self, p1, p2): '''Returns the instant(s)