diff --git a/figures/MAM2EBRAINS/.ipynb_checkpoints/M2E_visualize_instantaneous_and_mean_firing_rates-checkpoint.py b/figures/MAM2EBRAINS/.ipynb_checkpoints/M2E_visualize_instantaneous_and_mean_firing_rates-checkpoint.py new file mode 100644 index 0000000000000000000000000000000000000000..6aa8b694f6184c061fab85696d07a090a28ef238 --- /dev/null +++ b/figures/MAM2EBRAINS/.ipynb_checkpoints/M2E_visualize_instantaneous_and_mean_firing_rates-checkpoint.py @@ -0,0 +1,18 @@ +import numpy as np + +def plot_instan_mean_firing_rate(M): + # load spike data and calculate instantaneous and mean firing rates + data = np.loadtxt(M.simulation.data_dir + '/recordings/' + M.simulation.label + "-spikes-1-0.dat", skiprows=3) + tsteps, spikecount = np.unique(data[:,1], return_counts=True) + firing_rate = spikecount / M.simulation.params['dt'] * 1e3 / np.sum(M.N_vec) + + # visualize calculate instantaneous and mean firing rates + ax = pl.subplot() + ax.plot(tsteps, rate) + ax.plot(tsteps, np.average(rate)*np.ones(len(tsteps)), label='mean') + ax.set_title('Instantaneous and mean firing rate across all populations') + ax.set_xlabel('time (ms)') + ax.set_ylabel('firing rate (spikes / s)') + ax.set_xlim(0, M.simulation['t_sim']) + ax.set_ylim(0, 50) + ax.legend() \ No newline at end of file diff --git a/figures/MAM2EBRAINS/M2E_visualize_instantaneous_and_mean_firing_rates.py b/figures/MAM2EBRAINS/M2E_visualize_instantaneous_and_mean_firing_rates.py new file mode 100644 index 0000000000000000000000000000000000000000..6aa8b694f6184c061fab85696d07a090a28ef238 --- /dev/null +++ b/figures/MAM2EBRAINS/M2E_visualize_instantaneous_and_mean_firing_rates.py @@ -0,0 +1,18 @@ +import numpy as np + +def plot_instan_mean_firing_rate(M): + # load spike data and calculate instantaneous and mean firing rates + data = np.loadtxt(M.simulation.data_dir + '/recordings/' + M.simulation.label + "-spikes-1-0.dat", skiprows=3) + tsteps, spikecount = np.unique(data[:,1], return_counts=True) + firing_rate = spikecount / M.simulation.params['dt'] * 1e3 / np.sum(M.N_vec) + + # visualize calculate instantaneous and mean firing rates + ax = pl.subplot() + ax.plot(tsteps, rate) + ax.plot(tsteps, np.average(rate)*np.ones(len(tsteps)), label='mean') + ax.set_title('Instantaneous and mean firing rate across all populations') + ax.set_xlabel('time (ms)') + ax.set_ylabel('firing rate (spikes / s)') + ax.set_xlim(0, M.simulation['t_sim']) + ax.set_ylim(0, 50) + ax.legend() \ No newline at end of file