# find the white xy size = im.getbbox() try: im.width = size[2] im.height = size[3] except: # this failed because the attributes are already set pass whites_xy = [(x,y) for y in reversed(range(0,im.height)) for x in range(0,im.width) if data.getpixel((x,y)) == (255,255,255,255) or data.getpixel((x,y)) == (255,255,255)] # whites_xy[k] is the k province xy isPeriodicNS = checkPeriodicNS(mapfiledata) isPeriodicEW = checkPeriodicEW(mapfiledata) connections = getConnections(mapfiledata) if not args.statsonly: def periodic_translate(s,a1,a2,i,j): return tuple(s + array(a1) * i + array(a2) * j) s = lambda t,i_s1,i_s2: tuple(array(array(i_s1,dtype=int) + t * (array(i_s2,dtype=int) - array(i_s1,dtype=int)),dtype=int)) def periodic(_s1,_s2,image_dimensions,isPeriodicNS=True,isPeriodicEW=True): width = image_dimensions[0] height = image_dimensions[1] s1 = array(_s1) s2 = array(_s2) I = array([[width, 0],[0,height]])
def getConnections(self): self.connections = terrain.getConnections(self.maptextdata) return self.connections