In [1]:
import matplotlib
from matplotlib import pylab
import cPickle
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np

'''Open the file  (uncomment the desired output)'''

#output = cPickle.load(open("Buffer_rotations_stimulus.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_connection_direct.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_connection_LIF.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_connection_two_ens_direct.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_connection_two_ens_LIF.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_two_ens_node_LIF.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_ensemble_array_LIF.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_with_scalar_one_ens_direct.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_with_scalar_one_ens_LIF.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_with_scalar_two_ens_direct.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_with_scalar_two_ens_LIF.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_ensemble_array_scalar_LIF.p", "rb"))
#output = cPickle.load(open("Buffer_manipulations_ensemble_array_scalar_LIF.p", "rb"))
#output = cPickle.load(open("Buffer_scale_ensemble_array_scalar_LIF_1.p", "rb"))

#output = cPickle.load(open("Buffer_rotations_connection_LIF_10000.p", "rb"))

#output = cPickle.load(open("Buffer_rotations_larger_images_32.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_larger_images_64.p", "rb"))

#output = cPickle.load(open("Buffer_rotations_in_connection_with_ens_arr_LIF.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_in_connection_with_ens_arr_direct.p", "rb"))


#output = cPickle.load(open("Buffer_rotations_in_connection_ensemble_array_direct.p", "rb"))
output = cPickle.load(open("Buffer_rotations_in_connection_ensemble_array_LIF_100.p", "rb"))


dim = 28

#%matplotlib inline

In [ ]:
'''Animation for Probe output'''
fig = plt.figure()

def updatefig(i):
    im = pylab.imshow(np.reshape([0. if x < 0.00001 else x for x in output[i]], (dim, dim), 'F'), cmap=plt.get_cmap('Greys_r'),
                  animated=True)
    return im,

ani = animation.FuncAnimation(fig, updatefig, interval=1, blit=True)
plt.show()

In [33]:
'''These ensembles have outputs including the scalar value, so each output must be resized '''
#output = cPickle.load(open("Buffer_rotations_with_scalar_resized_basis_direct.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_with_scalar_resized_basis_LIF.p", "rb"))

#output = cPickle.load(open("Buffer_rotations_in_connection_ensemble_array_scalar_direct.p", "rb"))
#output = cPickle.load(open("Buffer_rotations_in_connection_ensemble_array_scalar_LIF.p", "rb"))

In [34]:
'''For the ensemble with 28*28 +1 dimensions'''
'''Animation for Probe output'''
fig = plt.figure()

def updatefig(i):
    im = pylab.imshow(np.reshape([0. if x < 0.00001 else x for x in output[i][:-1]],
                                 (dim, dim), 'F'), cmap=plt.get_cmap('Greys_r'),animated=True)
    
    return im,

ani = animation.FuncAnimation(fig, updatefig, interval=1, blit=True)
plt.show()

In [13]:
'''These ensembles have outputs including 4 scalar values, so each output must be resized '''

#output = cPickle.load(open("Buffer_manipulations_in_connection_ensemble_array_scalar_direct.p", "rb"))
output = cPickle.load(open("Buffer_manipulations_in_connection_ensemble_array_scalar_LIF.p", "rb"))

In [14]:
'''For the ensemble with 28*28 +1 dimensions'''
'''Animation for Probe output'''
fig = plt.figure()

def updatefig(i):
    im = pylab.imshow(np.reshape([0. if x < 0.00001 else x for x in output[i][4:]],
                                 (dim, dim), 'F'), cmap=plt.get_cmap('Greys_r'),animated=True)
    
    return im,

ani = animation.FuncAnimation(fig, updatefig, interval=1, blit=True)
plt.show()


Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 1536, in __call__
    return self.func(*args)
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 587, in callit
    func(*args)
  File "C:\Python27\lib\site-packages\matplotlib\backends\backend_tkagg.py", line 147, in _on_timer
    TimerBase._on_timer(self)
  File "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", line 1305, in _on_timer
    ret = func(*args, **kwargs)
  File "C:\Python27\lib\site-packages\matplotlib\animation.py", line 1021, in _step
    still_going = Animation._step(self, *args)
  File "C:\Python27\lib\site-packages\matplotlib\animation.py", line 827, in _step
    self._draw_next_frame(framedata, self._blit)
  File "C:\Python27\lib\site-packages\matplotlib\animation.py", line 846, in _draw_next_frame
    self._draw_frame(framedata)
  File "C:\Python27\lib\site-packages\matplotlib\animation.py", line 1212, in _draw_frame
    self._drawn_artists = self._func(framedata, *self._args)
  File "<ipython-input-14-20e2650005de>", line 6, in updatefig
    im = pylab.imshow(np.reshape([0. if x < 0.00001 else x for x in output[i][4:]],
IndexError: index 3000 is out of bounds for axis 0 with size 3000