Mercurial > ift6266
view data_generation/pipeline/testtransformations.py @ 174:ff26436d42d6
Make data_generation.transformations importable and fixup test.py to not try some of the modules.
author | Arnaud Bergeron <abergeron@gmail.com> |
---|---|
date | Sat, 27 Feb 2010 12:18:26 -0500 |
parents | 5e0e5f1860ec |
children | 0de14b2034c6 |
line wrap: on
line source
#!/usr/bin/env python from pylearn.io import filetensor as ft import copy import pygame import time import numpy as N from ttf2jpg import ttf2jpg #from gimpfu import * from PoivreSel import PoivreSel from thick import Thick from BruitGauss import BruitGauss from DistorsionGauss import DistorsionGauss from PermutPixel import PermutPixel from gimp_script import GIMP1 from Rature import Rature from contrast import Contrast from local_elastic_distortions import LocalElasticDistorter from slant import Slant from Occlusion import Occlusion from add_background_image import AddBackground from affine_transform import AffineTransformation ###---------------------order of transformation module MODULE_INSTANCES = [Slant(),Thick(),AffineTransformation(),LocalElasticDistorter(),GIMP1(),Rature(),Occlusion(), PermutPixel(),DistorsionGauss(),AddBackground(), PoivreSel(), BruitGauss(), Contrast()] ###---------------------complexity associated to each of them complexity = 0.7 #complexity = [0.5]*len(MODULE_INSTANCES) #complexity = [0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.] n=100 def createimage(path,d): for i in range(n): screen.fill(0) a=d[i,:] off1=4*32 off2=0 for u in range(n): b=N.asarray(N.reshape(a,(32,32))) c=N.asarray([N.reshape(a*255.0,(32,32))]*3).T new=pygame.surfarray.make_surface(c) new=pygame.transform.scale2x(new) new=pygame.transform.scale2x(new) #new.set_palette(anglcolorpalette) screen.blit(new,(0,0)) exemple.blit(new,(0,0)) offset = 4*32 offset2 = 0 ct = 0 ctmp = N.random.rand()*complexity print u for j in MODULE_INSTANCES: #max dilation #ctmp = N.random.rand()*complexity[ct] ctmp = N.random.rand()*complexity #print j.get_settings_names(), j.regenerate_parameters(ctmp) th=j.regenerate_parameters(ctmp) b=j.transform_image(b) c=N.asarray([b*255]*3).T new=pygame.surfarray.make_surface(c) new=pygame.transform.scale2x(new) new=pygame.transform.scale2x(new) if u==0: #new.set_palette(anglcolorpalette) screen.blit(new,(offset,offset2)) font = pygame.font.SysFont('liberationserif',18) text = font.render('%s '%(int(ctmp*100.0)/100.0) + j.__module__,0,(255,255,255),(0,0,0)) #if j.__module__ == 'Rature': # text = font.render('%s,%s'%(th[-1],int(ctmp*100.0)/100.0) + j.__module__,0,(255,255,255),(0,0,0)) screen.blit(text,(offset,offset2+4*32)) if ct == len(MODULE_INSTANCES)/2-1: offset = 0 offset2 = 4*32+20 else: offset += 4*32 ct+=1 exemple.blit(new,(off1,off2)) if off1 != 9*4*32: off1+=4*32 else: off1=0 off2+=4*32 pygame.image.save(exemple,path+'/perimages/%s.PNG'%i) pygame.image.save(screen,path+'/exemples/%s.PNG'%i) nbmodule = len(MODULE_INSTANCES) pygame.surfarray.use_arraytype('numpy') #pygame.display.init() screen = pygame.Surface((4*(nbmodule+1)/2*32,2*(4*32+20)),depth=32) exemple = pygame.Surface((N.ceil(N.sqrt(n))*4*32,N.ceil(N.sqrt(n))*4*32),depth=32) anglcolorpalette=[(x,x,x) for x in xrange(0,256)] #pygame.Surface.set_palette(anglcolorpalette) #screen.set_palette(anglcolorpalette) pygame.font.init() d = N.zeros((n,1024)) datapath = '/data/lisa/data/ocr_breuel/filetensor/unlv-corrected-2010-02-01-shuffled.ft' f = open(datapath) d = ft.read(f) d = d[0:n,:]/255.0 createimage('/u/glorotxa/transf/OCR',d) datapath = '/data/lisa/data/nist/by_class/' f = open(datapath+'digits_reshuffled/digits_reshuffled_train_data.ft') d = ft.read(f) d = d[0:n,:]/255.0 createimage('/u/glorotxa/transf/NIST_digits',d) datapath = '/data/lisa/data/nist/by_class/' f = open(datapath+'upper/upper_train_data.ft') d = ft.read(f) d = d[0:n,:]/255.0 createimage('/u/glorotxa/transf/NIST_upper',d) from Facade import * for i in range(n): d[i,:]=N.asarray(N.reshape(generateCaptcha(0.8,0),(1,1024))/255.0,dtype='float32') createimage('/u/glorotxa/transf/capcha',d) for i in range(n): myttf2jpg = ttf2jpg() d[i,:]=N.reshape(myttf2jpg.generate_image()[0],(1,1024)) createimage('/u/glorotxa/transf/fonts',d) datapath = '/data/lisa/data/nist/by_class/' f = open(datapath+'lower/lower_train_data.ft') d = ft.read(f) d = d[0:n,:]/255.0 createimage('/u/glorotxa/transf/NIST_lower',d) #pygame.display.quit()