Mercurial > ift6266
diff transformations/testtransformations.py @ 57:6846136b2201
Add a simple test script to see transformation step by step
author | Xavier Glorot <glorotxa@iro.umontreal.ca> |
---|---|
date | Sun, 07 Feb 2010 23:29:05 -0500 |
parents | |
children | 4407ab3f7805 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/transformations/testtransformations.py Sun Feb 07 23:29:05 2010 -0500 @@ -0,0 +1,85 @@ +#!/usr/bin/env python + + +from pylearn.io import filetensor as ft +import copy +import pygame +import time +import numpy as N + +#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 GIMPTransformation +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 = [Thick(),Slant(),AffineTransformation(), LocalElasticDistorter(), PermutPixel(), Rature(), BruitGauss(),PoivreSel(), Contrast()] + +###---------------------complexity associated to each of them +complexity = [0.6,0.7,0.5,0.4,0.1,0.5,0.03,0.03,0.5] + + +nbmodule = len(MODULE_INSTANCES) + +datapath = '/data/lisa/data/nist/by_class/' +f = open(datapath+'lower/lower_train_data.ft') +d = ft.read(f) + +d = d[0:1000,:]/255.0 + +pygame.surfarray.use_arraytype('numpy') + +pygame.display.init() +screen = pygame.display.set_mode((4*(nbmodule+1)*32,4*32+20),0,8) +anglcolorpalette=[(x,x,x) for x in xrange(0,256)] +screen.set_palette(anglcolorpalette) + +pygame.font.init() + +for i in range(10000): + a=d[i,:] + b=N.asarray(N.reshape(a,(32,32))) + c=N.asarray(N.reshape(a*255.0,(32,32))).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)) + + offset = 4*32 + ct = 0 + for j in MODULE_INSTANCES: + #max dilation + + #random + print j.get_settings_names(), j.regenerate_parameters(complexity[ct]) + + b=j.transform_image(b) + c=N.asarray(b*255).T + + new=pygame.surfarray.make_surface(c) + new=pygame.transform.scale2x(new) + new=pygame.transform.scale2x(new) + new.set_palette(anglcolorpalette) + screen.blit(new,(offset,0)) + font = pygame.font.SysFont('liberationserif',18) + text = font.render(j.__module__,0,(255,255,255),(0,0,0)) + screen.blit(text,(offset,4*32)) + offset += 4*32 + ct+=1 + pygame.display.update() + raw_input('Press Enter') + +pygame.display.quit()