Changeset 219
- Timestamp:
- 10/16/08 18:18:38 (3 months ago)
- Files:
-
- trunk/examples/retina/retina.py (modified) (4 diffs)
- trunk/examples/single_neuron/simple_single_neuron.py (modified) (5 diffs)
- trunk/src/plotting.py (modified) (2 diffs)
- trunk/src/signals.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/examples/retina/retina.py
r211 r219 85 85 86 86 import pyNN.nest2 as sim 87 from NeuroTools.signals import load SpikeList87 from NeuroTools.signals import load_spikelist 88 88 import os, tempfile 89 89 import numpy … … 233 233 234 234 # TODO LUP get out_ON_DATA on a 2D grid independantly of out_ON.cell.astype(int) 235 out_ON_DATA = load SpikeList(out_ON_filename,range(N),235 out_ON_DATA = load_spikelist(out_ON_filename,range(N), 236 236 t_start=0.0, t_stop=params['simtime']) 237 out_OFF_DATA = load SpikeList(out_OFF_filename,range(N),237 out_OFF_DATA = load_spikelist(out_OFF_filename,range(N), 238 238 t_start=0.0, t_stop=params['simtime']) 239 239 … … 255 255 print("Simulation time : %g s" % simCPUTime) 256 256 print("Writing time : %g s" % writeCPUTime) 257 ##TODO return out in the object 257 258 258 return out 259 #return out_ON_DATA, out_OFF_DATA #, out_ON 260 261 def show(self, out): 262 263 import pylab 264 import matplotlib.axes3d as p3 265 fig=pylab.figure() 266 ax = p3.Axes3D(fig) 267 ax.set_ylim([0,self.params['N']]) 268 ax.set_zlim([0,self.params['N']]) 269 270 271 # scatter3D requires a 1D array for x, y, and z 272 # ravel() converts the 100x100 array into a 1x10000 array 273 274 for c,data in [('r','out_OFF_DATA'),('b','out_ON_DATA')]: 275 out_DATA=out[data].as_list_id_list_time() 276 # converting back to indices 277 x = self.params['position'][0][out_DATA[0]] # numpy.mod(out_DATA[0],self.params['N']) 278 y = self.params['position'][1][out_DATA[0]] #numpy.floor(numpy.array(out_DATA[0])/self.params['N']) 279 t = out_DATA[1] 280 ax.scatter3D(t,x,y, c = c) 281 282 283 ## out_DATA=out_OFF_DATA.as_list_id_list_time() 284 ## x = numpy.mod(out_DATA[0],self.params['N']) 285 ## y = numpy.floor(numpy.array(out_DATA[0])/self.params['N']) 286 ## t = out_DATA[1] 287 ## ax.scatter3D(t,x,y, c ='r') 288 ## out_DATA=out_ON_DATA.as_list_id_list_time() 289 ## x = numpy.mod(out_DATA[0],self.params['N']) 290 ## y = numpy.floor(numpy.array(out_DATA[0])/self.params['N']) 291 ## t = out_DATA[1] 292 ## ax.scatter3D(t,x,y, c ='b') 293 294 ax.set_xlabel('time') 295 ax.set_ylabel('X') 296 ax.set_zlabel('Y') 297 ax.set_xlim([0,self.params['simtime']]) 298 pylab.show() 299 #### spike_time=numpy.cumsum(out_ON_DATA[:,0]) * ret.params['dt'] 300 ## out_ON_DATA=numpy.array(out['out_ON_DATA']) 301 #### neuron_id=out_ON_DATA[:,1] 302 #### pylab.plot(spike_time,neuron_id,'.r') 303 #### pylab.axis([0, ret.params['simtime'], 0, ret.params['N']**2 -1]) 304 #### out_OFF_DATA=numpy.array(out['out_OFF_DATA']) 305 #### spike_time=numpy.cumsum(out_OFF_DATA[:,0]) * ret.params['dt'] 306 #### neuron_id=out_OFF_DATA[:,1] 307 #### pylab.plot(spike_time,neuron_id,'.b') # TODO 3D plot 308 #### pylab.axis('tight') 309 #### pylab.xlabel('time') 310 #### pylab.ylabel('spike #') 311 #### #pylab.show() 312 ## import matplotlib.axes3d as p3 313 ## from NeuroTools.analysis import spikelist2spikematrix 314 ## spikematrix = spikelist2spikematrix(out['out_ON_DATA'], 315 ## ret.params['N'],ret.params['simtime']/ ret.params['dt'],1) 316 ## pylab.show() 259 317 260 318 261 if __name__ == '__main__': … … 323 266 #ret.params['snr'] = 5.0 324 267 out = ret.run(ret.params) 325 ret.show(out) #(ret.params)268 out['ON'].raster_plot() 326 269 327 270 """ trunk/examples/single_neuron/simple_single_neuron.py
r215 r219 23 23 import pyNN.nest2 as sim 24 24 # the link to read SpikeList files with NeuroTools 25 from NeuroTools.signals import load SpikeList25 from NeuroTools.signals import load_spikelist 26 26 # using parameters utility 27 27 from NeuroTools.parameters import ParameterSet … … 78 78 79 79 N = params.N 80 #dc_generator TODO : does not exist in pyNN! 81 input = sim.Population(N,'dc_generator') 82 input.set({ 'start' : params.simulation.simtime/4, 'stop' : params.simulation.simtime/4*3}) 83 input.set('amplitude', params.snr) 80 #dc_generator 81 current_source = sim.DCSource( amplitude= params.snr, 82 start=params.simulation.simtime/4, 83 stop=params.simulation.simtime/4*3) 84 84 85 85 86 # internal noise model TODO : does not exist in pyNN! … … 95 96 96 97 # Connecting the network 97 proj = sim.Projection(input, output, 'oneToOne')98 proj.setWeights(params.weight)99 98 noise_proj = sim.Projection(noise, output, 'oneToOne') 100 99 noise_proj.setWeights(params.weight) 100 101 for cell in output: 102 cell.inject(current_source) 101 103 102 104 output.record() … … 116 118 output_filename=os.path.join(tmpdir,'output.gdf') 117 119 output.printSpikes(output_filename)# 118 output_DATA = load SpikeList(output_filename,N,120 output_DATA = load_spikelist(output_filename,N, 119 121 t_start=0.0, t_stop=params.simulation.simtime) 120 122 writeCPUTime = Timer.elapsedTime() … … 139 141 myFibers = FiberChannel() 140 142 spikes = myFibers.run(myFibers.params) 141 from NeuroTools.plotting import raster_plot 142 raster_plot(spikes) 143 spikes.raster_plot() 143 144 import pylab 144 145 pylab.show() trunk/src/plotting.py
r215 r219 13 13 """ 14 14 This functions calls some parameters to properly print figures for your papers. 15 See http://www.scipy.org/Cookbook/Matplotlib/UsingTex 15 16 16 17 fig_width_pt # Get this from LaTeX using \showthe\columnwidth 18 17 19 18 20 ratio : ratio between the height and the width of the figure … … 28 30 29 31 params = { 30 #'axes.labelsize': text_fontsize,31 #'text.fontsize': text_fontsize,32 #'xtick.labelsize': tick_labelsize,33 #'ytick.labelsize': tick_labelsize,32 'axes.labelsize': text_fontsize, 33 'text.fontsize': text_fontsize, 34 'xtick.labelsize': tick_labelsize, 35 'ytick.labelsize': tick_labelsize, 34 36 'text.usetex':False, ##True, ## problem with svg output resolved in latest matplotlib 35 37 'figure.figsize': fig_size} trunk/src/signals.py
r217 r219 661 661 662 662 See also 663 SpikeList, load SpikeList663 SpikeList, load_spikelist 664 664 """ 665 665 self.t_start = t_start

