{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import scipy as sp\n",
"import os, sys,glob, copy\n",
"import pandas as pd\n",
"\n",
"import matplotlib.pyplot as plt\n",
"plt.style.use('default')\n",
"%matplotlib inline\n",
"import seaborn as sns"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"## check email from Jonathan in Jim's lab\n",
"## activate newbase\n",
"#from brainio_collection import get_assembly, get_stimulus_set, list_assemblies, list_stimulus_sets\n",
"#list_assemblies()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/xiaoxuanj/anaconda/envs/newbase/lib/python3.6/site-packages/brainio_base-0.1.0-py3.6.egg/brainio_base/assemblies.py:218: FutureWarning: The inplace argument has been deprecated and will be removed in a future version of xarray.\n",
" xr_data.set_index(append=True, inplace=True, **coords_d)\n"
]
}
],
"source": [
"#hvm = get_assembly(\"dicarlo.MajajHong2015\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# load IT neural data\n",
"IT = np.load('/Users/xiaoxuanj/Dropbox/jim_unsupervised_learning_paper/save_HvM/IT.npy')\n",
"V0_rep = np.load('/Users/xiaoxuanj/Dropbox/jim_unsupervised_learning_paper/save_HvM/IT_v0_rep.npy')\n",
"#V3_rep = np.load('/Users/xiaoxuanj/Dropbox/jim_unsupervised_learning_paper/save_HvM/IT_v3_rep.npy')\n",
"#V6_rep = np.load('/Users/xiaoxuanj/Dropbox/jim_unsupervised_learning_paper/save_HvM/IT_v6_rep.npy')\n",
"\n",
"meta = pd.read_csv('/Users/xiaoxuanj/Dropbox/jim_unsupervised_learning_paper/save_HvM/meta_hvm.csv', index_col=0)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(5760, 168)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"IT.shape"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([2.54000e+02, 1.84020e+04, 4.51984e+05, 4.41774e+05, 4.76370e+04,\n",
" 6.28900e+03, 1.10200e+03, 1.99000e+02, 3.30000e+01, 6.00000e+00]),\n",
" array([-1.9345212 , -1.3019805 , -0.6694397 , -0.03689895, 0.5956418 ,\n",
" 1.2281826 , 1.8607233 , 2.493264 , 3.125805 , 3.7583456 ,\n",
" 4.3908863 ], dtype=float32),\n",
" <a list of 10 Patch objects>)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.hist(IT.flatten())"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# distribution of variance\n",
"obj = np.unique(meta['obj'])\n",
"var = []\n",
"for o in obj:\n",
" var.append(np.std(IT[(meta['obj']==o) & (meta['var']=='V0')],axis=0))\n",
"var = np.array(var)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.axis.YTick at 0x7fc12a223588>,\n",
" <matplotlib.axis.YTick at 0x7fc12a212f28>,\n",
" <matplotlib.axis.YTick at 0x7fc12a208710>,\n",
" <matplotlib.axis.YTick at 0x7fc123f39630>]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x302.4 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# variance across background/examplars\n",
"fig = plt.figure(figsize = (6,4.2))\n",
"ax = fig.add_subplot(111)\n",
"\n",
"plt.hist(var.flatten(),np.linspace(0,1,20),color='gray')\n",
"plt.xlabel('Variance caused by background',fontsize=16)\n",
"plt.ylabel('Number of sites',fontsize=16)\n",
"plt.title('All neurons, all objects',fontsize=16)\n",
"\n",
"plt.plot([np.median(var.flatten()),np.median(var.flatten())], [0,3000],'k', linestyle='dashed',label='Mean')\n",
"plt.xlim(0,1)\n",
"plt.ylim(0,3000)\n",
"ax.tick_params(axis='y', direction='out')\n",
"ax.tick_params(axis='x', direction='out')\n",
"ax.set_xticks([0,0.5,1])\n",
"ax.set_yticks([0,1000,2000,3000])"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"10752"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(var.flatten())"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"10752"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"168*64"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.27901785714285715"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"3000/(168*64)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.90405893\n"
]
},
{
"data": {
"text/plain": [
"(0.0, 0.3)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAd0AAAE0CAYAAABpdukkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3debxVZdn/8c8XcEBFnAAVxDknih4hHOpR0EpyLkstg0zNrMhILQ3NqXJ4srLScuBn5ZA5G5nhkEEDmopp4YCRUwgGioGzDNfvj3sd2G7OcB/Yw9mb7/v12q+z97rvtdZ11llw7bXWPSgiMDMzs+rrVu8AzMzMVhVOumZmZjXipGtmZlYjTrpmZmY14qRrZmZWI066ZmZmNeKka2ZmViNOumZmZjWSlXQlbSRpYNmyz0v6saT9qxOamZlZc1HOiFSSJgAzI+KLxedvAmcBLwPrAZ+KiOuqGaiZmVmjy729PBT4fcnn44BzImJD4GLghEoHZmZm1mxyk+4GwH8AJA0CNgZ+UZTdCmxX+dDMzMyaS27SfQkYULzfC5gVEf8sPq/Wie2YmZmtsnpk1rsbOFPSRsCJpKvbFtsDz1Y6MDMzs2aT25CqH3A1sCvwAHBoRLxYlN0PTI2IL1QzUDMzs0aXlXTb3YC0LvBmRLxdmZDMzMya00onXTMzM8uT+0wXSXsCnwQGAmuWFUdE7F3JwMzMzJpNVtKV9Hngp6RWzP8E3iqvUuG4zMzMmk5uQ6ongfuBo/zs1szMbMXk9q/tD/zMCdfMzGzF5SbdqcBW1QzEzMys2eUm3eOBsZL2qGYwZmZmzSz3me6/gXWBdYDXSbMLlYqI2Lzy4ZmZmTWP3C5DvwfcodfMzGwleHAMMzOzGvHsQGZmZjWSnXQlvVvSjZLmSlokaY6k6yW9u5oBmpmZNYvchlTvAyYDbwATgBdIE9kfAPQE9oiIqVWM08zMrOHlJt27Sa2X946IV0qW9yLNtTs/Ij5ctSjNzMyaQO7t5V2Bc0sTLkDx+Xxgt0oHZmZm1mxyk25Hl8NuAm1mZtaB3KT7V2BccTt5KUlrAycD9+XuUNJISdMlzZB0SivlB0n6u6SHJT0o6QO565qZmXVluc90hwGTgDeB24DZpIZU+5EaUg2PiAcyttMdeBL4EDATeAD4ZEQ8VlJnHeC1iAhJ7wGuj4jtc9Y1MzPryrKudCPifmAX4B5gH+AEYGTxedechFsYBsyIiKeKGYt+BRxUtq9XY9k3gbVZduu6w3XNzMy6sg6HgZS0OvAF4PcR8fGV3F9/4N8ln2eSknn5Pj8KnAv0JV1NZ69brH8scCzA2muvPWT77bdfybDNlvf222mmy9VXX73OkZhV1tSpU1+MiD4ruY2+PXr0GA8MYtUZiGkJMG3RokXHDBkyZE5rFTpMuhHxtqTzSFe4K0ut7aKVfd4C3FLMavQt4IO56xbrXwZcBjB06NB48MEHVzhgs7YMHz4cgEmTJtU1DrNKk/Tsym6jR48e4zfeeOMd+vTp83K3bt1Wica2S5Ys0dy5c3d84YUXxgMHtlYn99vH41RmPt2ZwGYlnwcAs9qqHBF/BLaWtFFn1zUzs7oa1KdPnwWrSsIF6NatW/Tp02c+6eq+9TqZ2zod+GYFhnx8ANhW0pbFbevDSSNcLSVpG0kq3u8MrA68lLOumZl1Gd1WpYTbovid28ytuVP7nUyaS/dvkp4htV4uPZgREXt2tJGIWCRpDHAH0B24IiIelXRcUX4JcAgwWtJC0rCThxUNq1pdNzN+MzOzustNuouBinTNiYjbgdvLll1S8v580ihXWeuamZm1RtKQgw46aN6tt976NMDChQvp27fv4Pe+972v/eEPf5hRj5iykm5EDK9yHGYN58QTT6x3CGbWjp49ey6ZPn16z1dffVXrrLNO3HLLLev269dvYT1jWlWacZtV3AEHHMABBxxQ7zDMrB177733/BtuuGE9gGuvvXaDQw45ZF5L2YIFC7p94hOf2GLQoEE77LDDDjteffXV6wFMnz599SFDhmy344477rDjjjvucNddd60NcNttt/UaNmzYdiNHjtxqyy233OnAAw/ccsmSJZ2KJ+tKt+i6066ipbHZKmP69OkAbLfddnWOxKzrGzZs2HL/UD72sY/NO+WUU+a+8sor3fbee+9ty8s//elPv3j88ce/NHv27B4HHXTQ1qVl999///Sc/Y4aNWreGWecsclhhx3238cff3yto48++qUpU6asAzBu3LhNRowYseCGG2545sUXX+w+dOjQHQ488MAFm2666aI//elPT6611lrxj3/8Y41PfvKTW02bNu1xgMcff7znww8//NQWW2yxcMiQIdvfdddd6+yzzz6v5h6H3Ge6k+h4UoPuuTs1awaf//znAffTNevKdtlllzdmzpy5xuWXX77BBz/4wfmlZZMmTVr3jjvuWO9HP/rRxgBvvfWWZsyYsfrmm2++8Oijj978scce69mtWzeeffbZNVrWefe73/3a1ltvvRBgp512ev1f//pXp0bHyU26I1pZtiGwP7AnMKYzOzUzs1VLe1emvXr1WtJe+SabbLIo98q2NSNHjvzvGWecsdmdd945fc6cOUvzXkRw4403zhg8ePBbpfVPOOGETfv27bvwpptuenrJkiX07NlzSEvZGmussfQCtHv37ixatKi1gZvalDv28uRWXjdHxFGkvrJ+sGVmZl3SF77whRdPPPHEWcOGDXujdPmIESMWfO973+vX8lz2L3/5S0+A+fPnd99kk00Wdu/enZ/85CcbLl68uGKxVKIh1W+BQyuwHTMzs4rbeuutF37zm99cbizk8847b9aiRYu0/fbb77jtttvudNppp/UHGDt27Jxrr712w8GDB2//5JNPrtmzZ8/OtZZqR9bUfu1uQPoScEZE9K1MSJXlsZetWjz2sjUrSVMjYujKbOORRx55ZvDgwS9WKqZG8sgjj2w0ePDgLVory229PLqVxauTxpc8Grh5haMza1CnnXZavUMwswaT25Dq520sfwu4DvhKRaIx60I6uoLt0aNHu/VaroTNzFrkJt0tW1n2ZkT8p5LBmDWSGTPSKHLbbLNNnSMxs0aROwzkSs+taNZsLrroIgAuvPDCOkdiZo0iu/WykgMlXSDpZ5I2L5bvKWnT6oVoZmbWHHIbUq1Pmt1nF2AB0Av4MfAs8DlgHnB8lWI0MzNrCrnPdL8LbAa8nzSZ/NslZXcDX6twXGZm1kTuuOOOit4R3WeffWa1Vz5s2LDtTj755NmHHHLIgpZlZ599dt8nn3xyzV122eW1Cy64YBOAk046afaXv/zllyoZW3tyby8fBJwaEfey/BjMz5ESspmZWZfwiU984qVrr712g9JlN9100waf/OQn551//vmb3n///Y8/+OCDj59//vmbzp07t2ZzB+Qm3XWA59soWxPo1NiTZs3gmGOO4Zhjjql3GGbWilGjRr38+9//vvcbb7whSNP1zZkzZ7WZM2euvsceeyzo16/f4j59+izeY489Ftx88829axVXbtKdDny4jbI9gX9UJhyzxjFo0CAGDRpU7zDMrBUb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\n",
"text/plain": [
"<Figure size 432x302.4 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# variance across repeats\n",
"# Variance across reps for V0, V3 and V6\n",
"fig = plt.figure(figsize = (6,4.2))\n",
"ax = fig.add_subplot(111)\n",
"myarray = V0_rep.std(0).flatten()\n",
"weights = np.ones_like(myarray)/len(myarray)\n",
"plt.hist(myarray, weights=weights, bins=np.linspace(0,2,20),color='gray', alpha=0.5,label='V0')\n",
"print(V0_rep.std(0).flatten().mean(0))\n",
"plt.plot([np.median(V0_rep.std(0).flatten()),np.median(V0_rep.std(0).flatten())], [0,0.3],'k', linestyle='dashed',label='Mean')\n",
"\n",
"plt.ylabel('Proportion of images for all neurons',fontsize=16)\n",
"plt.xlabel('Variance across repeats',fontsize=16)\n",
"plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)\n",
"plt.ylim([0,0.3])\n",
"#plt.savefig('/Users/xiaoxuanj/Dropbox/2015.paper.Jia.UnsupervisedLearning/supplemental/variance_repeats.pdf')"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"107520"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(V0_rep.std(0).flatten())"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/xiaoxuanj/anaconda/envs/newbase/lib/python3.6/site-packages/ipykernel_launcher.py:43: RuntimeWarning: Mean of empty slice.\n",
"/Users/xiaoxuanj/anaconda/envs/newbase/lib/python3.6/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in true_divide\n",
" ret = ret.dtype.type(ret / rcount)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.11959227506449278\n",
"0.11007210186549596\n"
]
}
],
"source": [
"#distribution of varaince across sizes for all neurons and all objects\n",
"# marginal tuning\n",
"size = meta['s']\n",
"bins=10\n",
"space = np.linspace(min(size),max(size),bins)\n",
"OBJ = np.unique(meta['obj'])\n",
"\n",
"obj = np.unique(meta['obj'])\n",
"objsize = []\n",
"objall = []\n",
"for o in obj:\n",
" tempmeta = meta[meta['obj']==o]\n",
" a = np.array([(e,i) for i,e in enumerate(tempmeta['s'])]) # the meta needs to correspond to neural data, or causing bug\n",
" objsize.append([a_[0] for a_ in a])\n",
" tempIT = IT[meta['obj']==o]\n",
" objall.append(tempIT)\n",
"objall = np.array(objall)\n",
"objsize = np.array(objsize)\n",
"\n",
"# var across all bins\n",
"VAR_size = []\n",
"for n in range(168):\n",
" bins_obj = []\n",
" for o in OBJ:\n",
" neuron = IT[(meta['obj']==o),n]\n",
" size = meta[meta['obj']==o]['s']\n",
" bins = []\n",
" for i in range(len(space)-1):\n",
" bins.append(np.mean([neuron[idx] for idx,s in enumerate(size) if s>=space[i] and s<=space[i+1]]))\n",
" bins_obj.append(bins)\n",
" #plot(space[1:],bins)\n",
" VAR_size.append(bins_obj)\n",
"\n",
"# only three bins\n",
"bins = 10\n",
"size = meta['s']\n",
"fixbins = np.linspace(min(size),max(size),bins)\n",
"neuron_var=[]\n",
"for o in range(64):\n",
" temp=[]\n",
" for n in range(168):\n",
" digitized = np.digitize(objsize[o,:], fixbins)\n",
" bin_means=np.array([objall[o,:,n][digitized == i].mean() for i in range(1, len(fixbins))])\n",
" temp.append(np.nanstd(bin_means[[0,5,8]]))\n",
" neuron_var.append(temp)\n",
"print(np.mean(np.ma.masked_invalid(np.std(VAR_size,axis=2).flatten())))\n",
"print(np.mean(np.ma.masked_invalid(np.array(neuron_var).flatten())))"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(64, 168)"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.ma.masked_invalid(np.array(neuron_var)).shape"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/xiaoxuanj/anaconda/envs/newbase/lib/python3.6/site-packages/numpy/core/fromnumeric.py:746: UserWarning: Warning: 'partition' will ignore the 'mask' of the MaskedArray.\n",
" a.partition(kth, axis=axis, kind=kind, order=order)\n"
]
}
],
"source": [
"size_var_mean = np.mean(np.ma.masked_invalid(np.array(neuron_var).flatten()))\n",
"size_var_median = np.median(np.ma.masked_invalid(np.array(neuron_var).flatten()))"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#plt.hist(np.ma.masked_invalid(np.array(neuron_var)).flatten(),color='gray', alpha=0.5,bins = np.arange(0, 0.8,0.01))\n",
"\n",
"myarray = np.ma.masked_invalid(np.array(neuron_var)).flatten()\n",
"weights = np.ones_like(myarray)/len(myarray)\n",
"plt.hist(myarray, weights=weights, bins=np.arange(0, 0.6,0.04),color='gray', alpha=0.5,label='V0')\n",
"plt.plot([size_var_median, size_var_median], [0,0.28], 'r:')\n",
"plt.ylim([0,0.3])\n",
"plt.xlim([0,0.6])\n",
"plt.xlabel('Variance across size')\n",
"plt.ylabel('Proportion')\n",
"plt.title('Variance across size for each neuron (n=168) for each object (n=64)')\n",
"plt.savefig('/Users/xiaoxuanj/Dropbox/2015.paper.Jia.UnsupervisedLearning/supplemental/variance_size.pdf')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/xiaoxuanj/anaconda/envs/newbase/lib/python3.6/site-packages/ipykernel_launcher.py:31: RuntimeWarning: Mean of empty slice.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"-2\n",
"-3\n",
"-4\n",
"-5\n",
"-6\n",
"-7\n",
"-8\n",
"-9\n",
"-10\n",
"-11\n",
"-12\n",
"-13\n",
"-14\n",
"-15\n",
"-16\n",
"-17\n",
"-18\n",
"-19\n",
"-20\n",
"-21\n",
"-22\n",
"-23\n",
"-24\n",
"-25\n",
"-26\n",
"-27\n",
"-28\n",
"-29\n",
"-30\n",
"-31\n",
"-32\n",
"-33\n",
"-34\n",
"-35\n",
"-36\n",
"-37\n",
"-38\n",
"-39\n",
"-40\n",
"-41\n",
"-42\n",
"-43\n",
"-44\n",
"-45\n",
"-46\n",
"-47\n",
"-48\n",
"-49\n",
"-50\n",
"-51\n",
"-52\n",
"-53\n",
"-54\n",
"-55\n",
"-56\n",
"-57\n",
"-58\n",
"-59\n",
"-60\n",
"-61\n",
"-62\n",
"-63\n",
"-64\n"
]
}
],
"source": [
"# same 3 size bins and range for data and model prediction\n",
"\n",
"cov = np.cov(np.mean(objall,axis=1)) #64 dimensional covariance matrix\n",
"m = objall.mean(1).mean(1)\n",
"rseed = 1\n",
"points = 168 # mimic real data\n",
"rng = np.random.RandomState(rseed)\n",
"X_test = rng.multivariate_normal(m, cov, size=points)\n",
"\n",
"size = meta['s']\n",
"xp = np.linspace(min(size),max(size),10)\n",
"xp = xp[[0,4,9]]\n",
"units = -np.array(range(1,65))\n",
"size_std_mean=[]\n",
"size_std_median=[]\n",
"size_std_std=[]\n",
"NUM=[]\n",
"for u in units:\n",
" print(u)\n",
" pfit = []\n",
" Vfit = []\n",
" for n in range(168):\n",
" resp = np.mean(objall[:,:,n],axis=1)\n",
" sort_index = np.argsort(resp)\n",
" rank = sort_index[u:]\n",
" bins = 10\n",
" fixbins = np.linspace(min(size),max(size),bins)\n",
" BIN_means = []\n",
" for o in rank:\n",
" digitized = np.digitize(objsize[o,:], fixbins)\n",
" BIN_means.append(np.array([objall[o,:,n][digitized == i].mean() for i in range(1, len(fixbins))]))\n",
" bin_means = np.ma.masked_invalid(BIN_means).mean(0)\n",
" temp = fixbins[:(bins-1)] \n",
" x = temp\n",
" y = bin_means \n",
" z = np.polyfit(x, y, 5) # 5 free parameters, same as DOG\n",
" p = np.poly1d(z) \n",
" yy=p(x)\n",
" V = np.round(sum([(y[i]-yy[i])**2 for i in range(len(y))])/len(y),5)\n",
" \n",
" pfit.append(z)\n",
" Vfit.append(V)\n",
" \n",
" size_kernal = np.array(pfit)[[idx for idx, d in enumerate(Vfit) if d<=0.1]] \n",
" NUM.append(len(size_kernal))\n",
" \n",
" # 3 size points\n",
" xp = np.linspace(min(size),max(size),10)\n",
" xp = xp[[0,4,9]]\n",
" \n",
" sigma_size=0\n",
" size_tuning_test = []\n",
" for n in range(points):\n",
" if n<len(size_kernal):\n",
" p = np.poly1d(size_kernal[n]) \n",
" else:\n",
" r = np.random.choice(range(np.shape(size_kernal)[0])) # randomly choose kernal for each neuron, size tuning parallel for all objects\n",
" p = np.poly1d(size_kernal[r]) \n",
" \n",
" temp = []\n",
" for o in range(len(obj)):\n",
" # 9 points in xp, different from modeled population\n",
" base = np.mean(p(xp))-X_test[n,o]\n",
" ttemp = p(xp)-base\n",
"\n",
" if sigma_size!=0:\n",
" temp_size1 = rng.normal(ttemp[0], sigma_size, 1) # jitter for each object\n",
" temp_size2 = rng.normal(ttemp[1], sigma_size, 1)\n",
" temp_size3 = rng.normal(ttemp[2], sigma_size, 1)\n",
" temp.append([temp_size1[0],ttemp[1],temp_size3[0]])\n",
" else:\n",
" temp.append(ttemp)\n",
" \n",
" \n",
" size_tuning_test.append(temp)\n",
" size_var = np.array(size_tuning_test).std(2).flatten()\n",
" size_std_mean.append(np.mean(size_var))\n",
" size_std_median.append(np.median(size_var))\n",
" size_std_std.append(np.std(size_var)/np.sqrt(len(size_var)))"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7fd70f9d42b0>"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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QngLRjHwoLvPMLNzou73El7vda6ZbSK8Rui46NE5WYetSDypZFEliyIiIvFTsihAadXyPzPa3Zv2/XfA7wodtiJUDS0iUndccsklnZo2bbr5xhtv/Cpb9z//+c8t+/Xrt37w4MHlekWdVB4VwUqNo2poERFJee6551pOmzatcdl9SlVRsig1jqqhRUSS7corr+zQtWvXXb7zne/0+t///tcQ4Pbbb2+zyy679O3du3e/gw8+uPuqVauKXn755Sb/93//13L06NGd+/Tp02/GjBkNs/UX9/wknRaw1DiqhhYRSa4333xzu2effbbVBx988OH48eNnT506tQnAiSeeuGz69OkfzZo168PevXuvGzt2bJvvfve7aw488MDlN99889yZM2d+2L9//w3Z+ot7npJOyaLUOKqGFhGpRpdc0gmzwaXNm29ux5tvbrdFu0su6QRAu3a7lrbr378vAMcfv9MW/X7+ef18k3v11VebHnbYYcubNWtW0qpVq5KDDjpoOcDkyZMbDx48uHevXr36PfPMM61nzJjRKNvwhfYnlUc3uEiNo5JFEZFqdMcd87njjq2fj+s+eat2ixZN26rdE0/M4YknyvWw8OhJbFs4++yzuz399NOzhw8fvm7s2LGtX3/99WbZhi20P6k8KlmUGqdJkyaYGWvXrmXTpk1xhyMiIpVo//33X/2Pf/yj5erVq23ZsmVFL7/8ckuAtWvXFnXp0uWbDRs22JNPPtkq1X/Tpk03r1y5sjRfydWfVB0li1LjmFlpVfTq1atjjkZERCrTiBEj1n7/+9//epddduk/atSo7kOHDl0NcNVVV80fOnRo37333rtXz549Sx+Tc+KJJ349duzYDn379u03Y8aMhrn6k6pj4bnKItUr37uhAXbccUfmzp3LnDlz6NKlSzVGJiJSc5nZZHcfUpFxTJ069fOBAwcuqayYaqupU6e2GThwYNe446gNVLIoNZIenyMiIlIzKFmUGkl3RIuIiNQMShalRtId0SIiIjWDksUEM7MiM2sedxzbQtXQIiIiNYOSxYQxs8fNrLmZNQE+BGaZ2eVxx1VeqoYWERGpGZQsJk8/d18JHAX8E+gCnBRvSOWnamgRkZrDzAab2eC445B4KFlMnvpmVp+QLP7N3b8Bat3zkVQNLSKSXGY2+KijjuqW+v3NN9+w/fbbDxw5cmSP8oxnhx12GLBgwYK8b6MrpB/JT8li8twHfA40Ad4ws52AWpdxpUoWVQ0tIpI8jRs3Lpk1a1bj1atXG8Czzz7bvH379t/EHZdkp2QxYdx9rLvv4O6HeTAHGBl3XOWlkkURkWQ74IADVjz11FMtAZ544olWP/zhD79Odfvqq6+KDzzwwO69evXqN3DgwD7vvvtuY4CFCxcW77XXXj379u3b74QTTtgp/cUid999d6sBAwb07dOnT78TTjhhJ70utvIoWUwYM2toZieY2TVmdp2ZXQdcE3dc5aVkUUSk6qWuRSyr2db+8znppJO+/stf/rL92rVr7aOPPtpu+PDha1Ldrrjiik4DBw5c+/HHH3940003zTvllFO6AVx11VWdhg8fvvqjjz768Igjjli+YMGCBgDvv/9+o6effrrVpEmTZs6cOfPDoqIiv/fee1tX9vKqq5QsJs/fgCOBTcCatKZWUTW0iEiyDRs2bN3cuXMb/vGPf2x14IEHrkjvNnHixGZnnHHGUoAjjjhi1fLly+stXbq0+J133ml2+umnLwU47rjjVjRv3nwzwAsvvNBs+vTp2w0cOLBvnz59+k2YMKH5p59+2rD65yqZdMFn8nR290PiDqKiVLIoIlL13H1yIf2lSgsL7b9QhxxyyPLrr79+x5deemnWokWLSnOS9OrltBgcoKho63Iud7ejjz566e9///t5lRmfBCpZTJ63zWxA3EFUVCpZfPPNN2OOREREqsq555675NJLL50/dOjQdent99xzz1UPPfRQa4Dx48c323777Te1atWqZM8991z14IMPtgYYN25c85UrVxYDHHLIISvHjx+//bx58+pBuObx448/blDd85NUKllMnhHAqWb2GbABMMDdfdd4wyqfVDW0iIgkV/fu3b/52c9+tiiz/a233jr/hBNO6NqrV69+jRs3Lnn44Yc/A7jlllvm//CHP9y5X79+fYcPH766Y8eOGwEGDx68fvTo0fMOOOCAXiUlJdSvX9/Hjh37Ra9evTZW9zwlkWUr6pXaK3pUzlaiu6JrjCFDhvikSZNydl+0aBHt27cHsldHiIjURWY22d2HVGQcU6dO/XzgwIFLyjndKqmGjtPUqVPbDBw4sGvccdQGKllMGHefY2YDgb2jVm+6+9Q4Y9oWqWpoERGJX5KSRCk/XbOYMGZ2EfAY0C5qHjWzC+KNqvwa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p7j7tPii2pquWZTaKJXsffHFF6XNCSecAECvXr34+OOPcw7brFkzVq1aBcCvf/1rRowYwW677Vb66kQdi6UQumZR4qBkMaHMrDmAu6+MO5ZslCxKUqSXFi5evJi3336bt956i1/96lcAtG/fniVLlmS9C7tx48asWxcK/m+99VY6d+5M586d2XfffUvHmW06UncpWZQ4KFmUWChZlKTLfKD4ihUr2H777QE488wzmTBhAjNnzsw7ji5dutC9e3e6d+/O/fffD8B//vMfunbtSrt27UqfL6njeN2hZFHioGRRYqFkUQQWL15Mu3btALjkkkuYO3cuc+fO5e233y5z2IYNG7JhwwYALr30UgYMGMCuu+7K7rvvDiiBTColixIHJYsSCyWLIkG+t9R8/PHHfPrpp3zyySecf/75AOy+++7MmTOHpUuX5h3vSSedxJAhQxgyZAiDBg2iSZMmW01Hah8lixKLVBWJmuQ0wHeAE4CTU03cMWU2gwcP9q1cf707fNtMmhSa9HbXXx/67djx23a77x7anXXWlv3Om+f+/PNbtrvvvtBvertRo0K7UaO2bO8e+k9v9/zzYbzp7c46K/S7++7ftuvYUfOkearUeRoF3jHt9yrw68EBv6ljRz8avDd4UdQuvSkGbwTeAvxc8JvAHwA/Meq+vkOH0vFOitppPdWAeUrNSxpgknv8x3A1datRyWLCmNmfge7AFCB1Rb27+4XxRbU1lSyKVI1UqeTdd9/NpEmTeO+995gxYwYlJSV5h9lxxx3p0aMH//73vwF45513GDRokB75U8OoZFHioOcsJs8QoJ/rqC5SJ2Xb9deuXVtaDX3XXXcxb9485s+fzyOPPAKEZDH1KKCUPffckwYNGjBo0KDSdrNmzaJnz54UFRVV8VyISE2iksWEMbOngAvdfUHcseSjkkWR+KVKDDdu3MicOXOYPXs2hx56KAD9+vXjo48+2ir5bNasGYMHD+a1114D4JFHHqG4uJiioiKOP/54AD744AN23nlntttuuy2mo/NNxalkUeKgZDFhzOxVYBAwEdiQau/uR8QWVBZKFkVqpvTEbsWKFUyaNIkDDzwQgM6dOzN37tyCx9WxY0e6d+/OhAkTAHj22Wfp27cv3bt3L30tos5B5aNkUeKgZDFhzGzfbO3d/fXqjiUfJYsitUd6Arlw4UImT57MqFGj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\n",
"text/plain": [
"<Figure size 432x302.4 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize = (6,4.2))\n",
"ax = fig.add_subplot(111)\n",
"plt.errorbar(np.array(range(1,65)),np.array(size_std_mean),np.array(size_std_std)*np.sqrt(len(size_var))/np.sqrt(168),linewidth=2,color = 'k', ecolor = 'k',label='Model')\n",
"myarray = np.array(neuron_var).flatten()\n",
"plt.plot([1,64],[np.median(myarray),np.median(myarray)],linewidth=1,color = 'r',linestyle='dashed',label='data')\n",
"plt.xlim(0,65)\n",
"plt.ylim(0,0.5)\n",
"ax.tick_params(axis='y', direction='out')\n",
"ax.tick_params(axis='x', direction='out')\n",
"ax.set_xticks([0,2,4,8,16,32,48,64])\n",
"ax.set_yticks([0,0.25,0.5])\n",
"plt.xlabel('Number of top units used to generate size tuning')\n",
"plt.ylabel('Mean of variation in size for all neurons')\n",
"plt.title('Variance of size tuning kernal for simulated IT as a function of number of objects used to average across ')\n",
"plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([41]),)"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tmp = abs(np.array(size_std_mean)-np.median(myarray))\n",
"np.where(tmp==min(tmp))"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(168, 64, 3)"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.array(size_tuning_test).shape"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([55., 54., 28., 19., 7., 3., 1., 0., 0., 1.]),\n",
" array([0.00272881, 0.03325342, 0.06377803, 0.09430264, 0.12482724,\n",
" 0.15535185, 0.18587646, 0.21640106, 0.24692567, 0.27745028,\n",
" 0.30797489]),\n",
" <a list of 10 Patch objects>)"
]
},
"execution_count": 74,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.hist(np.ma.masked_invalid(np.array(neuron_var)).flatten(),color='gray', alpha=0.5,bins = np.arange(0, 0.8,0.01))\n",
"plt.plot([size_var_median, size_var_median], [0,750], 'r:')\n",
"plt.hist(np.array(size_tuning_test).std(-1)[:,41])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# load model IT data"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
}
},
"nbformat": 4,
"nbformat_minor": 4
}