comparison transformations/Occlusion.py @ 144:c958941c1b9d

merge
author XavierMuller
date Tue, 23 Feb 2010 18:16:55 -0500
parents a507adba0ce3
children 72a2d431d047
comparison
equal deleted inserted replaced
143:f341a4efb44a 144:c958941c1b9d
9 bruit soit rajoute sur l'image originale, mais en plus pâle. 9 bruit soit rajoute sur l'image originale, mais en plus pâle.
10 10
11 Le fichier /data/lisa/data/ift6266h10/echantillon_occlusion.ft 11 Le fichier /data/lisa/data/ift6266h10/echantillon_occlusion.ft
12 (sur le reseau DIRO) est necessaire. 12 (sur le reseau DIRO) est necessaire.
13 13
14 Il y a 20% de chance d'avoir une occlusion quelconque. 14 Il y a 30% de chance d'avoir une occlusion quelconque.
15 15
16 Sylvain Pannetier Lebeuf dans le cadre de IFT6266, hiver 2010 16 Sylvain Pannetier Lebeuf dans le cadre de IFT6266, hiver 2010
17 17
18 ''' 18 '''
19 19
59 59
60 def get_settings_names(self): 60 def get_settings_names(self):
61 return ['haut','bas','gauche','droite','x_arrivee','y_arrivee','endroit','rajout','appliquer'] 61 return ['haut','bas','gauche','droite','x_arrivee','y_arrivee','endroit','rajout','appliquer']
62 62
63 def regenerate_parameters(self, complexity): 63 def regenerate_parameters(self, complexity):
64 self.haut=min(15,int(numpy.abs(numpy.random.normal(int(7*complexity),2)))) 64 self.haut=min(15,int(numpy.abs(numpy.random.normal(int(8*complexity),2))))
65 self.bas=min(15,int(numpy.abs(numpy.random.normal(int(7*complexity),2)))) 65 self.bas=min(15,int(numpy.abs(numpy.random.normal(int(8*complexity),2))))
66 self.gauche=min(15,int(numpy.abs(numpy.random.normal(int(7*complexity),2)))) 66 self.gauche=min(15,int(numpy.abs(numpy.random.normal(int(8*complexity),2))))
67 self.droite=min(15,int(numpy.abs(numpy.random.normal(int(7*complexity),2)))) 67 self.droite=min(15,int(numpy.abs(numpy.random.normal(int(8*complexity),2))))
68 if self.haut+self.bas+self.gauche+self.droite==0: #Tres improbable 68 if self.haut+self.bas+self.gauche+self.droite==0: #Tres improbable
69 self.haut=1 69 self.haut=1
70 self.bas=1 70 self.bas=1
71 self.gauche=1 71 self.gauche=1
72 self.droite=1 72 self.droite=1
73 73
74 #Ces deux valeurs seront controlees afin d'etre certain de ne pas depasser 74 #Ces deux valeurs seront controlees afin d'etre certain de ne pas depasser
75 self.x_arrivee=int(numpy.abs(numpy.random.normal(0,2))) #Complexity n'entre pas en jeu, pas besoin 75 self.x_arrivee=int(numpy.abs(numpy.random.normal(0,2))) #Complexity n'entre pas en jeu, pas besoin
76 self.y_arrivee=int(numpy.random.normal(0,3)) 76 self.y_arrivee=int(numpy.random.normal(0,3))
77 77
78 self.rajout=numpy.random.randint(0,self.longueur) #les bouts de quelle lettre 78 self.rajout=numpy.random.randint(0,self.longueur-1) #les bouts de quelle lettre
79 self.appliquer=numpy.random.binomial(1,0.2) ##### 20 % du temps, on met une occlusion ##### 79 self.appliquer=numpy.random.binomial(1,0.4) ##### 40 % du temps, on met une occlusion #####
80 80
81 if complexity == 0: #On ne fait rien dans ce cas 81 if complexity == 0: #On ne fait rien dans ce cas
82 self.applique=0 82 self.applique=0
83 83
84 self.endroit=numpy.random.randint(-1,2) 84 self.endroit=numpy.random.randint(-1,2)