#!/usr/bin/python
# coding: utf-8
import nest
import nest.raster_plot
import numpy as np
import matplotlib.pyplot as plt
# simulation parameters
ganglionCells = 25*25
simTime = 1200.0
# Reset kernel and network
nest.ResetKernel()
nest.ResetNetwork()
# Number of threads (must be 1) and resolution (the same of the retina script)
nest.SetKernelStatus({"local_num_threads": 1,'resolution': 1.0})
# Install module just once
model = nest.Models(mtype='nodes',sel='corem')
if not model:
nest.Install("corem_module")
# Create spike detector and spiking nodes
mult = nest.Create('spike_detector',1)
spikingGanglion=nest.Create('iaf_psc_alpha',ganglionCells,{'E_L':-56.0})
nest.Connect(spikingGanglion,mult)
# COREM nodes
for i in range(0,ganglionCells):
g=nest.Create('corem',1,{'port':float(i),'file':"Retina_scripts/example_1.py"})
nest.Connect(g,[spikingGanglion[i]])
# Simulation
nest.Simulate(simTime)
# Raster plot
nest.raster_plot.from_device(mult,hist=False)
plt.show()