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.

347 lines
70 KiB

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import scipy\n",
"import pickle as pkl\n",
"import ipywidgets as widgets\n",
"from mpl_toolkits import mplot3d\n",
"from scipy import sparse\n",
"import sys"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"6845348.zip\n",
"allimgs.mat\n",
"dbstims.mat\n",
"default_stim_order.mat\n",
"images_natimg2800_4D_M170714_MP032_2017-09-22.mat\n",
"images_natimg2800_4D_M170717_MP033_2017-09-19.mat\n",
"images_natimg2800_4D_M170717_MP033_2017-09-22.mat\n",
"images_natimg2800_4D_M170717_MP034_2017-09-20.mat\n",
"images_natimg2800_8D_M161025_MP030_2017-06-07.mat\n",
"images_natimg2800_8D_M170604_MP031_2017-07-02.mat\n",
"images_natimg2800_8D_M170714_MP032_2017-08-10.mat\n",
"images_natimg2800_8D_M170714_MP032_2017-09-15.mat\n",
"images_natimg2800_8D_M170717_MP033_2017-08-22.mat\n",
"images_natimg2800_8D_M170717_MP034_2017-09-15.mat\n",
"images_natimg2800_all.mat\n",
"images_natimg2800_small_M170714_MP032_2017-09-18.mat\n",
"images_natimg2800_small_M170717_MP033_2017-08-23.mat\n",
"images_natimg2800_small_M170717_MP034_2017-09-17.mat\n",
"images_natimg2800_white_all.mat\n",
"images_ori_all.mat\n",
"images_sparse_all.mat\n",
"instructions.pdf\n",
"natimg2800_4D_M170714_MP032_2017-09-22.mat\n",
"natimg2800_4D_M170717_MP033_2017-09-19.mat\n",
"natimg2800_4D_M170717_MP033_2017-09-22.mat\n",
"natimg2800_4D_M170717_MP034_2017-09-20.mat\n",
"natimg2800_8D_M161025_MP030_2017-06-07.mat\n",
"natimg2800_8D_M170604_MP031_2017-07-02.mat\n",
"natimg2800_8D_M170714_MP032_2017-08-10.mat\n",
"natimg2800_8D_M170714_MP032_2017-09-15.mat\n",
"natimg2800_8D_M170717_MP033_2017-08-22.mat\n",
"natimg2800_8D_M170717_MP034_2017-09-15.mat\n",
"natimg2800_M160825_MP027_2016-12-14.mat\n",
"natimg2800_M161025_MP030_2017-05-29.mat\n",
"natimg2800_M170604_MP031_2017-06-28.mat\n",
"natimg2800_M170714_MP032_2017-08-07.mat\n",
"natimg2800_M170714_MP032_2017-09-14.mat\n",
"natimg2800_M170717_MP033_2017-08-20.mat\n",
"natimg2800_M170717_MP034_2017-09-11.mat\n",
"natimg2800_small_M170714_MP032_2017-09-18.mat\n",
"natimg2800_small_M170717_MP033_2017-08-23.mat\n",
"natimg2800_small_M170717_MP034_2017-09-17.mat\n",
"natimg2800_white_M170714_MP032_2017-09-11.mat\n",
"natimg2800_white_M170714_MP032_2017-09-12.mat\n",
"natimg2800_white_M170717_MP033_2017-09-21.mat\n",
"natimg2800_white_M170717_MP034_2017-09-14.mat\n",
"natimg32_M150824_MP019_2016-03-23.mat\n",
"natimg32_M170604_MP031_2017-06-27.mat\n",
"natimg32_M170714_MP032_2017-08-01.mat\n",
"natimg32_M170717_MP033_2017-08-25.mat\n",
"ori32_M160825_MP027_2016-12-15.mat\n",
"ori32_M170604_MP031_2017-06-26.mat\n",
"ori32_M170714_MP032_2017-08-02.mat\n",
"ori32_M170717_MP033_2017-08-17.mat\n",
"sparseSTATS.mat\n"
]
}
],
"source": [
"!ls data/stringer"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f150dc9f6a0>"
]
},
"execution_count": 3,
"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": [
"import scipy.io as sio\n",
"mt = sio.loadmat('data/stringer/natimg2800_M170717_MP034_2017-09-11.mat')\n",
"\n",
"### stimulus responses\n",
"resp = mt['stim'][0]['resp'][0] # stimuli by neurons\n",
"istim = mt['stim'][0]['istim'][0] # identities of stimuli in resp\n",
"spont = mt['stim'][0]['spont'][0] # timepoints by neurons\n",
"\n",
"### cell information\n",
"med = mt['med'] # cell centers (X Y Z)\n",
"mt['stat'][0] # first cell’s stats\n",
"mt['stat'][0]['npix'] # one example field, tells you how pixels make up the cell\n",
"\n",
"### loading images\n",
"mt2 = sio.loadmat('data/stringer/images_natimg2800_all.mat')\n",
"imgs = mt2['imgs'] # 68 by 270 by number of images\n",
"# check out first image using matplotlib.pyplot\n",
"plt.imshow(imgs[:,:,0], cmap='gray')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(10103, 1)"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mt['stat'].shape"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((5880, 10103), (5880, 1))"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"resp.shape, istim.shape"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"mt_small = sio.loadmat('data/stringer/natimg2800_small_M170717_MP034_2017-09-17.mat')\n",
"images_small = sio.loadmat('data/stringer/images_natimg2800_small_M170717_MP034_2017-09-17.mat')['imgs']\n",
"istim_small = mt_small['stim'][0]['istim'][0]\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f14f5593460>"
]
},
"execution_count": 7,
"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.imshow(images_small[:, :, 0], cmap='gray')"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(68, 270, 5880)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"images_in_order = images_small[:, :, (istim_small[:, 0] - 1) % 2800]\n",
"images_in_order.shape"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"istim_small.min()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(68, 270, 10103)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"matrices = np.dot(images_in_order[:, :, ::11], resp[::11, :])\n",
"matrices.shape"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f14d77c8f70>"
]
},
"execution_count": 14,
"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.imshow(matrices.sum(axis=2), cmap='gray')"
]
}
],
"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"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}