Browse Source

added scale bar in max entropy rule

Paul Pfeiffer 3 years ago
parent
commit
3aed223185

+ 36 - 23
notebooks/2020-08-12-max-entropy-rule-schematics-with-real-input-map.ipynb

@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 2,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -12,7 +12,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 3,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -29,7 +29,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 4,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -40,7 +40,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -59,7 +59,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -69,7 +69,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 7,
    "metadata": {},
    "outputs": [
     {
@@ -98,7 +98,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 8,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -107,7 +107,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 9,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -116,7 +116,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 10,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -125,7 +125,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -135,7 +135,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -145,7 +145,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -155,7 +155,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -165,7 +165,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 15,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -181,7 +181,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": 16,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -190,7 +190,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -205,7 +205,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": 18,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -221,7 +221,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
+   "execution_count": 19,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -230,7 +230,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 19,
+   "execution_count": 20,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -239,7 +239,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 21,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -270,7 +270,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": 22,
    "metadata": {},
    "outputs": [
     {
@@ -363,12 +363,21 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 22,
+   "execution_count": 25,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from scripts.spatial_network.perlin.figure_utils import add_length_scale"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 36,
    "metadata": {},
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\n",
       "text/plain": [
        "<Figure size 113.386x90.7087 with 2 Axes>"
       ]
@@ -401,6 +410,9 @@
     "ax_map.xaxis.set_ticks([])\n",
     "ax_map.yaxis.set_ticks([])\n",
     "\n",
+    "add_length_scale(ax_map, 100, detail_x_high+30, detail_x_high+10+100, detail_y_low+40, detail_y_low+40)\n",
+    "\n",
+    "\n",
     "ax_dist = fig.add_axes([0.05+0.7*height/width+0.03, 0.375, 1-0.75*height/width-0.05-0.05-0.1, 0.27])\n",
     "n_circle, _, bars = ax_dist.hist(circular_tuning, bins=number_of_bins, range=(-np.pi, np.pi))\n",
     "for bar, bar_color in zip(bars, bar_colors):\n",
@@ -417,6 +429,7 @@
     "    ax.spines[\"bottom\"].set_linewidth(0.5)\n",
     "    ax.xaxis.set_ticks([])\n",
     "    ax.yaxis.tick_right()\n",
+    "    \n",
     "\n",
     "fig.savefig(\"../figures/figure_4_paper_perlin/B_ii_max_entropy_rule_circular_in.png\")\n",
     "    "

+ 24 - 0
scripts/spatial_network/perlin/figure_utils.py

@@ -0,0 +1,24 @@
+from matplotlib import pyplot as plt
+
+
+def remove_frame(ax, dirs=None):
+    if dirs is None:
+        dirs = ["right", "left", "top", "bottom"]
+    for dir in dirs:
+        ax.spines[dir].set_visible(False)
+
+
+def remove_ticks(ax):
+    ax.xaxis.set_ticks([])
+    ax.yaxis.set_ticks([])
+
+
+def add_length_scale(ax, scale_length, start_scale_x, end_scale_x, start_scale_y, end_scale_y):
+    scale_bar = ax.add_artist(plt.Line2D([start_scale_x, end_scale_x], [start_scale_y, end_scale_y], linewidth=2,
+                                            color='black'))
+    scale_bar.set_clip_on(False)
+    # axes[0].text(start_scale_x+scale_length/2.0, start_scale_y, , va="top",
+    # ha="center", color="k")
+    ax.annotate("{:.0f} um".format(scale_length), xy=(start_scale_x + scale_length / 2.0, start_scale_y),
+                   xytext=(0, -3),
+                   xycoords="data", textcoords="offset points", va="top", ha="center", annotation_clip=False)

+ 1 - 23
scripts/spatial_network/perlin/paper_figures_spatial_head_direction_network_perlin_map.py

@@ -13,6 +13,7 @@ from pypet.brian2 import Brian2MonitorResult
 
 from scripts.interneuron_placement import get_position_mesh, Pickle, get_correct_position_mesh
 from scripts.spatial_network.figures_spatial_head_direction_network_orientation_map import plot_hdi_in_space
+from scripts.spatial_network.perlin.figure_utils import remove_frame, remove_ticks, add_length_scale
 from scripts.spatial_network.perlin.run_entropy_maximisation_perlin_map import DATA_FOLDER, TRAJ_NAME
 
 plt.style.use('figures.mplstyle')
@@ -302,18 +303,6 @@ def short_labels(label):
     return label
 
 
-def remove_frame(ax, dirs=None):
-    if dirs is None:
-        dirs = ["right", "left", "top", "bottom"]
-    for dir in dirs:
-        ax.spines[dir].set_visible(False)
-
-
-def remove_ticks(ax):
-    ax.xaxis.set_ticks([])
-    ax.yaxis.set_ticks([])
-
-
 def plot_axonal_clouds(traj, plot_run_names):
     n_ex = int(np.sqrt(traj.N_E))
 
@@ -402,17 +391,6 @@ def get_neurons_close_to_given_position(cluster_position, number_of_neurons_in_c
     return selection
 
 
-def add_length_scale(ax, scale_length, start_scale_x, end_scale_x, start_scale_y, end_scale_y):
-    scale_bar = ax.add_artist(plt.Line2D([start_scale_x, end_scale_x], [start_scale_y, end_scale_y], linewidth=2,
-                                            color='black'))
-    scale_bar.set_clip_on(False)
-    # axes[0].text(start_scale_x+scale_length/2.0, start_scale_y, , va="top",
-    # ha="center", color="k")
-    ax.annotate("{:.0f} um".format(scale_length), xy=(start_scale_x + scale_length / 2.0, start_scale_y),
-                   xytext=(0, -3),
-                   xycoords="data", textcoords="offset points", va="top", ha="center", annotation_clip=False)
-
-
 def plot_orientation_maps_diff_scales(traj):
     n_ex = int(np.sqrt(traj.N_E))