import matplotlib
import pylab
import numpy
import NeuroTools.signals as signals
def visalloc():
for it in [60]:
for nm in [10,19]:
for nbranches in range(10, 60, 16):
coss = numpy.zeros((nm, nm))
pcos = numpy.zeros((nm, nm))
pat = numpy.genfromtxt("./data/alloc/p_m%di%db%d.dat"%(nm, it, nbranches))
ar = numpy.genfromtxt("./data/alloc/r_m%di%db%d.dat"%(nm, it, nbranches))
ar = ar[:, 0:64];
scx = []
scy = []
for i in range(nm):
for j in range(i+1):
s1 = numpy.sqrt(numpy.dot(ar[i], ar[i]))
s2 = numpy.sqrt(numpy.dot(ar[j], ar[j]))
coss[i][j] = numpy.dot(ar[i], ar[j]) / (s1*s2)
s1 = numpy.sqrt(numpy.dot(pat[i], pat[i]))
s2 = numpy.sqrt(numpy.dot(pat[j], pat[j]))
pcos[i][j] = numpy.dot(pat[i], pat[j]) / (s1*s2)
scx.append( pcos[i][j])
scy.append( coss[i][j])
pylab.figure()
pylab.title(" Mems %d intvl %d branches %d" %(nm, it, nbranches));
pylab.imshow(coss , interpolation='nearest', aspect='auto',cmap='hot')
pylab.imshow(pcos , interpolation='nearest', aspect='auto',cmap='hot')
pylab.colorbar();
pylab.savefig("cos_%di%db%d.png"%(nm, it, nbranches));
#pylab.scatter(scx, scy)
#pylab.title("m %d i %d B%d"%(nm, it, nbranches));
#pylab.xlabel("Input Pattern similarity ")
#pylab.ylabel("Firing pattern similarity ")
#pylab.savefig("bn_%di%db%d.png"%(nm, it, nbranches));
pylab.show()
def spikestats():
ff = open('./data/0/spikes.dat', 'r')
fdata = ff.readlines()
lst = []
nid=0
for l in fdata:
ar = numpy.fromstring(l, sep=' ')
for a in ar:
lst.append( (nid, a))
nid += 1
slist = signals.SpikeList(lst, range(0,nid))
slist.raster_plot()
#pylab.figure()
#pylab.imshow(spraster , interpolation='nearest', aspect='auto',cmap='hot')
#pp = numpy.correlate(spraster[100, :], spraster[102,:], 'full');
#print pp;
#pylab.plot(pp)
pylab.show()
def printltp():
lar = numpy.genfromtxt('/tmp/eltp.dat')
lar = lar.transpose()
pylab.figure();
print len(lar);
labels = ['Induction', 'ELTP', 'Rb', 'Pb', 'Rn', 'Pn','iltp', 'W', 'T']
for i in range(len(lar)):
if ( i != 6):
pylab.plot(lar[i, :], label=labels[i])
pylab.legend()
mmax = len(lar[0, :])
tstep = 50
th = 3600/tstep
locs, labels = pylab.xticks( numpy.arange(0, mmax, th), numpy.arange(0, mmax/th, 1))
#pylab.plot(lar[1, :] + lar[3, :])
pylab.show()
spikestats()