1 from scipy import empty,mgrid,exp,arange
2 from pylab import figure,clf,subplot,imshow,title,gray,plot,show,savefig
3 from string import *
4
5 def gaussian(center, width):
6 """Returns a gaussian function"""
7 center_y,center_x=float(center[0]),float(center[1])
8 width_y,width_x=float(width[0]),float(width[1])
9 return lambda y,x: exp(-(((center_y-y)/width_y)**2+((center_x-x)/width_x)**2)/2)
10
11 Y,X=200,200
12 RGB=empty((Y,X,3),float)
13 D,J,K={ 'R':(0,0,0), 'G':(200,100,1), 'B':(0,200,2) },{},{}
14 x1,y1=arange(X),100
15 x2,y2=100,arange(Y)
16 figure(1)
17 for color in D.keys():
18 J[color] = gaussian(D[color][0:2], (100,100)) (y1,x1)
19 RGB[:,:,D[color][2]]=J[color]
20 plotcol=lower(color)
21 plot(x1,J[color],plotcol)
22 title('Schnitte durch y=100')
23 figure(2)
24 for color in D.keys():
25 K[color] = gaussian(D[color][0:2], (100,100)) (y2,x2)
26 RGB[:,:,D[color][2]]=K[color]
27 plotcol=lower(color)
28 plot(y2,K[color],plotcol)
29 title('Schnitte durch x=100')
30 show()