print('Resaving netpyne spike data to %s'%event_file) import tables # pytables for HDF5 support h5file=tables.open_file(event_file,mode='w') spike_grp = h5file.create_group("/", 'spikes') gids = netpyneSpkid spiketimes = netpyneSpkt # for nml_q in events: # nml_pop, nml_index = _get_nml_pop_id(nml_q) # (sonata_node, sonata_node_id) = sr.nml_ids_vs_gids[nml_pop][nml_index] # for t in events[nml_q]: # gids.append(sonata_node_id) # spiketimes.append(t*1000.0) h5file.create_array(spike_grp, 'gids', gids) h5file.create_array(spike_grp, 'timestamps', spiketimes) h5file.close() if plotSpikesUsingBMTK: from bmtk.analyzer.spike_trains import raster_plot raster_plot(rootFolder + '/network/internal_nodes.h5', rootFolder + '/network/internal_node_types.csv', rootFolder + '/output/spikes.h5', group_key='node_type_id', title='Simulator: NEURON via BMTK', save_as=None, show=0) ax = plt.gcf().get_axes()[0] ax.get_legend().remove() plt.savefig('bmtk_300_cells_raster.png', dpi=300) raster_plot(rootFolder + '/network/internal_nodes.h5', rootFolder + '/network/internal_node_types.csv', 'netpyne_spikes.h5', group_key='node_type_id', title='Simulator: NEURON via NetPyNE', save_as=None, show=0) ax = plt.gcf().get_axes()[0] ax.get_legend().remove() plt.savefig('netpyne_300_cells_raster.png', dpi=300)
from bmtk.analyzer.spike_trains import raster_plot raster_plot('network/cortex_nodes.h5', 'network/cortex_node_types.csv', 'output/spikes.h5')
from bmtk.analyzer.spike_trains import raster_plot, rates_plot import matplotlib.pyplot as plt raster_plot('network/ff_ff_nodes.h5', 'network/ff_ff_node_types.csv', 'PN_IClamp/output/spikes.h5', group_key='pop_name') plt.show()