# Chess image, many ways to generate this image def xadrez1(s): # explicit pixel scanning from Numeric import zeros a=zeros(s) for i in range(s[0]): for j in range(s[1]): a[i,j]=(i+j)%2 return a def xadrez2(s): #usando o meshgrid from ia636 import iameshgrid [i,j]=iameshgrid( range( s[1]), range( s[0])) return (i+j)%2 def xadrez3(s): # usando indices, particular case of meshgrid from Numeric import indices i = indices(s) return (i[0] + i[1]) % 2 def xadrez4(s): # usando o iatile from ia636 import iatile from Numeric import array return iatile(array([[0,1],[1,0]]),s) def xadrez5(s): # usando fromfunction from Numeric import fromfunction def elementos(i,j): return (i+j)%2 a = fromfunction(elementos, s) return a def xadrez6(s): # cria duas linhas e faz o resize from Numeric import arange, array, resize r = arange(s[1]) % 2 linha = array([r, 1 - r]) ret = resize(linha, s) return ret def xadrez7(s): # using slices from Numeric import zeros a = zeros(s) a[::2,1::2]=1 a[1::2,::2]=1 return a def xadrezperf(s): from time import time funlist = (xadrez1,xadrez2,xadrez3,xadrez4,xadrez5,xadrez6,xadrez7) fundesc = ("pixel","grid" ,"indic","tile", "fromf","resize","slice") i=0 for fun in funlist: t1,f,t2 = time(), fun(s), time() print fun, fundesc[i], t2-t1," seconds" i = i+1