Topology in neuroscience
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1057 lines
256 KiB

{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"# Decoding population activity\n",
"\n",
"_In this notebook we sample population activity using the analytical model, then analyze the topology and successfully decode orientation using cohomological parametrization_"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"**Imports**"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"\n",
"import sys\n",
"import seaborn as sns\n",
"import umap\n",
"import numpy as np\n",
"import pandas as pd\n",
"from matplotlib import pyplot as plt\n",
"sys.path.insert(0, './model')\n",
"sys.path.insert(0, './numerical')\n",
"\n",
"from sym_model import Population, sigmoid\n",
"from model import decoding\n",
"from model import persistence\n",
"from utils import get_orientation_phase_grid"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"## Getting the data\n",
"\n",
"**Sampling the activity using the model**"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"limit = 500\n",
"# n_theta, n_phi = 18, 24\n",
"n_theta, n_phi = 36, 72\n",
"# n_theta, n_phi = 9, 12\n",
"step_phi, step_theta = 360 // n_phi, 180 // n_theta\n",
"N = 64 # number of cells"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0. 0.] [3.05432619 6.19591884] (2592, 2)\n"
]
}
],
"source": [
"grid = get_orientation_phase_grid(step_phi, step_theta)\n",
"grid = grid.reshape((-1, 2))\n",
"print(grid[0], grid[-1], grid.shape)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"population = Population.sample(8, 8)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABX0lEQVQ4EY2U0U3DQAyG24oBKkYoG5QyAbAB0AlKN6CveUOMAEwAZYRugGCEbIDaDcL3Xc/RNUoRlhzbv//znX1Jhk3TDEqpquqpjPHfwL47WBuSmxIssUvBk8gATPDX6Ap/I441Vs+Mj4j5dsNRQTLhaVKxjI+xdcE5cOE+HAAE6YQkbvA9+mVJAL8u49InJ3+XtU3FCe1/B0nCf2UO/6VLjhnOSNR51zn+D+rc1mDlCIDSbG31OQWdRxR0VsqMAqu9mxZuiRfoR4F5eXbTO9sRiSg2xe+28M7i14JjXV+RLk88SczQoG/HL3A3dCQDCt1jels1r3jCuIiw+8zhcwLPVsfYvo1bdszQwbvgmFjE/AUFfV9L8fVxQ/E6CtpGl+iic9QLiJsOay4JuS3OBnsrkGZI4C0Ktt8xvrO7QxfoXyJPTTIsfw65YCRPYTyCtd9pXpMMuF05hquMe6jPX4nue6mI0guhAAAAAElFTkSuQmCC",
"text/latex": [
"$\\displaystyle 64$"
],
"text/plain": [
"64"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(population.cells)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"phi_deg, theta_deg = grid[:, 1] * 180 / np.pi, grid[:, 0] * 180 / np.pi"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"# res = population.sample_responses(limit, custom_grid=grid, use_sigmoid=False)\n",
"# res, phi_deg, theta_deg = res[:, :, 0], res[:, 0, 1], res[:, 0, 2]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"res = np.abs(population.response_func(grid[:, 1], grid[:, 0]).swapaxes(0, 1)) * 10"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"phi_reorder = sorted(list(range(len(phi_deg[:limit]))), key=lambda x: phi_deg[x])\n",
"theta_reorder = sorted(list(range(len(theta_deg[:limit]))), key=lambda x: theta_deg[x])"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFoAAAAVCAYAAADGpvm7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE/ElEQVRYCe2Z63EUORCAB9cFsOeLADsDHhGcnQGYCMAZcD/tf1eQARDBARkAEXA4A5zBmc3A931atUozo1lm2S0wV9dVGrVa/VKr1dLa3fX1dVe3s7Ozg3r8P96Pz5x4tGK411Vwfn7+lOGdijQbRXYkB21BO5it5L/DeJBjWVZ0yx0SmHhAd5/+j0TIH8YGKmj3wK8cQ7/ILKlj/AVkQQu6uHCXueUKXX0Zv6jG++CPGzyz7FZ6doLix7OBor+gxZoGUyluJtgpPKf1JGOTdkn/UnoKNAOD8oH+rsQAxi72Bf1xRdMRlRxDf1/RP4MbNHVd0t7S/oSnBBncuU80dT6n7+h19APNDVFO2my78u8Css036DKJ0rroHd+hP5yywZzrvqB/OOSB5lp/p1/+kicNXp1lISN9uFM68gS6TvwajPRNY9W86CvaPvIpyBLAlfsbVPuxoZvYVc0uwPWYvSV5GEfSNPXDa8KtA9eU1rKXuU4QSik+kDpi/Jk5DdagM99Sfy1PKWtrZeAezaPKzq7tDsz1h9jVL09WLwbQPbWx+T0h6PJ7Wm1NgEd9xnaxx2dq8Qob0Et4ppQNN0CZJmgsT1w1GP7JNO8AYWd2V+q++vXUWk+n1tlS8Aj+3sa0mKCZWCeWDnesPi4MV4CiUd3JU+5mx3zvkmBsSTGgv9Gss9boxEPvQiClOm5fg/yCMh18G9lVZktwg00o1/WI5sZbl99AG8UGmiWjVWohj0D5Y0uHRizosyA7Y0DiJRJyBvg1889pztk+gVsGArwgUzCDkPu0ceCR9YPpFHx5WnZHvN9ACLv39D2vwSw30J74Aoz1waRplcDCVyHG9mCPj0Zax7ni7aFeGm91pqYytp4tg5YdcTfrnX/sPHMl+OAGMOTWOd+0q75tAPsRZF8Xw1LwGt2vKh5N+ZQb8q1zwdimQO+DxELXCXQYMGgesamjPZQ3cD7eUxbTa+c27SH4U5o3snMfaUIz0PBtanelbbNvy7bPMzci3R34YWmsE2eOBfUurNGzIBvxaTa6haG9Q4lzvXd4pTiypoPHYA+fjAZcGC0WfhfXtJsktvzoD00t+jUFkSwLeEc+TgllekpkA21ql0C0hFBunTqkL5kMHlmqYXe8VX400sF7Yb8GLB/v4estlvHX7K5RudGUJS6tZ0LKNTrvL2dLWA367kZI97S37q4rAx1KauGCI6ii0U9zaAYhatXLhgF1HNHKrQ2PMv5ouQ2egkrvJsvXOw3Q59hFLG2kmdbbpDQx/2M5GAZQaX0y42MN0TuXgDn/9GCSlCTMU9Htg1waaLPtflDrHmF3UQdUNKxNR9DiQvQnta2UBPD41VQ7oL5h5qvfC6ZkPfhcux28btQX5Wm9zYI+C5DzcneNz2gpI+nVe0JLF/gaRfLZpkCfLm7xJz0zx2fM6Pc8tPQ0mdDQWxi8BieOjbtoQH0qLWt5xlGPw7nRW3UTu+rO/KKjP2BJnAvZt/DLNZTfAUMd8Jp4rtnTKPh0/Qg9ki8Rs2+n8UclA+pLoGRV4vqJPvhuWRrV+R+5BHxyI97RH+5lR9IfPn6kUzuw7T3SOz070LmtCk94OsEp0DjopRZPmG2Vf3d5/Pe4x99Lvrv9lkF8MpuNaXowREbL66U1vPCk/wzwhAX1auMNcNpYlsdB+Q+LjuVdeHADnb4BcZvvAvHzxeVLpvy4+Rf2nzCptMaFJAAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle \\left( 2592, \\ 64\\right)$"
],
"text/plain": [
"(2592, 64)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"res.shape"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"res_reshaped = res.reshape((n_phi, n_theta, -1))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/lib/python3.10/site-packages/seaborn/distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n",
" warnings.warn(msg, FutureWarning)\n"
]
},
{
"data": {
"text/plain": [
"<AxesSubplot:ylabel='Density'>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sns.distplot(res.ravel())"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"## Plotting joint tunings"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"phase_linspace = np.linspace(0, 360, n_phi)\n",
"orientation_linspace = np.linspace(0, 180, n_theta)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 6 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(3, 2)\n",
"ax = ax.flatten()\n",
"# set title\n",
"fig.suptitle('Marginal Tunings - By Phase')\n",
"for i in range(6):\n",
" ax[i].plot(phase_linspace, res_reshaped.mean(1)[:, i])"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 6 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(3, 2)\n",
"ax = ax.flatten()\n",
"# set title\n",
"fig.suptitle('Marginal Tunings - By Orientation')\n",
"for i in range(6):\n",
" ax[i].plot(orientation_linspace, res_reshaped.mean(0)[:, i])"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 9 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(3, 3)\n",
"ax = ax.flatten()\n",
"# set title\n",
"fig.suptitle('Joint Tunings')\n",
"for i in range(9):\n",
" # 100 is for scaling\n",
" ax[i].imshow(res_reshaped[:, :, i * 5], cmap='viridis', extent=[0, 100, 0, 100])"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fefe239a140>"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAI4AAAD7CAYAAAC8Eqx6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAOx0lEQVR4nO3dW6xc113H8e9v5tx8v+RiRbZpgohS9aUOmDRVKwRNU4WCmkqgKAahgiL5BVAiECT0CSQqhZfSPlWKIGCJ0DQkrYiqqm0IqQAJgp0LtLFzcaOE2EriOD6JHdvnOn8eZvus5ZMZe591zhmPZ34fyTpr1uw9e885P+/Za/be/62IwGypGpd6Bezy5OBYEQfHijg4VsTBsSIOjhVZVnAk3SbpJUmHJd23Uitl/U+l3+NIagIvA7cCR4D9wJ6IOLhyq2f9amQZ894EHI6IVwEkPQzcDnQNzpjGY4J1y1ik9dopJo9HxFWL+5cTnO3AG9njI8AnLjTDBOv4hG5ZxiKt1/4lHn29U/9yglOLpL3AXoAJ1q724qxHlrNzfBTYmT3eUfWdJyIeiIjdEbF7lPFlLM76yXKCsx+4XtJ1ksaAO4HHV2a1rN8Vf1RFxJykPwB+ADSBByPihRVbM+try9rHiYjvAd9boXWxy4i/ObYiDo4VcXCsiINjRRwcK+LgWBEHx4o4OFbEwbEiDo4VcXCsiINjRRwcK+LgWBEHx4o4OFbEwbEiDo4VcXCsiINjRRwcK3LR4Eh6UNIxST/J+rZKekLSK9XPLau7mtZv6mxx/h64bVHffcCTEXE98GT12IbIRYMTEf8GnFjUfTuwr2rvA764sqtl/a50H2dbRLxZtd8Ctq3Q+thlYtk7x9GuzNS1OpOkvZIOSDowy/RyF2d9ojQ4b0u6BqD6eazbhK5WMZhKg/M48KWq/SXgn1dmdexyUWc4/k3gP4EbJB2RdBdwP3CrpFeAz1aPbYhctFpFROzp8pRrsg0xf3NsRRwcK+LgWBEHx4o4OFbEwbEiDo4VcXCsiINjRRwcK+LgWBEHx4o4OFbEwbEiDo4VcXCsiINjRRwcK+LgWBEHx4o4OFbEwbEida6r2inpKUkHJb0g6e6q36VOhlidLc4c8McR8THgZuD3JX0MlzoZanXKnLwZEc9W7VPAIWA7LnUy1JZ033FJ1wI3Ak9Ts9SJpL3AXoAJ1havqPWX2jvHktYDjwH3RMTJ/LkLlTpxtYrBVCs4kkZph+ahiPh21V271IkNnjqjKgF/CxyKiK9mT7nUyRCrs4/zKeB3gB9Ler7q+zLt0iaPVGVPXgfuWJU1tL5Up8zJfwDq8rRLnQwpf3NsRRwcK+LgWBEHx4o4OFZkSYccVkSjeeHno9Wb9fjQcrvW+O4tdRvArvZyu2xD5jt3e4tjRRwcK+LgWBEHx4o4OFakp6MqNRo01kyUzVxn1NPqPCKLbvO2sv4uo7noNk3dUVg+SspGLmp0GT3lo5su06jbyKtRYzuw1FHbB10WtbRXMWtzcKyIg2NFHBwr4uBYkd4eqxobRTuu+XB/txFK3p+1lY90Wl1GOvNZ/3w64BKtzv359DE3l5aVz5u3Z9M0tBYd0MmOx2k0/YrVzI7TZW2NZH+GZqPzNI3O/edNn4+YsukjH52pSzuX97/YeRJvcayIg2NFHBwrUue6qglJ/y3pf6pqFX9R9V8n6WlJhyV9S9LY6q+u9Ys6W5xp4DMR8XFgF3CbpJuBvwL+OiJ+DpgE7lq1tbS+U+e6qiAdsRit/gXwGeC3qv59wJ8D37jQa82tHeHEL15ZvXDqVz6oyvtbeTs90cgGMY3ZbLQ1l00zm2ZuZm3NpHZjKo2MGtOzWf9MWsB0asfUVGqfPrPQbk2dP6pqjI2m5a1LhRY0kR2nG08b6JhI7dZ4mrc1kf48MZb+j8+PpnYra8eIsv6snQ3C8hFW5JuNbCAV+WBrOaMqSc3qKs5jwBPAT4H3IuLcb/4I7dInnebdK+mApANz06frLM4uA7WCExHzEbEL2AHcBHy07gLyahUj4+vK1tL6zpJGVRHxHvAU8Elgs6Rz29IdwNGVXTXrZ3VGVVdJ2ly11wC30q7K9RTwm9VkrlYxZOoccrgG2CepSTtoj0TEdyUdBB6W9JfAc7RLodiQqDOq+l/a5dsW979Ke3+ntrlNwbHPVaOU806sy3bj8/ZcamsuO3tuJvU3plN/czr1N9MAiJGzqT16Oi145Exqj32QRltjJ9Noa+TkdHrNyWznPj9elo22ALRmTWpv2rjQnt+S9vHmNqbqZDMb059hZn16P3Nr0/uZXZfac+nlmc8GavPjaZ1aWTvGsvZINgIcyd5DIxudZm3+gY78zbEVcXCsiINjRRwcK+LgWJGengG4Y90k99/8KADz2cGRqVY6PnOmlUYb78+n4zwn5tKI5Pj0+oX221MbFtrvnk3TT55K7TOn0ms2Tqa3PPZeo2N74kQ6uLPmeGrnV4Q1s2NYTE6S09o07MlHUlNXp3U6e2Vaj6mt6Xcxs5msnUZ6rY3pWNr4hjTS27IhHTO7Yk1qb5s4tdC+cjxdHLV1JI0MNzXT9Gsb6TUnGmlZe+jMWxwr4uBYEQfHijg4VsTBsSI9HVVtaczzG+tPfqh/OtJe/KlWGq2cyM4AfGc+jVTemL1iof36zJWpPZX6X5vYutA+OrYpvX4zjWxmyM7Um8+PeaXljp7JzrYbT7+u5sgFahlmz+XzzK1NrzWbnZo0mwaGzGzKru/akn4vGzenEdD2Te8vtK9df2Kh/ZGJd1N77PhCe+do6r+qmQ7cbc02Gxsa6SzEcaXfi0dVtqIcHCvS+3K1dmGXqFrtUnmLY0UcHCvS04+qyVaTxz5onxHXy2NV0zWOVY2mQzuMZif6jZzJrsOazipUzHUpOb7ouXye/LVGT2fXSWW3Ko2s+kQ+6js5n97/9Ex6D5NTabT5f2vSrd9fnkj31l3OsapuvMWxIg6OFXFwrMhS7jvelPScpO9Wj12tYogtZYtzN+0L8c5xtYohVmtUJWkH8GvAV4A/qu5FvuRqFUdOb+FP/qu6+HPFrqvKrqXqcl3Vxq7XVWXXUi3xuqo4k73oIvlzzcm0Ic7PIByZSkOp8ZN1rqtKrzO3JrUnJ9Ko8nh2LdWhrtdVZQcA61xXxTN0UneL8zXgT4FzS72CmtUqbDDVuXb814FjEdE5eheff6HMyfxJlzkZFHU+qj4FfEHS52lvbTcCX6eqVlFtdbpWq4iIB4AHAMZ/dkef3L/QluuiW5yI+LOI2BER1wJ3Av8aEb+Nq1UMteV8j3Mv7R3lw7T3eVytYogs6VhVRPwI+FHVXnK1ipH3xdU/rEYEy6oB2LnW30rVAFSdGoBnLzCqyp9r5KO+9Fr5aGuspzUAm1k7W+kuNQBfpzN/c2xFHBwr4uBYEQfHijg4VqSnZwCOnJlj6/7jH36iz+5X1cruV0Wd+1Ut0prJRmiRvi3X2ewAWpf7VTWyMwAb/XC/qi68xbEiDo4VcXCsiINjRRwcK9LbS4BnZokjb5bNm42Yup6bkY+Yzpu1yxyt805D7Dxvt2m6vSacd1fgyI6NhbKzGPP7RuXzZtPkx7nOm6TbqKdRYztQY8RUh7c4VsTBsSIOjhVxcKyIg2NFejqqilaL1tmpi03Um5X50HJX6Tz684635cfMukxfY9SzKmuqpW1DvMWxIg6OFXFwrEjda8dfA04B88BcROyWtBX4FnAt8BpwR0RMdnsNGyxL2eL8SkTsiojd1eP7gCcj4nrgyeqxDYnljKpuB365au+jfb3VvRedq3WB2nm2eqO7iy53aX+XulucAH4o6RlJe6u+bRFx7ojlW8C2zrPaIKq7xfl0RByVdDXwhKQX8ycjIiR1/K9SBW0vwARrO01il6FaW5yIOFr9PAZ8h/alv29Lugag+nmsy7wPRMTuiNg9yninSewyVKc+zjpJG861gc8BPwEep12lAlytYujU+ajaBnynOnloBPjHiPi+pP3AI5Luon1t+h2rt5rWby4anKoqxcc79L8L3LIaK2X9z98cWxEHx4o4OFbEwbEiDo4VcXC
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.imshow(res_reshaped[:, :, 0], cmap='viridis')"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"## PCA"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"res_df = pd.DataFrame(res, columns=['x' + str(i) for i in range(N)])"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"from sklearn.decomposition import PCA\n",
"import seaborn as sns"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sns.heatmap(res_df.corr())"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"Let's take 6 components"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PC1</th>\n",
" <th>PC2</th>\n",
" <th>PC3</th>\n",
" <th>PC4</th>\n",
2 years ago
" <th>PC5</th>\n",
" <th>PC6</th>\n",
" <th>PC7</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>-2.554005</td>\n",
" <td>0.175027</td>\n",
" <td>4.007938</td>\n",
" <td>0.260290</td>\n",
" <td>-1.340241</td>\n",
" <td>0.224762</td>\n",
" <td>-0.057796</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>-2.550704</td>\n",
" <td>0.167788</td>\n",
" <td>3.999983</td>\n",
" <td>0.247652</td>\n",
" <td>-1.335254</td>\n",
" <td>0.209454</td>\n",
" <td>-0.059524</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>-2.533912</td>\n",
" <td>0.159211</td>\n",
" <td>3.960137</td>\n",
" <td>0.232972</td>\n",
" <td>-1.321489</td>\n",
" <td>0.192545</td>\n",
" <td>-0.059221</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>-2.526949</td>\n",
" <td>0.149337</td>\n",
" <td>3.942689</td>\n",
" <td>0.215383</td>\n",
" <td>-1.314273</td>\n",
" <td>0.170773</td>\n",
" <td>-0.058336</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>-2.537594</td>\n",
" <td>0.138229</td>\n",
" <td>3.965756</td>\n",
" <td>0.194695</td>\n",
" <td>-1.318734</td>\n",
" <td>0.143174</td>\n",
" <td>-0.057358</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PC1 PC2 PC3 PC4 PC5 PC6 PC7\n",
"0 -2.554005 0.175027 4.007938 0.260290 -1.340241 0.224762 -0.057796\n",
"1 -2.550704 0.167788 3.999983 0.247652 -1.335254 0.209454 -0.059524\n",
"2 -2.533912 0.159211 3.960137 0.232972 -1.321489 0.192545 -0.059221\n",
"3 -2.526949 0.149337 3.942689 0.215383 -1.314273 0.170773 -0.058336\n",
"4 -2.537594 0.138229 3.965756 0.194695 -1.318734 0.143174 -0.057358"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
2 years ago
"N_COMP = 7\n",
"pca = PCA(n_components=N_COMP)\n",
"pca.fit(res_df)\n",
"data_pca = pca.transform(res_df)\n",
"data_pca = pd.DataFrame(data_pca, columns=[f'PC{i+1}' for i in range(N_COMP)])\n",
"data_pca.head()"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
2 years ago
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFAAAAAVCAYAAADRhGlyAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEXElEQVRYCe2Y63EUMQyAlxsKOEIFhA4CVEDSAdABpAMYfiX/GOgAqIBHB0AFQDpIOgCug/B9Psv49ryXveTCYwbNeCXLsiTLsry73enpaVe3g4OD7br/n/4Vn1ZsJl0Fh4eHj+nuVKzRJHOX5sGb0rZHK/lDgvpIe6S/Z7ignDEqcMUMExi4B7oDfpIY+UHfAATvNvR3+/CPskhC9H9A6EDww5lbjM16si+r/hb0w4bMKLuVnnOT2Hbt71YomCFzzXGwAbT/yn4KIB0X+wl8S2YAfRfxErxX8Z5Dq2QP/seKfwxtMNR1QntPe4ZMCR60Y19p6nwB7sBm7ieagXaevNF2lb8oYM816Uey39O3S9+EcT0JoF3DXfDsauapoM6KzO7k70dHzCSVPYJ0x9KuyAeO4N+fk4PP14xsIZeCpxS0875Aaj82ah27qrkw4EPYLrrguZEduAQvD+pr8nGSGQ8QSimZ+4GM/jFjZk4NZt556ptHpbXLHvvdys6m7da+t+jPLSa85/i0kEDKwTNWxmw64TG0KGUN1Aky5RjKrKAf2GpokdRY5lhD+/AtM6yxwsbsztWtfuJbP8M6eGbYsxUzTYQHHmFTt9SyegJKho6k9UIjcWGkafQ92gbqOs30twYmGbCFF1aqk+IalBfiyKxldz51c0/81I8dcFyeLeXGbG/Cw133AhgFKDV4GugrN3BvGX+RDTv+FdrjGOBOpyAFI+O0IdCRpb3htFlDdpdkN8Aw+2yrwJhtG0Cdbh2rocleHu8NVC1A31t5FjxoU9xdqi+nh44zVoIKbWBiXqs+OkVo2p0Pbe6JP27wLrh5KitLxiwFcAsiFlCNL5MoNRjWxKEj1p9kQHz5TFkH1s4N2n3oxzR32bEo4s0AIreuXVSeG7w0mn70NCoztQaOAhZhffMVpHXdf8hjC++RleJp0Mw3iAs3G7w4LkuOr7IbOjeMV12qtamUeBM4pmJZYC0RNItQ6U1wyTzoklmMWUdbOjTSIZsuEukB8Bh/RM7gFqB/lt0iuwkCe67BE7Hgx4BuZb8bQHfdSU1AqYtb+sSD5+Kidr5C7mZDgbWu1BIDQvtB03iCTCu3cCnBH2O31jFXeLGniSDEuua99tPkOPEImx13WjIswsBavM2O+jJQ3EIbF4mfZrZyNKHjo7tkLXPU13dO/fvI60cC6LF2O2TdDDfFL5qhEpI1n4liY2dnSvLpicyRAXxDcxEtsLa5GOtfH+oFe7H41h5BdncM1A14xRloX3F853sKDmedV7I0GxllV1nm+n6ZCjrYr6NiL+taB7km58eltmqup2Y//QvkP9cxbedf/veH//do09+xBuxs0461Nckh9hYsx29V2P/iMev0RbJvnaVZr9ObQwoghv04rm/VdZT9cVmPLk7E9/Sl+oMtS5qxSj9fIgM1arGPGmb/XwL/JseFdtl+G6NyWssfaa3m6Pqq8bucuezFblQ/cfHNws/Y8sL/EyOzkvSpYIAbAAAAAElFTkSuQmCC",
"text/latex": [
2 years ago
"$\\displaystyle \\left( 2592, \\ 7\\right)$"
],
"text/plain": [
2 years ago
"(2592, 7)"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data_pca.shape"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"## UMAP decoding"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"# reducer = umap.UMAP()\n",
"# embedding = reducer.fit_transform(data_pca.to_numpy())"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"# %matplotlib notebook\n",
"# plt.scatter(\n",
"# embedding[:, 0],\n",
"# embedding[:, 1])\n",
"# plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"# embedding.shape"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"## Cohomological decoding"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"step = 5"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Decoding... done\n"
]
}
],
"source": [
"param_1 = decoding.cohomological_parameterization(data_pca[::step]).to_numpy()"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7fefe07366e0>"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"plt.title(\"Parameter 1 of CP vs. phase\")\n",
"plt.scatter(phi_deg[::step], param_1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Orientation is decoded:"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7fefe07c8e80>"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.title(\"Parameter 1 of CP vs. orientation\")\n",
"plt.scatter(theta_deg[::step], param_1)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"data_without_features = decoding.remove_feature(data_pca[::step].to_numpy(), pd.DataFrame(param_1))"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false,
"pycharm": {
"is_executing": true,
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Decoding... done\n"
]
}
],
"source": [
"param_2 = decoding.cohomological_parameterization(\n",
" pd.DataFrame(data_without_features)).to_numpy()"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7fefe01e0760>"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.title(\"Parameter 2 of CP vs. orientation\")\n",
"plt.scatter(theta_deg[::step], param_2)"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7fefdfd443d0>"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.title(\"Parameter 2 of CP vs. phase\")\n",
"plt.scatter(phi_deg[::step], param_2)"
]
2 years ago
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [],
"source": [
"smooth_par_2 = []\n",
"step_deg = 30\n",
"for d in range(0, 360, step_deg):\n",
" delta = [param_2[i] for i in range(len(param_2)) if d < phi_deg[i] < d + step_deg]\n",
" if not len(delta):\n",
" smooth_par_2.append(0)\n",
" continue\n",
" smooth_par_2.append(sum(delta) / len(delta))"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7fefdfda1090>"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(range(0, 360, step_deg), smooth_par_2)"
]
},
2 years ago
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.10.5 64-bit",
"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.10.5"
},
"vscode": {
"interpreter": {
"hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a"
}
}
},
"nbformat": 4,
"nbformat_minor": 0
}