From b5914dd492fa4716737bbe43f4abcad5258b6396 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Fri, 4 May 2012 17:59:13 +0100 Subject: working with image maps --- layers.py | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) (limited to 'layers.py') diff --git a/layers.py b/layers.py index 38aeba4..6c1d33f 100644 --- a/layers.py +++ b/layers.py @@ -18,7 +18,7 @@ class layer: except: print "gps layer: failed to parse", file def findpixel(self,pos): - return latLng(int((pos.lng-self.tl.lng)/self.pixsize.lng),int((pos.lat-self.br.lat)/self.pixsize.lat)) + return (int((pos.lng-self.tl.lng)/self.pixsize.lng),int((pos.lat-self.br.lat)/self.pixsize.lat)) def checkcoord(self,pos): p=self.findpixel(pos) if p!=self.pixel: @@ -27,7 +27,10 @@ class layer: else: return None def setcoord(self,pos): - return str(1.0) + """constructs a list of messages when values change" + returns None otherwise""" + result=None + return r class trigger(): """a generic trigger - @@ -43,6 +46,26 @@ class trigger(): return None class indexlayer(layer): + """generates gps triggers from an index colour image + triggers when colour changes""" triggers=[] + colour=-1 def setcoord(self,pos): - return str(1) \ No newline at end of file + result=None + #210 35 5 185 + c=self.image.getpixel(pos) + if c!=self.colour: + self.colour=c + print "indexlayer: new colour",c + for t in self.triggers: + if c==t.id: + result=t.command + return result + +class scalelayer(layer): + """generates a varying signal based on interpolating a greyscale image + uses sub pixel position""" + def findpixel(self,pos): + return (int((pos.lng-self.tl.lng)/self.pixsize.lng),int((pos.lat-self.br.lat)/self.pixsize.lat)) + def setcoord(self,pos): + result=None \ No newline at end of file -- cgit v1.2.3