diff --git a/.ipynb_checkpoints/multi-area-model-checkpoint.ipynb b/.ipynb_checkpoints/multi-area-model-checkpoint.ipynb index 2829e1f7c4c42d51fcc0d5d5384aa66a2cff86cd..0961901a1d00bb5399d0d3411c03f2326e3bd98b 100644 --- a/.ipynb_checkpoints/multi-area-model-checkpoint.ipynb +++ b/.ipynb_checkpoints/multi-area-model-checkpoint.ipynb @@ -824,36 +824,35 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 48, "id": "721d1f03-df25-468d-8075-a807025a9c58", "metadata": {}, "outputs": [ { - "ename": "NameError", - "evalue": "name 'A' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn [16], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m plot_time_averaged_population_rates(A)\n", - "\u001b[0;31mNameError\u001b[0m: name 'A' is not defined" + "name": "stdout", + "output_type": "stream", + "text": [ + "loading spikes\n", + "Loading data from file\n" ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 864x576 with 2 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" } ], "source": [ "plot_time_averaged_population_rates(M)" ] }, - { - "cell_type": "markdown", - "id": "b03d44e8-2216-44ff-ada4-83e9c3e6d30a", - "metadata": {}, - "source": [ - "|Area index|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|\n", - "|:--------:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|\n", - "|Area |V1|V2|VP|V3|PIP|V3A|MT|V4t|V4|PO|VOT|DP|MIP|MDP|MSTd|VIP|LIP|PITv|PITd|AITv|MSTl|FST|CITv|CITd|7a|STPp|STPa|FEF|46|TF|TH|AITd| " - ] - }, { "cell_type": "markdown", "id": "ef74ca3e-98dc-49c9-a4a0-2c640e29b1d9", diff --git a/figures/MAM2EBRAINS/.ipynb_checkpoints/M2E_visualize_time_ave_pop_rates-checkpoint.py b/figures/MAM2EBRAINS/.ipynb_checkpoints/M2E_visualize_time_ave_pop_rates-checkpoint.py index 0e3c11f0bf6cb55dbcf3c743b28cdba9e2a04d49..63ef51cc6bd6b54317e8eac0309340e2402a7369 100644 --- a/figures/MAM2EBRAINS/.ipynb_checkpoints/M2E_visualize_time_ave_pop_rates-checkpoint.py +++ b/figures/MAM2EBRAINS/.ipynb_checkpoints/M2E_visualize_time_ave_pop_rates-checkpoint.py @@ -1,11 +1,9 @@ -import numpy as np -# Time-averaged population rates -# An overview over time-averaged population rates encoded in colors with areas along x-axis and populations along y-axis. +from multiarea_model import Analysis +import matplotlib.pyplot as plt +from matplotlib.colors import LogNorm +from matplotlib.ticker import FixedLocator -# def plot_time_averaged_population_rates(M, A): -# A.show_rates() - -def plot_time_averaged_population_rates(M): +def plot_time_averaged_population_rates(M, area_list=None, **keywords): """ Plot overview over time-averaged population rates encoded in colors with areas along x-axis and populations along y-axis. @@ -18,24 +16,31 @@ def plot_time_averaged_population_rates(M): output : {'pdf', 'png', 'eps'}, optional If given, the function stores the plot to a file of the given format. """ - area_list = None + + A = Analysis(network=M, + simulation=M.simulation, + data_list=['spikes'], + load_areas=None) + + A.create_pop_rates() + if area_list is None: area_list = ['V1', 'V2', 'VP', 'V3', 'PIP', 'V3A', 'MT', 'V4t', 'V4', 'PO', 'VOT', 'DP', 'MIP', 'MDP', 'MSTd', 'VIP', 'LIP', 'PITv', 'PITd', 'AITv', 'MSTl', 'FST', 'CITv', 'CITd', '7a', 'STPp', 'STPa', 'FEF', '46', 'TF', 'TH', 'AITd'] - matrix = np.zeros((len(area_list), len(M.network.structure['V1']))) + matrix = np.zeros((len(area_list), len(A.network.structure['V1']))) - fig = plt.figure(figsize=(6, 4)) + fig = plt.figure(figsize=(12, 8)) ax = fig.add_subplot(111) for i, area in enumerate(area_list): # print(i, area) - # for j, pop in enumerate(M.network.structure_reversed['V1']): - for j, pop in enumerate(M.network.structure['V1']): - if pop in M.network.structure[area]: - rate = M.pop_rates[area][pop][0] + # for j, pop in enumerate(A.network.structure_reversed['V1']): + for j, pop in enumerate(A.network.structure['V1'][::-1]): + if pop in A.network.structure[area]: + rate = A.pop_rates[area][pop][0] if rate == 0.0: rate = 1e-5 # To distinguish zero-rate from non-existing populations else: @@ -60,15 +65,16 @@ def plot_time_averaged_population_rates(M): x_index = np.arange(4.5, 31.6, 5.0) x_ticks = [int(a + 0.5) for a in x_index] - y_index = list(range(len(M.network.structure['V1']))) + y_index = list(range(len(A.network.structure['V1']))) y_index = [a + 0.5 for a in y_index] - # print(M.network.structure['V1']) - ax.set_xticks(x_index) + # print(A.network.structure['V1']) + # ax.set_xticks(x_index) + ax.set_xticks([i + 0.5 for i in np.arange(0, len(area_list), 1)]) # ax.set_xticklabels(x_ticks) - ax.set_xticklabels(area_list) + ax.set_xticklabels(area_list, rotation=90, size=10.) ax.set_yticks(y_index) - # ax.set_yticklabels(M.network.structure_reversed['V1']) - ax.set_yticklabels(M.network.structure['V1']) + # ax.set_yticklabels(A.network.structure_reversed['V1']) + ax.set_yticklabels(A.network.structure['V1'][::-1]) ax.set_ylabel('Population', size=18) ax.set_xlabel('Area index', size=18) t = FixedLocator([0.01, 0.1, 1., 10., 100.]) @@ -76,7 +82,7 @@ def plot_time_averaged_population_rates(M): plt.colorbar(im, ticks=t) if 'output' in keywords: - plt.savefig(os.path.join(M.output_dir, '{}_rates.{}'.format(M.simulation.label, + plt.savefig(os.path.join(A.output_dir, '{}_rates.{}'.format(A.simulation.label, keywords['output']))) else: - fig.show() + fig.show() \ No newline at end of file diff --git a/figures/MAM2EBRAINS/M2E_visualize_time_ave_pop_rates.py b/figures/MAM2EBRAINS/M2E_visualize_time_ave_pop_rates.py index 0e3c11f0bf6cb55dbcf3c743b28cdba9e2a04d49..63ef51cc6bd6b54317e8eac0309340e2402a7369 100644 --- a/figures/MAM2EBRAINS/M2E_visualize_time_ave_pop_rates.py +++ b/figures/MAM2EBRAINS/M2E_visualize_time_ave_pop_rates.py @@ -1,11 +1,9 @@ -import numpy as np -# Time-averaged population rates -# An overview over time-averaged population rates encoded in colors with areas along x-axis and populations along y-axis. +from multiarea_model import Analysis +import matplotlib.pyplot as plt +from matplotlib.colors import LogNorm +from matplotlib.ticker import FixedLocator -# def plot_time_averaged_population_rates(M, A): -# A.show_rates() - -def plot_time_averaged_population_rates(M): +def plot_time_averaged_population_rates(M, area_list=None, **keywords): """ Plot overview over time-averaged population rates encoded in colors with areas along x-axis and populations along y-axis. @@ -18,24 +16,31 @@ def plot_time_averaged_population_rates(M): output : {'pdf', 'png', 'eps'}, optional If given, the function stores the plot to a file of the given format. """ - area_list = None + + A = Analysis(network=M, + simulation=M.simulation, + data_list=['spikes'], + load_areas=None) + + A.create_pop_rates() + if area_list is None: area_list = ['V1', 'V2', 'VP', 'V3', 'PIP', 'V3A', 'MT', 'V4t', 'V4', 'PO', 'VOT', 'DP', 'MIP', 'MDP', 'MSTd', 'VIP', 'LIP', 'PITv', 'PITd', 'AITv', 'MSTl', 'FST', 'CITv', 'CITd', '7a', 'STPp', 'STPa', 'FEF', '46', 'TF', 'TH', 'AITd'] - matrix = np.zeros((len(area_list), len(M.network.structure['V1']))) + matrix = np.zeros((len(area_list), len(A.network.structure['V1']))) - fig = plt.figure(figsize=(6, 4)) + fig = plt.figure(figsize=(12, 8)) ax = fig.add_subplot(111) for i, area in enumerate(area_list): # print(i, area) - # for j, pop in enumerate(M.network.structure_reversed['V1']): - for j, pop in enumerate(M.network.structure['V1']): - if pop in M.network.structure[area]: - rate = M.pop_rates[area][pop][0] + # for j, pop in enumerate(A.network.structure_reversed['V1']): + for j, pop in enumerate(A.network.structure['V1'][::-1]): + if pop in A.network.structure[area]: + rate = A.pop_rates[area][pop][0] if rate == 0.0: rate = 1e-5 # To distinguish zero-rate from non-existing populations else: @@ -60,15 +65,16 @@ def plot_time_averaged_population_rates(M): x_index = np.arange(4.5, 31.6, 5.0) x_ticks = [int(a + 0.5) for a in x_index] - y_index = list(range(len(M.network.structure['V1']))) + y_index = list(range(len(A.network.structure['V1']))) y_index = [a + 0.5 for a in y_index] - # print(M.network.structure['V1']) - ax.set_xticks(x_index) + # print(A.network.structure['V1']) + # ax.set_xticks(x_index) + ax.set_xticks([i + 0.5 for i in np.arange(0, len(area_list), 1)]) # ax.set_xticklabels(x_ticks) - ax.set_xticklabels(area_list) + ax.set_xticklabels(area_list, rotation=90, size=10.) ax.set_yticks(y_index) - # ax.set_yticklabels(M.network.structure_reversed['V1']) - ax.set_yticklabels(M.network.structure['V1']) + # ax.set_yticklabels(A.network.structure_reversed['V1']) + ax.set_yticklabels(A.network.structure['V1'][::-1]) ax.set_ylabel('Population', size=18) ax.set_xlabel('Area index', size=18) t = FixedLocator([0.01, 0.1, 1., 10., 100.]) @@ -76,7 +82,7 @@ def plot_time_averaged_population_rates(M): plt.colorbar(im, ticks=t) if 'output' in keywords: - plt.savefig(os.path.join(M.output_dir, '{}_rates.{}'.format(M.simulation.label, + plt.savefig(os.path.join(A.output_dir, '{}_rates.{}'.format(A.simulation.label, keywords['output']))) else: - fig.show() + fig.show() \ No newline at end of file diff --git a/multi-area-model.ipynb b/multi-area-model.ipynb index 2829e1f7c4c42d51fcc0d5d5384aa66a2cff86cd..0961901a1d00bb5399d0d3411c03f2326e3bd98b 100644 --- a/multi-area-model.ipynb +++ b/multi-area-model.ipynb @@ -824,36 +824,35 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 48, "id": "721d1f03-df25-468d-8075-a807025a9c58", "metadata": {}, "outputs": [ { - "ename": "NameError", - "evalue": "name 'A' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn [16], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m plot_time_averaged_population_rates(A)\n", - "\u001b[0;31mNameError\u001b[0m: name 'A' is not defined" + "name": "stdout", + "output_type": "stream", + "text": [ + "loading spikes\n", + "Loading data from file\n" ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 864x576 with 2 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" } ], "source": [ "plot_time_averaged_population_rates(M)" ] }, - { - "cell_type": "markdown", - "id": "b03d44e8-2216-44ff-ada4-83e9c3e6d30a", - "metadata": {}, - "source": [ - "|Area index|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|\n", - "|:--------:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|\n", - "|Area |V1|V2|VP|V3|PIP|V3A|MT|V4t|V4|PO|VOT|DP|MIP|MDP|MSTd|VIP|LIP|PITv|PITd|AITv|MSTl|FST|CITv|CITd|7a|STPp|STPa|FEF|46|TF|TH|AITd| " - ] - }, { "cell_type": "markdown", "id": "ef74ca3e-98dc-49c9-a4a0-2c640e29b1d9",