From b3265ee95bba96e5ea56569c1b5a418a812a4121 Mon Sep 17 00:00:00 2001 From: didihou <didi.hou@rwth-aachen.de> Date: Thu, 14 Sep 2023 01:34:42 +0200 Subject: [PATCH] / --- ...taneous_and_mean_firing_rates-checkpoint.py | 18 ++++++++++++++++++ ...lize_instantaneous_and_mean_firing_rates.py | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 figures/MAM2EBRAINS/.ipynb_checkpoints/M2E_visualize_instantaneous_and_mean_firing_rates-checkpoint.py create mode 100644 figures/MAM2EBRAINS/M2E_visualize_instantaneous_and_mean_firing_rates.py 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 0000000..6aa8b69 --- /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 0000000..6aa8b69 --- /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 -- GitLab