filename = 'trash' if (len(sys.argv)<2) else sys.argv[1]
N = 20 if (len(sys.argv)<3) else int(sys.argv[2]) 
nframes = 1000 if (len(sys.argv)<4) else int(sys.argv[3])
zeta = 2
L = 0.8
a = np.zeros(N*N)
sigma = 0.001
gamma = 1.0
eta = 10.0
dt = 0.01
order = 2
alpha = 0.1
phi = 10

e = GaussianEnv(zeta,gamma,eta,L,N,-2.0,-2.0,4.0,4.0,sigma,order)
neuron = PoissonNeuron(np.random.normal(0.0,1.0,N*N),alpha*np.identity(N*N),phi,N)
lifneuron = IFNeuron(np.zeros(N),dt,1)

code = PoissonPlasticCode()

video = VideoSink((N,N),filename,rate = 25,byteorder = "Y8")

print "Now sampling and plotting...\n"

delete_them = []

gr = lambda x : (grayscale(x,-6.0,6.0))
vgr = np.vectorize(gr)
for i in range(0,nframes):
	plot = e.samplestep(dt)
from gaussianenv import GaussianEnv

emat = GaussianEnv(1.0,1.0,1.0,1.0,1,0.0,0.0,1.0,1.0,0.00001,2)
eou = GaussianEnv(1.0,1.0,1.0,1.0,1,0.0,0.0,1.0,1.0,0.00001,1)

ts = arange(0.0,4.0,0.01)

smat1 = []
sou1 = []

for i in ts:
	smat1.append(emat.samplestep(0.01))
	sou1.append(eou.samplestep(0.01))

smat1 = array(smat1).ravel()
sou1 = array(sou1).ravel()

emat.reset()
eou.reset()
	
smat2 = []
sou2 = []

for i in ts:
	smat2.append(emat.samplestep(0.01))
	sou2.append(eou.samplestep(0.01))

smat2 = array(smat2).ravel()
sou2 = array(sou2).ravel()

emat.reset()