{ "cells": [ { "cell_type": "code", "execution_count": 20, "id": "86c86cb2", "metadata": {}, "outputs": [], "source": [ "import sys, os\n", "sys.path.append(os.path.join(os.getcwd(), '..', '..', 'analysis'))\n", "sys.path.append(os.path.join(os.getcwd(), '..', '..', 'session'))\n", "\n", "import numpy as np\n", "import h5py\n", "import matplotlib.pyplot as plt\n", "from scipy import signal\n", "from scipy import stats\n", "from scipy.signal import filtfilt, butter, sosfilt, sosfreqz, lfilter\n", "from adapters import DatProcessor\n", "\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 21, "id": "33fca2bf", "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "IPython.OutputArea.prototype._should_scroll = function(lines) {\n", " return false;\n", "}\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%javascript\n", "IPython.OutputArea.prototype._should_scroll = function(lines) {\n", " return false;\n", "}" ] }, { "cell_type": "markdown", "id": "469a40d1", "metadata": {}, "source": [ "## AEPs extraction" ] }, { "cell_type": "code", "execution_count": 22, "id": "55c1c0a6", "metadata": {}, "outputs": [], "source": [ "source = '/home/sobolev/nevermind/Andrey/data'\n", "session, channel = '009266_hippoSIT_2023-04-13_08-57-46', 17 # ch17, very little AEPs\n", "#session = '009266_hippoSIT_2023-04-14_09-17-34' # ch1, very little AEPs\n", "#session = '009266_hippoSIT_2023-04-17_09-06-10' # ch1, little AEPs, 7 + 55 correction, 5463 events, frequency\n", "#session = '009266_hippoSIT_2023-04-17_17-04-17' # ch17, 20 + 55 correction, 5067 events\n", "#session = '009266_hippoSIT_2023-04-18_10-10-37' # ch17, 10 + 55 correction, 5682 events\n", "#session = '009266_hippoSIT_2023-04-18_17-03-10' # ch17, 7 + 55 correction, 5494 events\n", "#session = '009266_hippoSIT_2023-04-19_10-33-51' # ch17, 4 + 55 correction, 6424 events\n", "#session = '009266_hippoSIT_2023-04-20_08-57-39' # ch1, 1 + 55 correction, 6424 events\n", "#session = '009266_hippoSIT_2023-04-24_16-56-55' # ch17, 5 + 55* correction, 6165 events, frequency\n", "#session = '009266_hippoSIT_2023-04-26_08-20-17' # ch17, 12 + 55* correction, 6095 events, duration\n", "#session = '009266_hippoSIT_2023-05-02_12-22-14' # ch20, 10 + 55 correction, 5976 events, frequency\n", "#session = '009266_hippoSIT_2023-05-04_09-11-06' # ch17, 5 + 55* correction, 4487 events, coma session with baseline AEPs\n", "#session = '009266_hippoSIT_2023-05-04_19-47-15' # ch20, 2 + 55 correction, 5678 events, frequency\n", "\n", "# Old PPC sessions (P1 is on 30ms)\n", "#session, channel = '008229_hippoSIT_2022-05-17_21-44-43', 0 # chs: 0, 31, 54, 56; 103 corr\n", "#session, channel = '008229_hippoSIT_2022-05-16_20-36-44', 0 # chs: 0, 56; 91 corr\n", "#session, channel = '008229_hippoSIT_2022-05-20_15-54-39', 0 # chs: 0, 56; 65 corr\n", "#session, channel = '008229_hippoSIT_2022-05-18_14-36-18', 0 # chs: 0, 56; 70 corr\n", "\n", "animal = session.split('_')[0]\n", "sessionpath = os.path.join(source, animal, session)\n", "h5_file = os.path.join(source, animal, session, session + '.h5')\n", "dat_file = os.path.join(source, animal, session, session + '.dat')\n", "aeps_file = os.path.join(sessionpath, 'AEPs.h5')" ] }, { "cell_type": "code", "execution_count": 5, "id": "c2642c05", "metadata": {}, "outputs": [], "source": [ "dat_processor = DatProcessor(dat_file)" ] }, { "cell_type": "code", "execution_count": 6, "id": "45dda77a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "137.33447265625" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# get raw signal from selected channel\n", "raw_signal = dat_processor.get_single_channel(39)\n", "\n", "# how much memory is the signal\n", "(raw_signal.shape[0] * 2) / 1024**2" ] }, { "cell_type": "code", "execution_count": 7, "id": "d968ca20", "metadata": {}, "outputs": [], "source": [ "# 1 - remove 50Hz. Probably not possible, take just the good channel" ] }, { "cell_type": "code", "execution_count": 8, "id": "17e8a716", "metadata": {}, "outputs": [], "source": [ "# bandpass filter 0.5 - 200\n", "low_cut = 0.5\n", "high_cut = 200\n", "filt_signal = DatProcessor.butter_bandpass_filter(raw_signal, low_cut, high_cut, 30000)" ] }, { "cell_type": "code", "execution_count": 9, "id": "0a118ab2", "metadata": {}, "outputs": [], "source": [ "# downsample 30 times to 1KHz\n", "del raw_signal\n", "down_signal = signal.decimate(filt_signal, 30)" ] }, { "cell_type": "code", "execution_count": 10, "id": "3bc24fdc", "metadata": {}, "outputs": [], "source": [ "# 3 - smooth? Maybe skip" ] }, { "cell_type": "code", "execution_count": 11, "id": "94863755", "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# test bandpass / downsampling\n", "t_start = 5.0 # sec\n", "duration = 1.0 # sec\n", "s_rate = 30000\n", "down_s_rate = 1000\n", "\n", "plt.plot(raw_signal[int(t_start*s_rate):int(t_start*s_rate) + int(duration*s_rate)])\n", "plt.plot(filt_signal[int(t_start*s_rate):int(t_start*s_rate) + int(duration*s_rate)])\n", "plt.plot(np.linspace(0, int(duration*s_rate), int(duration*down_s_rate)), \\\n", " down_signal[int(t_start*down_s_rate):int(t_start*down_s_rate) + int(duration*down_s_rate)])" ] }, { "cell_type": "code", "execution_count": 40, "id": "8ab78206", "metadata": {}, "outputs": [], "source": [ "# save LFP\n", "# with h5py.File(aeps_file, 'r') as f:\n", "# down_signal = np.array(f['LFP'])\n", " \n", "with h5py.File(aeps_file, 'a') as f:\n", " if not str(channel) in f:\n", " f.create_group(str(channel))\n", " if 'LFP' in f:\n", " del f['LFP']\n", " if 'LFP' in f[str(channel)]:\n", " del f[str(channel)]['LFP']\n", " f[str(channel)].create_dataset('LFP', data=down_signal)" ] }, { "cell_type": "code", "execution_count": 11, "id": "44735605", "metadata": {}, "outputs": [], "source": [ "# copy from previous\n", "\n", "selected_sessions = [\n", "# new dual A1 / PPC sessions\n", "'009266_hippoSIT_2023-04-17_17-04-17', # ch17, 20 + 55 correction, 5067 events\n", "'009266_hippoSIT_2023-04-18_10-10-37', # ch17, 10 + 55 correction, 5682 events\n", "'009266_hippoSIT_2023-04-18_17-03-10', # ch17, 6 + 55 correction, 5494 events\n", "'009266_hippoSIT_2023-04-19_10-33-51', # ch17, 4 + 55 correction, 6424 events\n", "'009266_hippoSIT_2023-04-20_08-57-39', # ch1, 1 + 55 correction, 6424 events\n", "'009266_hippoSIT_2023-04-24_16-56-55', # ch17, 5 + 55* correction, 6165 events, frequency\n", "'009266_hippoSIT_2023-04-26_08-20-17', # ch17, 12 + 55* correction, 6095 events, duration\n", "'009266_hippoSIT_2023-05-02_12-22-14', # ch20, 10 + 55 correction, 5976 events, frequency\n", "'009266_hippoSIT_2023-05-04_09-11-06', # ch17, 5 + 55* correction, 4487 events, coma session with baseline AEPs\n", "'009266_hippoSIT_2023-05-04_19-47-15', # ch20, 2 + 55 correction, 5678 events, frequency\n", "\n", "# old PPC data\n", "#'008229_hippoSIT_2022-05-17_21-44-43', #0 # chs: 0, 31, 54, 56\n", "#'008229_hippoSIT_2022-05-16_20-36-44', #0 # chs: 0, 56\n", "#'008229_hippoSIT_2022-05-20_15-54-39', #0 # chs: 0, 56\n", "#'008229_hippoSIT_2022-05-18_14-36-18', #0 # chs: 0, 56\n", "]" ] }, { "cell_type": "code", "execution_count": 13, "id": "a6b32878", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "session 009266_hippoSIT_2023-04-17_17-04-17 done\n", "session 009266_hippoSIT_2023-04-18_10-10-37 done\n", "session 009266_hippoSIT_2023-04-18_17-03-10 done\n", "session 009266_hippoSIT_2023-04-19_10-33-51 done\n", "session 009266_hippoSIT_2023-04-20_08-57-39 done\n", "session 009266_hippoSIT_2023-04-24_16-56-55 done\n", "session 009266_hippoSIT_2023-04-26_08-20-17 done\n", "session 009266_hippoSIT_2023-05-02_12-22-14 done\n", "session 009266_hippoSIT_2023-05-04_09-11-06 done\n", "session 009266_hippoSIT_2023-05-04_19-47-15 done\n" ] } ], "source": [ "for session in selected_sessions:\n", " animal = session.split('_')[0]\n", " sessionpath = os.path.join(source, animal, session)\n", " aeps_file = os.path.join(sessionpath, 'AEPs.h5')\n", "\n", " with h5py.File(aeps_file, 'r') as f:\n", " aeps_events = np.array(f['aeps_events'])\n", " LFP = np.array(f['LFP'])\n", " aeps = np.array(f['aeps'])\n", "\n", " with h5py.File(aeps_file, 'a') as f:\n", " if 'A1' in f:\n", " del f['A1']\n", "\n", " grp = f.create_group('A1')\n", " grp.create_dataset('LFP', data=LFP)\n", " grp.create_dataset('aeps', data=aeps)\n", " \n", " print(\"session %s done\" % session)" ] }, { "cell_type": "markdown", "id": "23e58ad7", "metadata": {}, "source": [ "## Extract AEPs from downsampled LFP" ] }, { "cell_type": "code", "execution_count": 122, "id": "49428f62", "metadata": {}, "outputs": [], "source": [ "# get LFP\n", "with h5py.File(aeps_file, 'r') as f:\n", " down_signal = np.array(f[str(channel)]['LFP'])" ] }, { "cell_type": "code", "execution_count": 123, "id": "933ee1cb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5913" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# get sound events\n", "with h5py.File(h5_file, 'r') as f:\n", " tl = np.array(f['processed']['timeline'])\n", " events = np.array(f['raw']['sounds'])\n", "\n", "# normalize time to session start\n", "events[:, 0] -= events[0][0]\n", "\n", "# select only target / background presentations\n", "events = events[(events[:, 1] == 1) | (events[:, 1] == 2)]\n", "events = events[:-1]\n", "len(events)" ] }, { "cell_type": "code", "execution_count": 127, "id": "0f770e85", "metadata": {}, "outputs": [], "source": [ "# constructing AEP matrix\n", "duration = 0.2 # sec\n", "down_s_rate = 1000 # Hz\n", "event_lat = 0.0 # sound latency in sec\n", "\n", "# sound timing correction array\n", "def get_correction_for_sounds(events):\n", " # N1 should be at 20ms\n", " # then if N1 is from 33 to 88 correction should be from 13 to 68 ms\n", " duration = events[-1][0] - events[0][0]\n", " corrected = np.array([70 + 55*(t/duration) for t in events[:, 0]]) / 1000 # to get it in seconds\n", " return corrected\n", "\n", "def extract_aeps(events):\n", " aeps = np.zeros([len(events), int(duration*down_s_rate)])\n", " corr = get_correction_for_sounds(events)\n", " \n", " for i, event in enumerate(events):\n", " t_event = event[0] + corr[i] # NOTE: linear correction applied!\n", " idx_event = int((t_event + event_lat)*down_s_rate)\n", " aeps[i] = down_signal[idx_event:idx_event + int(duration*down_s_rate)]\n", " \n", " return aeps\n", "\n", "aeps = extract_aeps(events)\n", "\n", "events_corrected = np.zeros(events.shape)\n", "events_corrected[:, 1] = events[:, 1]\n", "events_corrected[:, 0] = events[:, 0] + get_correction_for_sounds(events)" ] }, { "cell_type": "code", "execution_count": 128, "id": "3b938134", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 128, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Check drift of sound pulses - plot AEP min positions\n", "mins = aeps.argmin(axis=1)\n", "t_N1 = 20\n", "\n", "fig = plt.figure(figsize=(14, 3))\n", "ax = fig.add_subplot(111)\n", "ax.plot(mins)\n", "#plt.ylim(60, 100)\n", "plt.axhline(t_N1, color='red', ls='--', lw=1)\n", "plt.axhline(75, color='red', ls='--', lw=1)\n", "plt.axhline(95, color='red', ls='--', lw=1)\n", "#plt.plot([0, 6643], [33, 88])" ] }, { "cell_type": "code", "execution_count": 129, "id": "d6e7167f", "metadata": {}, "outputs": [], "source": [ "# save AEPs to file\n", "with h5py.File(aeps_file, 'a') as f:\n", " if 'aeps' in f:\n", " del f['aeps']\n", " if 'aeps' in f[str(channel)]:\n", " del f[str(channel)]['aeps']\n", " if 'aeps_events' in f:\n", " del f['aeps_events']\n", " \n", " f[str(channel)].create_dataset('aeps', data=aeps)\n", " f.create_dataset('aeps_events', data=events_corrected)" ] }, { "cell_type": "markdown", "id": "f003717e", "metadata": {}, "source": [ "## P1, N1, P2, P3 metrics extraction" ] }, { "cell_type": "code", "execution_count": 23, "id": "5d823efb", "metadata": {}, "outputs": [], "source": [ "def get_metric(aeps, t_l, t_r, k_width=20):\n", " # extracts areas for a given time window\n", " # returns original and smoothed/normed areas\n", " def to_normed(data):\n", " normed = data - data.min() \n", " return normed/(normed.max() - normed.min())\n", "\n", " # extracting interval values\n", " metric = aeps[:, t_l:t_r].sum(axis=1)\n", " m_mean, m_std = metric.mean(), metric.std()\n", " metric[metric > m_mean + 3*m_std] = m_mean + 3*m_std\n", " metric[metric < m_mean - 3*m_std] = m_mean - 3*m_std\n", " \n", " # z-scored\n", " metric_z = stats.zscore(metric)\n", " \n", " # smoothed\n", " kernel = signal.gaussian(k_width, std=(k_width) / 7.2)\n", " metric_smooth = np.convolve(metric_z, kernel, 'same') / kernel.sum()\n", " \n", " return metric, metric_smooth #to_normed(metric_smooth)" ] }, { "cell_type": "code", "execution_count": 24, "id": "58094149", "metadata": {}, "outputs": [], "source": [ "selected_sessions = [\n", "'009266_hippoSIT_2023-04-17_17-04-17', # ch17, 20 + 55 correction, 5067 events\n", "'009266_hippoSIT_2023-04-18_10-10-37', # ch17, 10 + 55 correction, 5682 events\n", "'009266_hippoSIT_2023-04-18_17-03-10', # ch17, 6 + 55 correction, 5494 events\n", "'009266_hippoSIT_2023-04-19_10-33-51', # ch17, 4 + 55 correction, 6424 events\n", "'009266_hippoSIT_2023-04-20_08-57-39', # ch1, 1 + 55 correction, 6424 events\n", "'009266_hippoSIT_2023-04-24_16-56-55', # ch17, 5 + 55* correction, 6165 events, frequency\n", "'009266_hippoSIT_2023-04-26_08-20-17', # ch17, 12 + 55* correction, 6095 events, duration\n", "'009266_hippoSIT_2023-05-02_12-22-14', # ch20, 10 + 55 correction, 5976 events, frequency\n", "'009266_hippoSIT_2023-05-04_09-11-06', # ch17, 5 + 55* correction, 4487 events, coma session with baseline AEPs\n", "'009266_hippoSIT_2023-05-04_19-47-15', # ch20, 2 + 55 correction, 5678 events, frequency\n", "\n", "# old PPC data\n", "#'008229_hippoSIT_2022-05-17_21-44-43', #0 # chs: 0, 31, 54, 56\n", "#'008229_hippoSIT_2022-05-16_20-36-44', #0 # chs: 0, 56\n", "#'008229_hippoSIT_2022-05-20_15-54-39', #0 # chs: 0, 56\n", "#'008229_hippoSIT_2022-05-18_14-36-18', #0 # chs: 0, 56\n", "]\n", "\n", "# A1 metric boundaries\n", "metric_lims = {\n", " 'P1': (15, 25),\n", " 'N1': (30, 75),\n", " 'P2': (75, 95),\n", " 'P3': (95, 175),\n", "}\n", "\n", "# PPC metric boundaries\n", "# metric_lims = {\n", "# 'P1': (20, 36),\n", "# 'N1': (36, 62),\n", "# 'P2': (62, 80),\n", "# 'P3': (80, 135),\n", "# }\n", "\n", "#channel = 0\n", "area = 'A1'" ] }, { "cell_type": "code", "execution_count": 25, "id": "f2edd36e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Session 009266_hippoSIT_2023-04-17_17-04-17 done\n", "Session 009266_hippoSIT_2023-04-18_10-10-37 done\n", "Session 009266_hippoSIT_2023-04-18_17-03-10 done\n", "Session 009266_hippoSIT_2023-04-19_10-33-51 done\n", "Session 009266_hippoSIT_2023-04-20_08-57-39 done\n", "Session 009266_hippoSIT_2023-04-24_16-56-55 done\n", "Session 009266_hippoSIT_2023-04-26_08-20-17 done\n", "Session 009266_hippoSIT_2023-05-02_12-22-14 done\n", "Session 009266_hippoSIT_2023-05-04_09-11-06 done\n", "Session 009266_hippoSIT_2023-05-04_19-47-15 done\n" ] } ], "source": [ "# change OUTLIER boundaries before computing!!\n", "for session in selected_sessions:\n", " animal = session.split('_')[0]\n", " sessionpath = os.path.join(source, animal, session)\n", " aeps_file = os.path.join(sessionpath, 'AEPs.h5')\n", " \n", " with h5py.File(aeps_file, 'r') as f:\n", " aeps = np.array(f[area]['aeps'])\n", " aeps_events = np.array(f['aeps_events'])\n", " \n", " # remove outliers\n", " #aeps[aeps > 1500] = 1500\n", " #aeps[aeps < -1500] = -1500\n", " aeps[aeps > 5000] = 5000\n", " aeps[aeps < -5000] = -5000\n", "\n", " metrics_raw, metrics_norm = {}, {}\n", "\n", " for m, bound in metric_lims.items():\n", " m_raw, m_norm = get_metric(aeps, bound[0], bound[1])\n", " metrics_raw[m] = m_raw\n", " metrics_norm[m] = m_norm #if m == 'N1' else m_norm * (-1) + 1\n", " \n", " # save metrics to file\n", " with h5py.File(aeps_file, 'a') as f:\n", " grp = f[area]\n", " if not 'raw' in grp:\n", " grp.create_group('raw')\n", " if not 'norm' in grp:\n", " grp.create_group('norm')\n", "\n", " for m_del_name in ['N1', 'P1', 'N2', 'N3']:\n", " if m_del_name in grp['norm']:\n", " del grp['norm'][m_del_name]\n", " if m_del_name in grp['raw']:\n", " del grp['raw'][m_del_name]\n", "\n", " for m_name in metrics_raw.keys():\n", " if m_name in grp['raw']:\n", " del grp['raw'][m_name]\n", " if m_name in grp['norm']:\n", " del grp['norm'][m_name]\n", " d = grp['raw'].create_dataset(m_name, data=metrics_raw[m_name])\n", " d.attrs['limits'] = ','.join([str(x) for x in metric_lims[m_name]])\n", " d = grp['norm'].create_dataset(m_name, data=metrics_norm[m_name])\n", " d.attrs['limits'] = ','.join([str(x) for x in metric_lims[m_name]])\n", " grp.attrs['limits'] = ','.join([str(x) for x in metric_lims[m_name]])\n", " \n", " print('Session %s done' % session)" ] }, { "cell_type": "code", "execution_count": null, "id": "8cdffc32", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }