diff --git a/000363/MAP/demo/README.md b/000363/MAP/demo/README.md new file mode 100644 index 0000000..a9d24d9 --- /dev/null +++ b/000363/MAP/demo/README.md @@ -0,0 +1,9 @@ +This folder contains a notebook that demonstrates how to work with dandiset 000363. + +`browse_map_ephys_data.ipynb` demonstrates how to navigate a single `.nwb` file from +dataset 000363. This dataset was generated from the [map +ephys](https://github.com/mesoscale-activity-map/map-ephys) pipeline. + +The notebook demonstrates the contents of the `.nwb` file including acquiring the ccf +coordinates, creating rasters aligned to specific events, and browsing the dandiset +without downloading the file locally. \ No newline at end of file diff --git a/000363/MAP/demo/browse_map_ephys_data.ipynb b/000363/MAP/demo/browse_map_ephys_data.ipynb new file mode 100644 index 0000000..d2d492b --- /dev/null +++ b/000363/MAP/demo/browse_map_ephys_data.ipynb @@ -0,0 +1,2005 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Browse datasets on DANDI\n", + "\n", + "This notebook will provide instructions to read a dataset from DANDI and browse\n", + "the corresponding NWB file. The full set of instructions on NWB can be found\n", + "[here](https://pynwb.readthedocs.io/en/stable/index.html). \n", + "\n", + "The following packages are necessary to run this notebook. Please install them\n", + "to your conda environment by typing each of the code blocks in your terminal:\n", + "\n", + "1. pynwb:\n", + "\n", + " ```pip install pynwb```\n", + "\n", + "2. nwbwidgets:\n", + "\n", + " ```pip install nwbwidgets```\n", + "\n", + "3. fsspec, requests, and aiohttp\n", + "\n", + " ```pip install fsspec requests aiohttp```\n", + "\n", + "\n", + "This notebook allows you to stream data directly from DANDI to preview the contents of\n", + "the `.nwb` file. We currently recommend downloading the `.nwb`\n", + "file of interest to your local machine after you explore it with the nwbwidget\n", + "to ensure optimal performance for downstream analyses. \n", + "\n", + "If you want to explore the NWB file in streaming mode, you will find\n", + "instructions at the bottom of the notebook to do so. Please note that converting\n", + "the `units` object to a dataframe takes a long time in this mode and it is\n", + "recommended that you bring objects into memory one at a time for best performance.\n", + "\n", + "The dataset used in this notebook can be found at\n", + "[https://dandiarchive.org/dandiset/000363?pos=1](https://dandiarchive.org/dandiset/000363?pos=1)." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pynwb\n", + "import fsspec\n", + "import h5py\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from pynwb import NWBHDF5IO\n", + "from nwbwidgets import nwb2widget\n", + "from nwbwidgets.panel import Panel\n", + "from dandi.dandiapi import DandiAPIClient" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The nwbwidgets `Panel()` class allows you to generate an exploratory widget for\n", + "any NWB file. This file can be on your local machine or on DANDI archive. To\n", + "find your dataset on DANDI please follow the steps below:\n", + "\n", + "1. Click on the `DANDI` radio button on the left side of the top panel.\n", + "2. Find your Dandiset: the MAP data is at Dandiset ID `000363`. \n", + "3. Find the file you want to browse.\n", + "4. Click load file to generate a widget that allows you to explore the contents\n", + " of the `.nwb` file. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f4729bd5bb454ca598457ae51c3a9b3a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Panel(children=(HBox(children=(VBox(children=(RadioButtons(layout=Layout(width='100px'), options=('Local dir',…" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "fe2905db64fa450f98d2bd828260c866", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Loading dandiset metadata: 0%| | 0/296 [00:00\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
start_timestop_timetrialphotostim_onsetphotostim_powerphotostim_durationtrial_uidtasktask_protocoltrial_instructionearly_lickoutcomeauto_waterfree_water
id
00.00005.55441N/AN/AN/A1audio delay1rightearlyhit00
111.820822.29212N/AN/AN/A2audio delay1rightearlyhit00
224.094030.48053N/AN/AN/A3audio delay1rightearlyhit00
333.136439.94604N/AN/AN/A4audio delay1rightearlyignore00
441.737446.72015N/AN/AN/A5audio delay1rightno earlyhit00
.............................................
6554766.56994771.5319656N/AN/AN/A656audio delay1rightno earlyhit00
6564773.99504778.8603657N/AN/AN/A657audio delay1rightno earlyhit00
6574781.31204785.1642658N/AN/AN/A658audio delay1leftno earlymiss00
6584787.82744792.9458659N/AN/AN/A659audio delay1leftno earlyhit00
6594795.40724799.23896601.8915.5000.5000660audio delay1leftno earlymiss00
\n", + "

660 rows × 14 columns

\n", + "" + ], + "text/plain": [ + " start_time stop_time trial photostim_onset photostim_power \\\n", + "id \n", + "0 0.0000 5.5544 1 N/A N/A \n", + "1 11.8208 22.2921 2 N/A N/A \n", + "2 24.0940 30.4805 3 N/A N/A \n", + "3 33.1364 39.9460 4 N/A N/A \n", + "4 41.7374 46.7201 5 N/A N/A \n", + ".. ... ... ... ... ... \n", + "655 4766.5699 4771.5319 656 N/A N/A \n", + "656 4773.9950 4778.8603 657 N/A N/A \n", + "657 4781.3120 4785.1642 658 N/A N/A \n", + "658 4787.8274 4792.9458 659 N/A N/A \n", + "659 4795.4072 4799.2389 660 1.891 5.500 \n", + "\n", + " photostim_duration trial_uid task task_protocol \\\n", + "id \n", + "0 N/A 1 audio delay 1 \n", + "1 N/A 2 audio delay 1 \n", + "2 N/A 3 audio delay 1 \n", + "3 N/A 4 audio delay 1 \n", + "4 N/A 5 audio delay 1 \n", + ".. ... ... ... ... \n", + "655 N/A 656 audio delay 1 \n", + "656 N/A 657 audio delay 1 \n", + "657 N/A 658 audio delay 1 \n", + "658 N/A 659 audio delay 1 \n", + "659 0.5000 660 audio delay 1 \n", + "\n", + " trial_instruction early_lick outcome auto_water free_water \n", + "id \n", + "0 right early hit 0 0 \n", + "1 right early hit 0 0 \n", + "2 right early hit 0 0 \n", + "3 right early ignore 0 0 \n", + "4 right no early hit 0 0 \n", + ".. ... ... ... ... ... \n", + "655 right no early hit 0 0 \n", + "656 right no early hit 0 0 \n", + "657 left no early miss 0 0 \n", + "658 left no early hit 0 0 \n", + "659 left no early miss 0 0 \n", + "\n", + "[660 rows x 14 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "trials_df" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
unitsampling_rateunit_qualityunit_posxunit_posyunit_ampunit_snrisi_violationavg_firing_ratedrift_metric...velocity_abovevelocity_belowclassificationanno_namespike_timesobs_intervalselectrodeselectrode_groupwaveform_meanwaveform_sd
id
0030000good59.00.0147.2176818.0375140.0000000.4136500.018182...0.686771NaNunlabelled[19.228361858212644, 25.16561393995109, 28.914...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3...l...17216703352 1-301 pynwb.ecephys.ElectrodeGroup...[2.5724660462776656, 2.1456866197183095, 1.966...[nan]
1130000multi11.020.086.1264304.7877420.0000000.0955060.000000...0.0000000.000000unlabelled[8.136125511297582, 8.235526053858877, 14.2586...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3...l...17216703352 1-301 pynwb.ecephys.ElectrodeGroup...[0.16850490196078433, 0.4238153594771242, 0.19...[nan]
2230000good43.020.064.7460943.5528610.00265317.3242000.154545...10.988300-6.180940unlabelled[-0.3295540305365834, -0.19785331167015974, 0....[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3...l...17216703352 1-301 pynwb.ecephys.ElectrodeGroup...[-2.0531439012096775, -1.9397366431451613, -1....[nan]
3330000good11.060.056.5399842.9540130.0000000.2856850.072727...-0.5150780.480740goodAnterior olfactory nucleus[16.85488223630304, 17.939621490504805, 18.021...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3...l...17216703352 1-301 pynwb.ecephys.ElectrodeGroup...[0.7641921397379913, 0.56632096069869, 0.82901...[nan]
4430000good27.040.060.0360583.3314540.0000000.0054101.000000...-0.262633-0.343385unlabelled[17.38181844582985, 441.68083391373926, 564.16...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3...l...17216703352 1-301 pynwb.ecephys.ElectrodeGroup...[-0.18028846153846154, 0.3605769230769231, -0....[nan]
..................................................................
211150530000good59.01440.0297.5341806.3423090.0000000.0998750.000000...0.000000-0.343388goodMidbrain reticular nucleus[15.20743573111292, 16.26698295628765, 16.4064...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3......18005107871 1-384 pynwb.ecephys.ElectrodeGroup...[-4.755859375, -5.0830078125, -3.9892578125, -...[nan]
211250630000good59.01560.098.6120352.5715650.0000000.0195591.000000...24.037200-1.373550unlabelled[8.793836569035015, 277.82287333129483, 354.28...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3......18005107871 1-384 pynwb.ecephys.ElectrodeGroup...[5.759640957446808, 5.659906914893617, 6.65724...[nan]
211350730000multi59.01640.0172.3461664.0560730.0000000.1210980.000000...8.928090NaNunlabelled[1.2496709899752019, 33.18653497590302, 34.357...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3......18005107871 1-384 pynwb.ecephys.ElectrodeGroup...[-2.009503865979381, -2.3477770618556697, -2.7...[nan]
211450830000multi11.02300.0124.1631673.0791360.0000000.0526420.000000...0.637721-0.722299unlabelled[1.2787047039727852, 1.4934741865060008, 80.67...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3......18005107871 1-384 pynwb.ecephys.ElectrodeGroup...[-1.1950345849802373, -1.0653409090909092, -1....[nan]
211550930000multi11.02740.0106.1718753.2674640.0000000.0020811.000000...-1.327770-0.302509unlabelled[134.56330014589082, 877.815221847931, 877.999...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3......18005107871 1-384 pynwb.ecephys.ElectrodeGroup...[3.28125, 2.578125, -0.9375, -1.640625, 3.9843...[nan]
\n", + "

2116 rows × 36 columns

\n", + "
" + ], + "text/plain": [ + " unit sampling_rate unit_quality unit_posx unit_posy unit_amp \\\n", + "id \n", + "0 0 30000 good 59.0 0.0 147.217681 \n", + "1 1 30000 multi 11.0 20.0 86.126430 \n", + "2 2 30000 good 43.0 20.0 64.746094 \n", + "3 3 30000 good 11.0 60.0 56.539984 \n", + "4 4 30000 good 27.0 40.0 60.036058 \n", + "... ... ... ... ... ... ... \n", + "2111 505 30000 good 59.0 1440.0 297.534180 \n", + "2112 506 30000 good 59.0 1560.0 98.612035 \n", + "2113 507 30000 multi 59.0 1640.0 172.346166 \n", + "2114 508 30000 multi 11.0 2300.0 124.163167 \n", + "2115 509 30000 multi 11.0 2740.0 106.171875 \n", + "\n", + " unit_snr isi_violation avg_firing_rate drift_metric ... \\\n", + "id ... \n", + "0 8.037514 0.000000 0.413650 0.018182 ... \n", + "1 4.787742 0.000000 0.095506 0.000000 ... \n", + "2 3.552861 0.002653 17.324200 0.154545 ... \n", + "3 2.954013 0.000000 0.285685 0.072727 ... \n", + "4 3.331454 0.000000 0.005410 1.000000 ... \n", + "... ... ... ... ... ... \n", + "2111 6.342309 0.000000 0.099875 0.000000 ... \n", + "2112 2.571565 0.000000 0.019559 1.000000 ... \n", + "2113 4.056073 0.000000 0.121098 0.000000 ... \n", + "2114 3.079136 0.000000 0.052642 0.000000 ... \n", + "2115 3.267464 0.000000 0.002081 1.000000 ... \n", + "\n", + " velocity_above velocity_below classification \\\n", + "id \n", + "0 0.686771 NaN unlabelled \n", + "1 0.000000 0.000000 unlabelled \n", + "2 10.988300 -6.180940 unlabelled \n", + "3 -0.515078 0.480740 good \n", + "4 -0.262633 -0.343385 unlabelled \n", + "... ... ... ... \n", + "2111 0.000000 -0.343388 good \n", + "2112 24.037200 -1.373550 unlabelled \n", + "2113 8.928090 NaN unlabelled \n", + "2114 0.637721 -0.722299 unlabelled \n", + "2115 -1.327770 -0.302509 unlabelled \n", + "\n", + " anno_name \\\n", + "id \n", + "0 \n", + "1 \n", + "2 \n", + "3 Anterior olfactory nucleus \n", + "4 \n", + "... ... \n", + "2111 Midbrain reticular nucleus \n", + "2112 \n", + "2113 \n", + "2114 \n", + "2115 \n", + "\n", + " spike_times \\\n", + "id \n", + "0 [19.228361858212644, 25.16561393995109, 28.914... \n", + "1 [8.136125511297582, 8.235526053858877, 14.2586... \n", + "2 [-0.3295540305365834, -0.19785331167015974, 0.... \n", + "3 [16.85488223630304, 17.939621490504805, 18.021... \n", + "4 [17.38181844582985, 441.68083391373926, 564.16... \n", + "... ... \n", + "2111 [15.20743573111292, 16.26698295628765, 16.4064... \n", + "2112 [8.793836569035015, 277.82287333129483, 354.28... \n", + "2113 [1.2496709899752019, 33.18653497590302, 34.357... \n", + "2114 [1.2787047039727852, 1.4934741865060008, 80.67... \n", + "2115 [134.56330014589082, 877.815221847931, 877.999... \n", + "\n", + " obs_intervals \\\n", + "id \n", + "0 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "1 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "2 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "3 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "4 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "... ... \n", + "2111 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "2112 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "2113 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "2114 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "2115 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "\n", + " electrodes \\\n", + "id \n", + "0 l... \n", + "1 l... \n", + "2 l... \n", + "3 l... \n", + "4 l... \n", + "... ... \n", + "2111 ... \n", + "2112 ... \n", + "2113 ... \n", + "2114 ... \n", + "2115 ... \n", + "\n", + " electrode_group \\\n", + "id \n", + "0 17216703352 1-301 pynwb.ecephys.ElectrodeGroup... \n", + "1 17216703352 1-301 pynwb.ecephys.ElectrodeGroup... \n", + "2 17216703352 1-301 pynwb.ecephys.ElectrodeGroup... \n", + "3 17216703352 1-301 pynwb.ecephys.ElectrodeGroup... \n", + "4 17216703352 1-301 pynwb.ecephys.ElectrodeGroup... \n", + "... ... \n", + "2111 18005107871 1-384 pynwb.ecephys.ElectrodeGroup... \n", + "2112 18005107871 1-384 pynwb.ecephys.ElectrodeGroup... \n", + "2113 18005107871 1-384 pynwb.ecephys.ElectrodeGroup... \n", + "2114 18005107871 1-384 pynwb.ecephys.ElectrodeGroup... \n", + "2115 18005107871 1-384 pynwb.ecephys.ElectrodeGroup... \n", + "\n", + " waveform_mean waveform_sd \n", + "id \n", + "0 [2.5724660462776656, 2.1456866197183095, 1.966... [nan] \n", + "1 [0.16850490196078433, 0.4238153594771242, 0.19... [nan] \n", + "2 [-2.0531439012096775, -1.9397366431451613, -1.... [nan] \n", + "3 [0.7641921397379913, 0.56632096069869, 0.82901... [nan] \n", + "4 [-0.18028846153846154, 0.3605769230769231, -0.... [nan] \n", + "... ... ... \n", + "2111 [-4.755859375, -5.0830078125, -3.9892578125, -... [nan] \n", + "2112 [5.759640957446808, 5.659906914893617, 6.65724... [nan] \n", + "2113 [-2.009503865979381, -2.3477770618556697, -2.7... [nan] \n", + "2114 [-1.1950345849802373, -1.0653409090909092, -1.... [nan] \n", + "2115 [3.28125, 2.578125, -0.9375, -1.640625, 3.9843... [nan] \n", + "\n", + "[2116 rows x 36 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "units_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The units dataframe contains information such as `unit_quality`, `spike_times`,\n", + "and even the CCF location of the electrode for each unit. In the cell below, we'll write a\n", + "function that returns the x, y and z CCF coordinates for a given unit in the\n", + "`units_df`.\n", + "\n", + "**Please Note:** x, y, and z are described in the pipeline as follows:\n", + "\n", + " ccf_x : int # (um) Left-to-Right (ML axis)\n", + " ccf_y : int # (um) Superior-to-Inferior (DV axis)\n", + " ccf_z : int # (um) Anterior-to-Posterior (AP axis)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "def get_ccf(unit_number):\n", + " x = float(units_df.electrodes[unit_number].reset_index().x.values)\n", + " y = float(units_df.electrodes[unit_number].reset_index().y.values)\n", + " z = float(units_df.electrodes[unit_number].reset_index().z.values)\n", + " return x, y, z" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x_ccf = 7200.0\n", + "y_ccf = 2400.0\n", + "z_ccf = 2500.0\n" + ] + } + ], + "source": [ + "x_ccf, y_ccf, z_ccf = get_ccf(unit_number=150)\n", + "\n", + "print(f\"x_ccf = {x_ccf}\")\n", + "print(f\"y_ccf = {y_ccf}\")\n", + "print(f\"z_ccf = {z_ccf}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can further filter the dataframes to suit your analysis goals. For example,\n", + "we will filter the `trials_df` to only show the entries that contain `photostim`\n", + "and where the outcome is a `hit`.\n", + "We will also filter the `units_df` to only show units with \"good\"\n", + "`classification` quality." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "trials = trials_df.query(\"photostim_onset != 'N/A' and outcome == 'hit'\")" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "units = units_df.query(\"classification == 'good'\").reset_index()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idunitsampling_rateunit_qualityunit_posxunit_posyunit_ampunit_snrisi_violationavg_firing_rate...velocity_abovevelocity_belowclassificationanno_namespike_timesobs_intervalselectrodeselectrode_groupwaveform_meanwaveform_sd
03330000good11.060.056.5399842.9540130.0000000.285685...-0.5150780.480740goodAnterior olfactory nucleus[16.85488223630304, 17.939621490504805, 18.021...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3...l...17216703352 1-301 pynwb.ecephys.ElectrodeGroup...[0.7641921397379913, 0.56632096069869, 0.82901...[nan]
18830000good11.0300.0114.7563325.3880860.0379093.299630...0.3716090.426272goodAnterior olfactory nucleus[-0.02451903222055085, 0.44261685089614433, 1....[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3...l...17216703352 1-301 pynwb.ecephys.ElectrodeGroup...[-1.3679750504032258, -1.216765372983871, -1.1...[nan]
29930000good27.0320.0337.81038213.5692960.0000001.196630...0.9020270.000000goodAnterior olfactory nucleus[-0.3466541238745928, -0.3245873367600467, 1.5...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3...l...17216703352 1-301 pynwb.ecephys.ElectrodeGroup...[-5.366918665276329, -5.335147288842545, -5.42...[nan]
3101030000good11.0340.0236.1015628.8389410.0000000.249688...2.166600-1.983600goodAnterior olfactory nucleus[3.5245003395101864, 19.96236586465118, 24.589...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3...l...17216703352 1-301 pynwb.ecephys.ElectrodeGroup...[-3.87109375, -3.41015625, -3.62890625, -4.511...[nan]
4131330000good59.0360.0251.81998712.0157200.0000000.554932...1.904400-2.895710goodAnterior olfactory nucleus[3.5243336719337925, 3.5277003569769483, 3.537...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3...l...17216703352 1-301 pynwb.ecephys.ElectrodeGroup...[4.350042182227221, 4.002038807649043, 4.17076...[nan]
..................................................................
529209148530000good43.01860.0126.6150502.9598960.0000000.417601...0.0000000.343388goodMidbrain reticular nucleus[8.770836267475506, 49.82652010675252, 51.0380...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3......18005107871 1-384 pynwb.ecephys.ElectrodeGroup...[1.079035874439462, 0.5745515695067265, -0.304...[nan]
530209548930000good27.02400.0163.9739214.2769030.0690317.943780...0.970959-1.013810goodSuperior colliculus, motor related, intermedia...[-0.46711818570510166, -0.13818053963374188, 0...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3......18005107871 1-384 pynwb.ecephys.ElectrodeGroup...[-0.4069841675178754, -0.7229954034729316, -1....[nan]
531210850230000multi11.03580.075.3838284.4704250.1267953.250500...3.139550-2.609750goodRetrosplenial area, ventral part, layer 1[3.584401600887656, 3.585334946458187, 3.98587...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3......18005107871 1-384 pynwb.ecephys.ElectrodeGroup...[2.6987909416581375, 2.5068769191402254, 2.516...[nan]
532211050430000good11.03620.0143.4125377.0070970.0000000.421970...1.905650-1.695770goodRetrosplenial area, ventral part, layer 1[22.52149829326651, 37.43265731395145, 73.9456...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3......18005107871 1-384 pynwb.ecephys.ElectrodeGroup...[1.9138313609467454, 2.0005085059171597, 2.142...[nan]
533211150530000good59.01440.0297.5341806.3423090.0000000.099875...0.000000-0.343388goodMidbrain reticular nucleus[15.20743573111292, 16.26698295628765, 16.4064...[[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3......18005107871 1-384 pynwb.ecephys.ElectrodeGroup...[-4.755859375, -5.0830078125, -3.9892578125, -...[nan]
\n", + "

534 rows × 37 columns

\n", + "
" + ], + "text/plain": [ + " id unit sampling_rate unit_quality unit_posx unit_posy unit_amp \\\n", + "0 3 3 30000 good 11.0 60.0 56.539984 \n", + "1 8 8 30000 good 11.0 300.0 114.756332 \n", + "2 9 9 30000 good 27.0 320.0 337.810382 \n", + "3 10 10 30000 good 11.0 340.0 236.101562 \n", + "4 13 13 30000 good 59.0 360.0 251.819987 \n", + ".. ... ... ... ... ... ... ... \n", + "529 2091 485 30000 good 43.0 1860.0 126.615050 \n", + "530 2095 489 30000 good 27.0 2400.0 163.973921 \n", + "531 2108 502 30000 multi 11.0 3580.0 75.383828 \n", + "532 2110 504 30000 good 11.0 3620.0 143.412537 \n", + "533 2111 505 30000 good 59.0 1440.0 297.534180 \n", + "\n", + " unit_snr isi_violation avg_firing_rate ... velocity_above \\\n", + "0 2.954013 0.000000 0.285685 ... -0.515078 \n", + "1 5.388086 0.037909 3.299630 ... 0.371609 \n", + "2 13.569296 0.000000 1.196630 ... 0.902027 \n", + "3 8.838941 0.000000 0.249688 ... 2.166600 \n", + "4 12.015720 0.000000 0.554932 ... 1.904400 \n", + ".. ... ... ... ... ... \n", + "529 2.959896 0.000000 0.417601 ... 0.000000 \n", + "530 4.276903 0.069031 7.943780 ... 0.970959 \n", + "531 4.470425 0.126795 3.250500 ... 3.139550 \n", + "532 7.007097 0.000000 0.421970 ... 1.905650 \n", + "533 6.342309 0.000000 0.099875 ... 0.000000 \n", + "\n", + " velocity_below classification \\\n", + "0 0.480740 good \n", + "1 0.426272 good \n", + "2 0.000000 good \n", + "3 -1.983600 good \n", + "4 -2.895710 good \n", + ".. ... ... \n", + "529 0.343388 good \n", + "530 -1.013810 good \n", + "531 -2.609750 good \n", + "532 -1.695770 good \n", + "533 -0.343388 good \n", + "\n", + " anno_name \\\n", + "0 Anterior olfactory nucleus \n", + "1 Anterior olfactory nucleus \n", + "2 Anterior olfactory nucleus \n", + "3 Anterior olfactory nucleus \n", + "4 Anterior olfactory nucleus \n", + ".. ... \n", + "529 Midbrain reticular nucleus \n", + "530 Superior colliculus, motor related, intermedia... \n", + "531 Retrosplenial area, ventral part, layer 1 \n", + "532 Retrosplenial area, ventral part, layer 1 \n", + "533 Midbrain reticular nucleus \n", + "\n", + " spike_times \\\n", + "0 [16.85488223630304, 17.939621490504805, 18.021... \n", + "1 [-0.02451903222055085, 0.44261685089614433, 1.... \n", + "2 [-0.3466541238745928, -0.3245873367600467, 1.5... \n", + "3 [3.5245003395101864, 19.96236586465118, 24.589... \n", + "4 [3.5243336719337925, 3.5277003569769483, 3.537... \n", + ".. ... \n", + "529 [8.770836267475506, 49.82652010675252, 51.0380... \n", + "530 [-0.46711818570510166, -0.13818053963374188, 0... \n", + "531 [3.584401600887656, 3.585334946458187, 3.98587... \n", + "532 [22.52149829326651, 37.43265731395145, 73.9456... \n", + "533 [15.20743573111292, 16.26698295628765, 16.4064... \n", + "\n", + " obs_intervals \\\n", + "0 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "1 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "2 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "3 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "4 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + ".. ... \n", + "529 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "530 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "531 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "532 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "533 [[0.0, 5.5544], [11.8208, 22.2921], [24.094, 3... \n", + "\n", + " electrodes \\\n", + "0 l... \n", + "1 l... \n", + "2 l... \n", + "3 l... \n", + "4 l... \n", + ".. ... \n", + "529 ... \n", + "530 ... \n", + "531 ... \n", + "532 ... \n", + "533 ... \n", + "\n", + " electrode_group \\\n", + "0 17216703352 1-301 pynwb.ecephys.ElectrodeGroup... \n", + "1 17216703352 1-301 pynwb.ecephys.ElectrodeGroup... \n", + "2 17216703352 1-301 pynwb.ecephys.ElectrodeGroup... \n", + "3 17216703352 1-301 pynwb.ecephys.ElectrodeGroup... \n", + "4 17216703352 1-301 pynwb.ecephys.ElectrodeGroup... \n", + ".. ... \n", + "529 18005107871 1-384 pynwb.ecephys.ElectrodeGroup... \n", + "530 18005107871 1-384 pynwb.ecephys.ElectrodeGroup... \n", + "531 18005107871 1-384 pynwb.ecephys.ElectrodeGroup... \n", + "532 18005107871 1-384 pynwb.ecephys.ElectrodeGroup... \n", + "533 18005107871 1-384 pynwb.ecephys.ElectrodeGroup... \n", + "\n", + " waveform_mean waveform_sd \n", + "0 [0.7641921397379913, 0.56632096069869, 0.82901... [nan] \n", + "1 [-1.3679750504032258, -1.216765372983871, -1.1... [nan] \n", + "2 [-5.366918665276329, -5.335147288842545, -5.42... [nan] \n", + "3 [-3.87109375, -3.41015625, -3.62890625, -4.511... [nan] \n", + "4 [4.350042182227221, 4.002038807649043, 4.17076... [nan] \n", + ".. ... ... \n", + "529 [1.079035874439462, 0.5745515695067265, -0.304... [nan] \n", + "530 [-0.4069841675178754, -0.7229954034729316, -1.... [nan] \n", + "531 [2.6987909416581375, 2.5068769191402254, 2.516... [nan] \n", + "532 [1.9138313609467454, 2.0005085059171597, 2.142... [nan] \n", + "533 [-4.755859375, -5.0830078125, -3.9892578125, -... [nan] \n", + "\n", + "[534 rows x 37 columns]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "units" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can align spikes from good units to photostim onset and plot rasters to\n", + "explore how and whether there is evoked neural activity at `photostim_onset`. " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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+uMf/1jrfXYcR1Zkmmjv3r0qKSlRSkqKbyw6OlojR47Uhg0bbKysbhs2bFCnTp00fPhw31hKSopCQkKUn59f775vvvmmunXrpgEDBigzM1OVlfZ8XfyZqqqqVFBQ4HccQkJClJKSUudx2LBhg998SUpNTXXscWtKj5J0/Phx9ezZU4mJifX+C8pUph3HczV48GDFx8frqquu0qeffmp3OY1SVlYmSerSpUudc0w/noH0KJn9uqyurtby5ctVUVGh5OTkWufYcRyN+GRfJzp9fvrMr0qIjY117LnrkpKSs5ajw8LC1KVLl3prvv3229WzZ08lJCRox44deuSRR7R7926tWLEi2CU36PDhw6qurq71OPz973+vdZ+SkhKjjltTeuzTp49ee+01DRw4UGVlZXrmmWc0atQo7dy5U927d2+JsoOuruNYXl6uH3/8Ue3bt7epsuYVHx+vJUuWaPjw4fJ6vfrjH/+oMWPGKD8/X0OHDrW7vAbV1NRo5syZGj16tAYMGFDnPNNelz8XaI+mvi4LCwuVnJysEydOqGPHjlq5cqX69+9f61w7jmOrDjKzZ8/WU089Ve+cL774Qn379m2hioIj0D6b6ufX0FxyySWKj4/XlVdeqT179uiCCy5o8uMieJKTk/3+xTRq1Cj169dPL730kv7jP/7DxsrQWH369FGfPn18t0eNGqU9e/bo+eef1xtvvGFjZYFJS0vT559/rvXr19tdStAE2qOpr8s+ffpo+/btKisr05/+9CdNmTJFeXl5dYaZltaqg8yDDz6ou+66q945559/fpMeOy4uTpJUWlqq+Ph433hpaakGDx7cpMdsqkD7jIuLO+vi0FOnTumHH37w9ROIkSNHSpK++uor24NMt27dFBoaqtLSUr/x0tLSOnuKi4tr1Hy7NaXHM7Vr105DhgzRV199FYwSbVHXcYyKimo1qzF1GTFihBHBID093femgoZWHEx7XZ7WmB7PZMrr0u1268ILL5QkDRs2TJs3b9bChQv10ksvnTXXjuPYqq+ROe+889S3b996N7fb3aTH7tWrl+Li4pSTk+MbKy8vV35+fp3nDoMl0D6Tk5N19OhRFRQU+Pb96KOPVFNT4wsngdi+fbsk+QU4u7jdbg0bNszvONTU1CgnJ6fO45CcnOw3X5LWrVvX4sctUE3p8UzV1dUqLCx0xDFrLqYdx+a0fft2Rx9Ly7KUnp6ulStX6qOPPlKvXr0a3Me049mUHs9k6uuypqZGXq+31vtsOY5Bu4zYMPv377e2bdtmzZs3z+rYsaO1bds2a9u2bdaxY8d8c/r06WOtWLHCd3vBggVWp06drPfff9/asWOHdf3111u9evWyfvzxRztaCMg111xjDRkyxMrPz7fWr19vXXTRRdakSZN893/zzTdWnz59rPz8fMuyLOurr76yHn/8cWvLli3W3r17rffff986//zzrcsuu8yuFs6yfPlyy+PxWMuWLbN27dplTZs2zerUqZNVUlJiWZZl3XHHHdbs2bN98z/99FMrLCzMeuaZZ6wvvvjCmjt3rtWuXTursLDQrhYa1Nge582bZ61du9bas2ePVVBQYN12221WeHi4tXPnTrtaaNCxY8d8rztJ1nPPPWdt27bN2r9/v2VZljV79mzrjjvu8M3/+uuvrYiICOuhhx6yvvjiCys7O9sKDQ211qxZY1cLAWlsn88//7z13nvvWV9++aVVWFhozZgxwwoJCbH+53/+x64WGnTfffdZ0dHRVm5urnXw4EHfVllZ6Ztj+uuyKT2a+LqcPXu2lZeXZ+3du9fasWOHNXv2bMvlcll//etfLctyxnEkyPy/KVOmWJLO2j7++GPfHEnW0qVLfbdramqsxx57zIqNjbU8Ho915ZVXWrt372754hvh+++/tyZNmmR17NjRioqKsqZOneoX1vbu3evXd1FRkXXZZZdZXbp0sTwej3XhhRdaDz30kFVWVmZTB7X7z//8T6tHjx6W2+22RowYYW3cuNF33+WXX25NmTLFb/5///d/W71797bcbrd18cUXW6tWrWrhihuvMT3OnDnTNzc2Nta67rrrrK1bt9pQdeBOv834zO10X1OmTLEuv/zys/YZPHiw5Xa7rfPPP9/v9elUje3zqaeesi644AIrPDzc6tKlizVmzBjro48+sqf4ANXW35n//zT9ddmUHk18Xf7617+2evbsabndbuu8886zrrzySl+IsSxnHEeXZVlW8NZ7AAAAgqdVXyMDAABaN4IMAAAwFkEGAAAYiyADAACMRZABAADGIsgAAABjEWQAAICxCDIAAMBYBBkALSY3N1cul0tHjx615flzcnLUr18/VVdXNzh3zZo1Gjx4sGpqalqgMgBNRZABEBRjxozRzJkz/cZGjRqlgwcPKjo62paaHn74YT366KMKDQ1tcO4111yjdu3a6c0332yBygA0FUEGQItxu92Ki4uTy+Vq8edev3699uzZo4kTJwa8z1133aVFixYFsSoA54ogA6DZ3XXXXcrLy9PChQvlcrnkcrm0b9++s04tLVu2TJ06ddKHH36oPn36KCIiQjfddJMqKyv1+uuvKykpSZ07d9b999/vdzrI6/Vq1qxZ+qd/+id16NBBI0eOVG5ubr01LV++XFdddZXCw8N9Y//7v/+rsWPHKjIyUlFRURo2bJi2bNniu3/8+PHasmWL9uzZ06w/HwDNJ8zuAgC0PgsXLtQ//vEPDRgwQI8//rgk6bzzztO+ffvOmltZWalFixZp+fLlOnbsmG688UbdcMMN6tSpk/7yl7/o66+/1sSJEzV69GjdeuutkqT09HTt2rVLy5cvV0JCglauXKlrrrlGhYWFuuiii2qt6W9/+5tuv/12v7HJkydryJAhWrx4sUJDQ7V9+3a1a9fOd3+PHj0UGxurv/3tb7rgggua6acDoDkRZAA0u+joaLndbkVERCguLq7euSdPntTixYt9QeGmm27SG2+8odLSUnXs2FH9+/fX2LFj9fHHH+vWW29VUVGRli5dqqKiIiUkJEiSZs2apTVr1mjp0qWaP39+rc+zf/9+3/zTioqK9NBDD6lv376SVGsISkhI0P79+xv9MwDQMggyAGwVERHht9oRGxurpKQkdezY0W/s0KFDkqTCwkJVV1erd+/efo/j9XrVtWvXOp/nxx9/9DutJEkZGRm655579MYbbyglJUU333zzWSsv7du3V2VlZZP7AxBcBBkAtvr5qRxJcrlctY6dfhv08ePHFRoaqoKCgrPeffTz8HOmbt266ciRI35jv//973X77bdr1apVWr16tebOnavly5frhhtu8M354YcfdN555zWpNwDBR5ABEBRutzugz2tprCFDhqi6ulqHDh3Sv/zLvzRqv127dp013rt3b/Xu3VsPPPCAJk2apKVLl/qCzIkTJ7Rnzx4NGTKk2eoH0Lx41xKAoEhKSlJ+fr727dunw4cPN9sHy/Xu3VuTJ0/WnXfeqRUrVmjv3r3atGmTsrKytGrVqjr3S01N1fr16323f/zxR6Wnpys3N1f79+/Xp59+qs2bN6tfv36+ORs3bpTH41FycnKz1A6g+RFkAATFrFmzFBoaqv79++u8885TUVFRsz320qVLdeedd+rBBx9Unz59NGHCBG3evFk9evSoc5/Jkydr586d2r17tyQpNDRU33//ve6880717t1bt9xyi6699lrNmzfPt8/bb7+tyZMnKyIiotlqB9C8XJZlWXYXAQAt4aGHHlJ5ebleeumlBucePnxYffr00ZYtW9SrV68WqA5AU7AiA6DN+N3vfqeePXsGdJpr3759evHFFwkxgMOxIgMAAIzFigwAADAWQQYAABiLIAMAAIxFkAEAAMYiyAAAAGMRZAAAgLEIMgAAwFgEGQAAYCyCDAAAMNb/Ac0xnNBBdl+6AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA3EklEQVR4nO3de3QUdZr/8U8nkJuQhGsCEiAqVxFBUAzMcpGMcXUc0YxXVGAc3HUICMEbv1EYWNcAo4LMQVBHg+NRcZ0jOt5w3ShxlHuAFUGjcguKCTJCAkESTOr3hye9dEgnnaa7q76V9+ucPodUV1c/T1V389RT36ryWJZlCQAAwEBRdgcAAAAQLAoZAABgLAoZAABgLAoZAABgLAoZAABgLAoZAABgLAoZAABgLAoZAABgLAoZAABgLAoZAEZasWKFPB6P9u7da3coAGxEIQPANZ588kmtWLEi4PlfeeUV3XrrrerVq5c8Ho9Gjx4dttgAhIeHey0BMFFNTY1Onjyp2NhYeTweSdKAAQPUsWNHrVmzJqBljB49WkVFRbr44ou1bds2DRw4MODXAnCGVnYHAADBiI6OVnR09Bkt44UXXtDZZ5+tqKgoDRgwIESRAYgkDi0BCLuJEyeqZ8+ep03/4x//6O2m1PF4PMrJydHrr7+uAQMGKDY2Vueff75Wr17tM1/9MTI9e/bUjh07VFhYKI/HE9ChorS0NEVF8TMImIyODADH+fjjj/Xaa6/p97//vdq2baslS5YoOztbJSUl6tChQ4OvWbx4saZOnao2bdroD3/4gyQpJSUlkmEDsAGFDADH+fzzz7Vz506de+65kqQxY8bowgsv1Msvv6ycnJwGXzNu3Dg9+OCD6tixo2699dZIhgvARvRUAThOZmamt4iRpIEDByoxMVG7d++2MSoATkQhA8Bxunfvftq0du3a6fDhwzZEA8DJKGQAhF39Ab11ampqGpzu72wkrhYBoD4KGQBh165dOx05cuS06fv27Qvp+/grmAC4F4UMgLA799xzVV5erk8//dQ77bvvvtOqVatC+j5nnXVWgwUTAPfirCUAYXfTTTfp/vvv17XXXqtp06bp+PHjWrZsmXr37q0tW7aE7H2GDBmiZcuW6eGHH9Z5552nzp0767LLLvM7/0cffaSPPvpIkvT999+rsrJSDz/8sCRp5MiRGjlyZMhiAxAeFDIAwq5Dhw5atWqVcnNzdd999yk9PV15eXn66quvQlrIzJ49W/v27dPChQt19OhRjRo1qtFC5oMPPtDcuXN9pj300EOSpDlz5lDIAAbgXksAAMBYjJEBAADGopABAADGopABAADGopABAADGopABAADGopABAADGcv11ZGpra3XgwAG1bduWy5cDAGAIy7J09OhRde3aVVFR/vsuri9kDhw4oLS0NLvDAAAAQdi/f7+6devm93nXFzJt27aV9POKSExMtDkaOEV1dbUee+wxSdLMmTMVExNjc0QAgFNVVFQoLS3N+/+4P64vZOoOJyUmJlLIwKu6ulpxcXGSfv5sUMgAgDM1NSyEwb4AAMBYFDIAAMBYFDIAAMBYFDIAAMBYFDIAAMBYFDIAAMBYrj/9Ggin49U/qf/s9yRJO+dlKSGmZX2l/OXf0taLXfm2tPV8qlNzr7P5wbEa+nCBpMivD1O2hRu/s3RkAACAsTyWZVl2BxFOFRUVSkpKUnl5eUQuiBepqvbU9zl1L6SOKRV1/fUl6bS9rKYEsxdWXV2tvLw8SdKsWbMccUE8f9vUlG0ZLJP3BIPVUre1Hfyta7vXe0Mdpfq/gc2NMRLfpUh+dgP9/5uODAAAMBaFDAAAMBaHls5QS2yLu0H9Q0s/KcrvIS62K8KN35HIY507nzGHlr799lvdeuut6tChg+Lj43XBBRdo8+bN3ucty9Ls2bPVpUsXxcfHKzMzU1999ZWNEQMAAKewtQQ9fPiwRowYoTFjxujdd99Vp06d9NVXX6ldu3beeRYuXKglS5bo+eefV3p6uh566CFlZWVp586d3rsX2ykhppX2zr8qbMtvaK+BPYnQa2g7NrZd3TLYGr78DcAM97YM9++IE9n9OxboOrc7TjTN1i2yYMECpaWlKT8/3zstPT3d+2/LsrR48WI9+OCDuuaaayRJf/3rX5WSkqLXX39dN910U8RjBgAAzmHrGJn+/fsrKytL33zzjQoLC3X22Wfr97//vSZPnixJ2r17t84991xt3bpVgwYN8r5u1KhRGjRokJ544onTlllVVaWqqirv3xUVFUpLS4vY6deh0NgpyW7aI7Azz3Ccfh1I90wK/NRKE/cEm4rZxJwk8+J240XPEDqmfA6MGCOze/duLVu2TL169dJ7772nu+66S9OmTdPzzz8vSSotLZUkpaSk+LwuJSXF+1x9eXl5SkpK8j7S0tLCmwQAALCNrR2ZmJgYDR06VGvXrvVOmzZtmjZt2qR169Zp7dq1GjFihA4cOKAuXbp457nhhhvk8Xj0yiuvnLZMN3Rk3MhpewDBdGScloPdWB8IhGmfEyfG68SYpPDHZURHpkuXLurfv7/PtH79+qmkpESSlJqaKkkqKyvzmaesrMz7XH2xsbFKTEz0eQAAAHeytZAZMWKEiouLfaZ9+eWX6tGjh6SfB/6mpqaqoOD/zgipqKjQhg0blJGREdFYAQCA89h6aGnTpk0aPny45s6dqxtuuEEbN27U5MmT9fTTT2v8+PGSfj6zaf78+T6nX3/66acBn34d6XstNeZM2nBOuLtuQ6cZRzqeUDly7LieeOxPkqS7Z96rmJgY1w6wbuiU4lOZnp8/XLoAJgvHZ9W0z3+g/3/bmsXFF1+sVatWadasWZo3b57S09O1ePFibxEjSffdd58qKyt155136siRI/rFL36h1atXO+IaMgAAwF7coiCETKt263NK/JE4hdeJd7+u45Tt4AZuPg3ZDTmciZaevz9uWi9GDPYFAAA4E3RkEDA3jTloTkfG3zihcOQbyPo0ZZ07Mc5gb0HgxFwQXpHa5vU/k078fDV2Yc86Lfb0awAAgDNBIQMAAIzFoSXDuKnFbWcuobqybyCHndywzSJ5eC3QOJyyjgOJqak7pDsl/jqNbeNQHmI+k3uR2c2uO6W3JBxaAgAArkdHxsWc3gloLL5wxx7q069NGLAXKk7/XAXLrXnB2Uz93EUibjoyAADA9ejIoEVywgXxmnPhvzp27bGZutcYrJaWL4LX2DifSHx27H7/cKIjAwAAXI9CBgAAGMvcnpPL0dpuuZy47RNiWmnv/KvCtnyn5RzOfJ2Wazj5u/O6qXk3tO0a+qyE87tSn93v7wR0ZAAAgLEY7IsWyQmDfRFZTu2EODUumCmcn6dIf1YZ7AsAAFyP0v8MOOWy7cEKproONGen72Uer/7J598/KcrR8TbmTE/Tdvq2CgUn5xju8Ufwz8mfi2DV/zz5G6ckNT9np35W6cgAAABjUcgAAABjMdgXkpp/eCLcLdlwH7aL1GDfUN4pGIFx6vp1alyAUzHYFwAAuB4dmRaEPcL/w+nXAKTAfxdb4u+n3fd7oyMDAABcz/0lpc2cdGdSLrsOoKVp6rcp0N/FUP1+OmHcXP1Oy6nvaXcXJhh0ZAAAgLEoZAAAgLEY7IsWqanBvia2VxEejbX9OaQaHk5Zr4EeBmoqXqfkcybsuJI9g30BAIDr0ZEJETdU3JHglPUU7OnX7J0HrrEBhU7GdoRp7PrMhvt96cgAAADXoyODkDHptMJtD47RE4/9SRIXxANM44auWSBjTuzuANu9nunIAAAA16OQAQAAxuLQElqE+m3cSx/+b90Wv1USh5aczO7WdjjYcRorzOHGz3ywOLQEAABcj44MWqTmnn7d2F60FLn7Z/mLI9R79k0N3K7TUP71/w5HLCZpaL01JBLbzY71x8UlA2P3dnIi4zoy8+fPl8fj0fTp073TTpw4oSlTpqhDhw5q06aNsrOzVVZWZl+QAADAURzRkdm0aZNuuOEGJSYmasyYMVq8eLEk6a677tLbb7+tFStWKCkpSTk5OYqKitInn3wS8LLpyDhTY3upkRg3EOwF8fxp7C7njeXjr8NSxyl71cE6dOzEaTk1xen5nbot/nHfaP3LwjWn/dvuO927VXO+B6H+zpj6HTSZMR2ZY8eOafz48XrmmWfUrl077/Ty8nI9++yzevzxx3XZZZdpyJAhys/P19q1a7V+/XobIwYAAE5he0dmwoQJat++vRYtWqTRo0dr0KBBWrx4sT744AONHTtWhw8fVnJysnf+Hj16aPr06ZoxY0ZAy6cjc+YC2RMxbW+lsY6MabmEQkvMGWfOhM9NY91Sp8YcLLeNRwr0/29bs1u5cqW2bNmiTZs2nfZcaWmpYmJifIoYSUpJSVFpaanfZVZVVamqqsr7d0VFRcjiBQAAzmLboaX9+/fr7rvv1osvvqi4uLiQLTcvL09JSUneR1paWsiWDQAAnMW2Q0uvv/66rr32WkVHR3un1dTUyOPxKCoqSu+9954yMzObfWipoY5MWlpaSA8tBXr/izomt/bCwQnt6FAP9pXMudCZE9Y/GmfKZ8kETvq8OykWEzj+0NLYsWO1fft2n2mTJk1S3759df/99ystLU2tW7dWQUGBsrOzJUnFxcUqKSlRRkaG3+XGxsYqNjY2rLEDAABnsH2w76lOHewr/Xz69TvvvKMVK1YoMTFRU6dOlSStXbs24GUy2BenqtsjaqUaV92igD14IDQi2TWhQ9M4x3dkArFo0SJFRUUpOztbVVVVysrK0pNPPml3WAAAwCEc1ZEJByd3ZEJVjdu1B1HHxD0Jf2NkInULgFBoaruH+4JgkntPY0XLQmfEmYy5IB4AAECwAio7//73vwe8wF//+tdBBwMAANAcAR1aiooKrHHj8XhUU1NzxkGFkpMPLZmuOQNMw9W6DXa5zTn9uqn7IdXx91xjp+g3FrMb293+cnJjrgivSBzqjPTnMpzv19j6Csf7hUJIB/vW1taGLDAAAIBQYbAvWqRwXBAvnNzasXBrXk5m6jp3UtyBnBRQv0stRX5wfDjWWSQv9RDW068rKytVWFiokpISVVdX+zw3bdq0YBYJAADQbM3uyGzdulVXXnmljh8/rsrKSrVv316HDh1SQkKCOnfurN27d4cr1qDQkUFDzqQj46Q9QyAQgd5Wxd/YifrTGlqOEzR0eQi7Lp1g4u+E02IO2+nXM2bM0NVXX63Dhw8rPj5e69ev1759+zRkyBA9+uijZxQ0AABAczS7kNm2bZtmzpypqKgoRUdHq6qqSmlpaVq4cKH+3//7f+GIEQAAoEHNPrTUqVMnrV27Vr169VLv3r315z//WVlZWfriiy80ZMgQVVZWhivWoDjl0JLTWnYtXSCHlho77TrQAX5OP724uXE5NY9waEm5IjL4TDVP2Ab7Dh48WJs2bVKvXr00atQozZ49W4cOHdILL7ygAQMGnFHQAAAAzdHsjszmzZt19OhRjRkzRgcPHtTtt9/u7dA899xzuvDCC8MVa1Cc0pFB4CJxPyfTTr92u5a+p9pS82+peSMwYevIDB061Pvvzp07a/Xq1cFFCAAAcIYofw0X6OXz7bgrdlPxSA1fICohppX2zr8qbLGGU3Mumx7I5fpPVX95Trwjd7D8bfNA9tjdcNuD5uRvUl7+1P+Mb35wrN/PfKR+t0xdlwiwkLnoootUUFCgdu3aafDgwfJ4PH7n3bJlS8iCAwAAaExAhcw111yj2NhYSdK4cePCGQ8AAEDAmjXYt6amRp988okGDhyo5OTkMIYVOi11sC8t08Y1Ntg3EnfVRXi44TBTHRNjRuCctH2dFMupwnJl3+joaF1++eU6fPjwGQcIAABwppp9+vXQoUO1YMECjR07NlwxhVRL7cigcZx+DQDOFrZ7LT388MO655579NZbb+m7775TRUWFzwMAACBSmn0g7Morr5Qk/frXv/Y5e8myLHk8HtXU1IQuOpzGqccyAcAu/C6eGdNP8292ZPn5+UpLS1N0dLTP9NraWpWUlIQsMAAAgKY0u5D57W9/q++++06dO3f2mf7Pf/5TmZmZmjBhQsiCAwAAaEyzC5m6Q0j1HTt2THFxcSEJCv6ZfNXbhpjUvjxTbsnVLXm4XUvaTm77XYy0htafSes04E92bm6uJMnj8eihhx5SQkKC97mamhpt2LBBgwYNCnmAAAAA/gRcyGzdulXSzx2Z7du3+5yuGhMTowsvvFD33HNP6COEq51J1d/YfaYiPWCtufdN6j/7PcfsJTd1v66GLgq4c16W+s9+z1F5BMtf/qbfy8qkPWp/WlJXyW4mfw8CjujDDz+UJE2aNElPPPEE12QBAAC2a/YF8UzDBfFQ3/HqnzRw9ju6Lf7nLqOTL4jHHqm714Gbc4Oz+Ou4OPlzF7YL4gEAADgFHZkgmVjd4v8EeouCxm4g2ZK3O52E4LHuftbQ+LFA1wfrsGWgIwMAAFyPQgYAABiLQ0tokUJ192ta3AAiwa7fGjt/4zi0BAAAXI/dRwdz0t5+pO6OatJdWOsP+HZijHAep36eQyWQi0O25IHywbLrAocmXFiRjgwAADCWrWNk8vLy9Nprr+mLL75QfHy8hg8frgULFqhPnz7eeU6cOKGZM2dq5cqVqqqqUlZWlp588kmlpKQE9B6mjJE5k720UOzhuXEvsbGcQjVGJpwaO/XbLdsIMIkbfyebK5LrwIgxMoWFhZoyZYrWr1+v999/XydPntTll1+uyspK7zwzZszQm2++qVdffVWFhYU6cOCArrvuOhujBgAATmFrObl69Wqfv1esWKHOnTurqKhII0eOVHl5uZ599lm99NJLuuyyyyRJ+fn56tevn9avX69LL73UjrABAIBDOOr066+//lq9evXS9u3bNWDAAH3wwQcaO3asDh8+rOTkZO98PXr00PTp0zVjxozTllFVVaWqqirv3xUVFUpLS3P8oaX6aGGGVzgOLTV2pdJIHCaK5GeGzyecxumfSafH50RGHFo6VW1traZPn64RI0ZowIABkqTS0lLFxMT4FDGSlJKSotLS0gaXk5eXp6SkJO8jLS0t3KEDAACbOKYjc9ddd+ndd9/Vxx9/rG7dukmSXnrpJU2aNMmnwyJJl1xyicaMGaMFCxacthwndGRCfZphQ3v69W1+cKw6tok7bX5/pz86dY8gUjHW78j8pKgGt9mpGpru1PUombG9ASdw0nfFSbHYLdCOjCPWUE5Ojt566y199NFH3iJGklJTU1VdXa0jR474dGXKysqUmpra4LJiY2MVGxsb7pABAIAD2NqRsSxLU6dO1apVq7RmzRr16tXL5/ny8nJ16tRJL7/8srKzsyVJxcXF6tu3r9atWxfQYF9TTr9ujpZYsYc6Z6efft0StzEAnMqIjsyUKVP00ksv6Y033lDbtm29416SkpIUHx+vpKQk3XHHHcrNzVX79u2VmJioqVOnKiMjgzOWAACAvYXMsmXLJEmjR4/2mZ6fn6+JEydKkhYtWqSoqChlZ2f7XBAPAADAMYN9w8WNh5bQPA0dpnH6oSUEryVdEZlDkIgEuz5nxp1+DQAA0Fx0ZCKgJew1mXZn20A6Mv5yksw7rf1UgcZrWl6IPKffrd6ui0RG4v1aAjoyAADA9ejIoEVy4xiZxvY+nbSXDJiisduOROI9nfxdjUScdGQAAIDrUcgAAABjcWjJoZzeXnR6fE1pzqGl5uZq+roBTNPYKfen4pCrWTi0BAAAXI+ODFqUuj2wVqrRbfFbJfl2ZEw7jTyU2DtlHdjJ6eve6aeauxEdGQAA4Hp0ZNAiBTpGpqm9sFO7Nv46OOy1OR/bCHAeOjIAAMD1KGQAAICx6J86VChb3U0ty8lt9aYG34Y79oSYVto7/6pGp9X9+3j1T95pgQwYdvJ6b2ka2s4AzEBHBgAAGIvBviHmxL3sYGNyYi6h4sZ7LcF8bv7OAc3FYF8AAOB6lPsh5sRj7cHG1NzXteSLyZmGPX9ncuLvB+B0dGQAAICxKGQAAICxGOyLoIXr8EQkDnucOtj3hR8H6ydF+70ab53GYnHDoRo35BBqpt1fp7HYmntF6kjEFIr5JDl2ezSmsTz8bZ86JuV5JhjsCwAAXI+ODILm5D3TppzJ6deB7kk15+KDJq/LM2Vq7oF0OBram3ZKByQc7+PWbonbv6dOzYuODAAAcD06MggJp1b0/jj5gngtbW8QABpCRwYAALgeu3QICS7k5V9zOyz+1iXrGABOR0cGAAAYi0IGAAAYi0NLLQCDRO3FoSIz8b0BzEBHBgAAGItdjBaAPf/QMmlP3aRYnYbvDXA6J/6m0JEBAADGsr+UAgxzJnvqkd6boasAIJSc+JtCRwYAABjLiEJm6dKl6tmzp+Li4jRs2DBt3LjR7pAAAIADOP7Q0iuvvKLc3FwtX75cw4YN0+LFi5WVlaXi4mJ17tzZ1tiac5ggkLvC2jGIKpD3DOTKtKeqvxwnDg4LlL87HDe0zeo0lqPT2rKB3q3Y5G3YkOZuN7sFs/7dts0AfxzfkXn88cc1efJkTZo0Sf3799fy5cuVkJCg5557zu7QAACAzRx99+vq6molJCTob3/7m8aNG+edPmHCBB05ckRvvPHGaa+pqqpSVVWV9++KigqlpaVx9+sz4MY9u6bufu3GnN2M7QW4jyvufn3o0CHV1NQoJSXFZ3pKSopKS0sbfE1eXp6SkpK8j7S0tEiECgAAbOC63ZZZs2YpNzfX+3ddRwbBc9q4jkhoiTmbjO0FtFyOLmQ6duyo6OholZWV+UwvKytTampqg6+JjY1VbGxsJMIDAAA2c/ShpZiYGA0ZMkQFBQXeabW1tSooKFBGRoaNkQEAACdwdEdGknJzczVhwgQNHTpUl1xyiRYvXqzKykpNmjTJ7tAAAIDNHF/I3Hjjjfr+++81e/ZslZaWatCgQVq9evVpA4ABAEDL4/hCRpJycnKUk5NjdxgAAMBhHD1GBgAAoDEUMgAAwFhGHFo6E3UXLq6oqLA5EjhJdXW1Tpw4Iennz0b9K/sCAOxV9/92UzcgcPQtCkLhm2++4YJ4AAAYav/+/erWrZvf511fyNTW1urAgQNq27atPB5PyJZbd8Xg/fv3u/YeTm7P0e35Se7P0e35Se7P0e35Se7PMVz5WZalo0ePqmvXroqK8j8SxvWHlqKiohqt5M5UYmKiKz+Yp3J7jm7PT3J/jm7PT3J/jm7PT3J/juHILykpqcl5GOwLAACMRSEDAACMRSETpNjYWM2ZM8fVN6h0e45uz09yf45uz09yf45uz09yf4525+f6wb4AAMC96MgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjUcgAAABjtbI7gHCrra3VgQMH1LZtW3k8HrvDAQAAAbAsS0ePHlXXrl0VFeW/7+L6QubAgQNKS0uzOwwAABCE/fv3q1u3bn6fd30h07ZtW0k/r4jExESbo4FTVFdX67HHHpMkzZw5UzExMTZHBAA4VUVFhdLS0rz/j/vj+kKm7nBSYmIihQy8qqurFRcXJ+nnzwaFDAA4U1PDQhjsCwAAjEUhAwAAjEUhAwAAjEUhAwAAjEUhAwAAjOX6s5aAM9HzgbeDfu3e+VeFMBIAQEPoyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGNRyAAAAGPZXsh8++23uvXWW9WhQwfFx8frggsu0ObNm73PW5al2bNnq0uXLoqPj1dmZqa++uorGyMGAABOYWshc/jwYY0YMUKtW7fWu+++q507d+qxxx5Tu3btvPMsXLhQS5Ys0fLly7VhwwadddZZysrK0okTJ2yMHAAAOEErO998wYIFSktLU35+vndaenq699+WZWnx4sV68MEHdc0110iS/vrXvyolJUWvv/66brrppojHDAAAnMPWjszf//53DR06VNdff706d+6swYMH65lnnvE+v2fPHpWWliozM9M7LSkpScOGDdO6desaXGZVVZUqKip8HgAAwJ1sLWR2796tZcuWqVevXnrvvfd01113adq0aXr++eclSaWlpZKklJQUn9elpKR4n6svLy9PSUlJ3kdaWlp4kwAAALaxtZCpra3VRRddpEceeUSDBw/WnXfeqcmTJ2v58uVBL3PWrFkqLy/3Pvbv3x/CiAEAgJPYWsh06dJF/fv395nWr18/lZSUSJJSU1MlSWVlZT7zlJWVeZ+rLzY2VomJiT4PAADgTrYWMiNGjFBxcbHPtC+//FI9evSQ9PPA39TUVBUUFHifr6io0IYNG5SRkRHRWAEAgPPYetbSjBkzNHz4cD3yyCO64YYbtHHjRj399NN6+umnJUkej0fTp0/Xww8/rF69eik9PV0PPfSQunbtqnHjxtkZOgAAcABbC5mLL75Yq1at0qxZszRv3jylp6dr8eLFGj9+vHee++67T5WVlbrzzjt15MgR/eIXv9Dq1asVFxdnY+QAAMAJbC1kJOlXv/qVfvWrX/l93uPxaN68eZo3b14EowIAACaw/RYFAAAAwaKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxqKQAQAAxnJMITN//nx5PB5Nnz7dO+3EiROaMmWKOnTooDZt2ig7O1tlZWX2BQkAABzFEYXMpk2b9NRTT2ngwIE+02fMmKE333xTr776qgoLC3XgwAFdd911NkUJAACcxvZC5tixYxo/fryeeeYZtWvXzju9vLxczz77rB5//HFddtllGjJkiPLz87V27VqtX7/exogBAIBT2F7ITJkyRVdddZUyMzN9phcVFenkyZM+0/v27avu3btr3bp1fpdXVVWliooKnwcAAHCnVna++cqVK7VlyxZt2rTptOdKS0sVExOj5ORkn+kpKSkqLS31u8y8vDzNnTs31KECAAAHsq0js3//ft1999168cUXFRcXF7Llzpo1S+Xl5d7H/v37Q7ZsAADgLLYVMkVFRTp48KAuuugitWrVSq1atVJhYaGWLFmiVq1aKSUlRdXV1Tpy5IjP68rKypSamup3ubGxsUpMTPR5AAAAd7Lt0NLYsWO1fft2n2mTJk1S3759df/99ystLU2tW7dWQUGBsrOzJUnFxcUqKSlRRkaGHSEDAACHsa2Qadu2rQYMGOAz7ayzzlKHDh280++44w7l5uaqffv2SkxM1NSpU5WRkaFLL73UjpABAIDD2DrYtymLFi1SVFSUsrOzVVVVpaysLD355JN2hwUAABzCUYXMmjVrfP6Oi4vT0qVLtXTpUnsCAgAAjmb7dWQAAACCRSEDAACMRSEDAACMRSEDAACM5ajBvnC+ng+8HfRr986/KoSROB/rCgDCj44MAAAwFoUMAAAwFoUMAAAwFmNkAABo4Uwe00dHBgAAGItCBgAAGItCBgAAGItCBgAAGItCBgAAGItCBgAAGItCBgAAGItCBgAAGIsL4iFiTL7gUqSxrgAgMHRkAACAsShkAACAsShkAACAsShkAACAsShkAACAsShkAACAsTj9Gq7X0KnMrVSj2+J//nf/2av1k6IjHJUzcdo38DO+C+agIwMAAIxFIQMAAIxFIQMAAIxFIQMAAIxFIQMAAIxFIQMAAIzF6dcAEGEt7dRe8g2cifnajY4MAAAwlq0dmby8PL322mv64osvFB8fr+HDh2vBggXq06ePd54TJ05o5syZWrlypaqqqpSVlaUnn3xSKSkpNkZuPyp+AGjcmfxOwhy2dmQKCws1ZcoUrV+/Xu+//75Onjypyy+/XJWVld55ZsyYoTfffFOvvvqqCgsLdeDAAV133XU2Rg0AAJzC1o7M6tWrff5esWKFOnfurKKiIo0cOVLl5eV69tln9dJLL+myyy6TJOXn56tfv35av369Lr30UjvCBgAADuGoMTLl5eWSpPbt20uSioqKdPLkSWVmZnrn6du3r7p3765169Y1uIyqqipVVFT4PAAAgDs55qyl2tpaTZ8+XSNGjNCAAQMkSaWlpYqJiVFycrLPvCkpKSotLW1wOXl5eZo7d264w5XEOBXAdHyH4SYtdUyQYzoyU6ZM0WeffaaVK1ee0XJmzZql8vJy72P//v0hihAAADiNIzoyOTk5euutt/TRRx+pW7du3umpqamqrq7WkSNHfLoyZWVlSk1NbXBZsbGxio2NDXfIAADAAWwtZCzL0tSpU7Vq1SqtWbNG6enpPs8PGTJErVu3VkFBgbKzsyVJxcXFKikpUUZGhh0hwyYttWUaDNYVgJbE1kJmypQpeumll/TGG2+obdu23nEvSUlJio+PV1JSku644w7l5uaqffv2SkxM1NSpU5WRkcEZSwAAwN5CZtmyZZKk0aNH+0zPz8/XxIkTJUmLFi1SVFSUsrOzfS6IBwB2ovMVGaxnNMX2Q0tNiYuL09KlS7V06dIIRAQAAEzimLOWAAAAmotCBgAAGMsRp1+3RBz3hdvYdXE5vktwEz7PzUdHBgAAGItCBgAAGItCBgAAGItCBgAAGIvBvi0Qg8kAAG5BRwYAABiLjgwA29ElBBAsOjIAAMBYdGQAoIWg8wU3oiMDAACMRUcGAAxCVwXwRUcGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYi0IGAAAYy4hCZunSperZs6fi4uI0bNgwbdy40e6QAACAAzi+kHnllVeUm5urOXPmaMuWLbrwwguVlZWlgwcP2h0aAACwmeMLmccff1yTJ0/WpEmT1L9/fy1fvlwJCQl67rnn7A4NAADYzNGFTHV1tYqKipSZmemdFhUVpczMTK1bt87GyAAAgBO0sjuAxhw6dEg1NTVKSUnxmZ6SkqIvvviiwddUVVWpqqrK+3d5ebkkqaKiIuTx1VYdD/kyERm1qtEJz4mf/111XLWKtjkiADBTOP5/PXW5lmU1Op+jC5lg5OXlae7cuadNT0tLsyEaONl8uwMAABdIWhze5R89elRJSUl+n3d0IdOxY0dFR0errKzMZ3pZWZlSU1MbfM2sWbOUm5vr/bu2tlY//PCDOnToII/HE7LYKioqlJaWpv379ysxMTFky3USt+fo9vwk9+fo9vwk9+fo9vwk9+cYrvwsy9LRo0fVtWvXRudzdCETExOjIUOGqKCgQOPGjZP0c2FSUFCgnJycBl8TGxur2NhYn2nJyclhizExMdGVH8xTuT1Ht+cnuT9Ht+cnuT9Ht+cnuT/HcOTXWCemjqMLGUnKzc3VhAkTNHToUF1yySVavHixKisrNWnSJLtDAwAANnN8IXPjjTfq+++/1+zZs1VaWqpBgwZp9erVpw0ABgAALY/jCxlJysnJ8XsoyS6xsbGaM2fOaYex3MTtObo9P8n9Obo9P8n9Obo9P8n9Odqdn8dq6rwmAAAAh3L0BfEAAAAaQyEDAACMRSEDAACMRSEDAACMRSHTDP/5n/+p4cOHKyEhIeCL7FmWpdmzZ6tLly6Kj49XZmamvvrqq/AGGqQffvhB48ePV2JiopKTk3XHHXfo2LFjjb5m9OjR8ng8Po9///d/j1DETVu6dKl69uypuLg4DRs2TBs3bmx0/ldffVV9+/ZVXFycLrjgAr3zzjsRijR4zclxxYoVp22vuLi4CEbbPB999JGuvvpqde3aVR6PR6+//nqTr1mzZo0uuugixcbG6rzzztOKFSvCHmewmpvfmjVrTtt+Ho9HpaWlkQm4mfLy8nTxxRerbdu26ty5s8aNG6fi4uImX2fS9zCYHE37Hi5btkwDBw70XvAuIyND7777bqOvieQ2pJBphurqal1//fW66667An7NwoULtWTJEi1fvlwbNmzQWWedpaysLJ04cSKMkQZn/Pjx2rFjh95//3299dZb+uijj3TnnXc2+brJkyfru+++8z4WLlwYgWib9sorryg3N1dz5szRli1bdOGFFyorK0sHDx5scP61a9fq5ptv1h133KGtW7dq3LhxGjdunD777LMIRx645uYo/Xz1zVO31759+yIYcfNUVlbqwgsv1NKlSwOaf8+ePbrqqqs0ZswYbdu2TdOnT9fvfvc7vffee2GONDjNza9OcXGxzzbs3LlzmCI8M4WFhZoyZYrWr1+v999/XydPntTll1+uyspKv68x7XsYTI6SWd/Dbt26af78+SoqKtLmzZt12WWX6ZprrtGOHTsanD/i29BCs+Xn51tJSUlNzldbW2ulpqZaf/rTn7zTjhw5YsXGxlovv/xyGCNsvp07d1qSrE2bNnmnvfvuu5bH47G+/fZbv68bNWqUdffdd0cgwua75JJLrClTpnj/rqmpsbp27Wrl5eU1OP8NN9xgXXXVVT7Thg0bZv3bv/1bWOM8E83NMdDPrhNJslatWtXoPPfdd591/vnn+0y78cYbraysrDBGFhqB5Pfhhx9akqzDhw9HJKZQO3jwoCXJKiws9DuPid/DUwWSo8nfwzrt2rWz/vKXvzT4XKS3IR2ZMNqzZ49KS0uVmZnpnZaUlKRhw4Zp3bp1NkZ2unXr1ik5OVlDhw71TsvMzFRUVJQ2bNjQ6GtffPFFdezYUQMGDNCsWbN0/PjxcIfbpOrqahUVFfms+6ioKGVmZvpd9+vWrfOZX5KysrIct63qBJOjJB07dkw9evRQWlpao3tVJjJtGwZr0KBB6tKli375y1/qk08+sTucgJWXl0uS2rdv73ce07dhIDlK5n4Pa2pqtHLlSlVWViojI6PBeSK9DY24sq+p6o5b17+dQkpKiuOOaZeWlp7Wnm7VqpXat2/faKy33HKLevTooa5du+rTTz/V/fffr+LiYr322mvhDrlRhw4dUk1NTYPr/osvvmjwNaWlpUZsqzrB5NinTx8999xzGjhwoMrLy/Xoo49q+PDh2rFjh7p16xaJsMPK3zasqKjQjz/+qPj4eJsiC40uXbpo+fLlGjp0qKqqqvSXv/xFo0eP1oYNG3TRRRfZHV6jamtrNX36dI0YMUIDBgzwO59p38NTBZqjid/D7du3KyMjQydOnFCbNm20atUq9e/fv8F5I70NW3wh88ADD2jBggWNzvP555+rb9++EYootALNL1injqG54IIL1KVLF40dO1a7du3SueeeG/RyER4ZGRk+e1HDhw9Xv3799NRTT+k//uM/bIwMgejTp4/69Onj/Xv48OHatWuXFi1apBdeeMHGyJo2ZcoUffbZZ/r444/tDiVsAs3RxO9hnz59tG3bNpWXl+tvf/ubJkyYoMLCQr/FTCS1+EJm5syZmjhxYqPznHPOOUEtOzU1VZJUVlamLl26eKeXlZVp0KBBQS2zuQLNLzU19bQBoj/99JN++OEHbx6BGDZsmCTp66+/trWQ6dixo6Kjo1VWVuYzvayszG8+qampzZrfbsHkWF/r1q01ePBgff311+EIMeL8bcPExETjuzH+XHLJJY4vDnJycrwnEDTVcTDte1inOTnWZ8L3MCYmRuedd54kaciQIdq0aZOeeOIJPfXUU6fNG+lt2OLHyHTq1El9+/Zt9BETExPUstPT05WamqqCggLvtIqKCm3YsMHvscVQCzS/jIwMHTlyREVFRd7XfvDBB6qtrfUWJ4HYtm2bJPkUbnaIiYnRkCFDfNZ9bW2tCgoK/K77jIwMn/kl6f3334/YtmquYHKsr6amRtu3b7d9e4WKadswFLZt2+bY7WdZlnJycrRq1Sp98MEHSk9Pb/I1pm3DYHKsz8TvYW1traqqqhp8LuLbMCxDiF1q37591tatW625c+dabdq0sbZu3Wpt3brVOnr0qHeePn36WK+99pr37/nz51vJycnWG2+8YX366afWNddcY6Wnp1s//vijHSk06oorrrAGDx5sbdiwwfr444+tXr16WTfffLP3+W+++cbq06ePtWHDBsuyLOvrr7+25s2bZ23evNnas2eP9cYbb1jnnHOONXLkSLtS8LFy5UorNjbWWrFihbVz507rzjvvtJKTk63S0lLLsizrtttusx544AHv/J988onVqlUr69FHH7U+//xza86cOVbr1q2t7du325VCk5qb49y5c6333nvP2rVrl1VUVGTddNNNVlxcnLVjxw67UmjU0aNHvd8zSdbjjz9ubd261dq3b59lWZb1wAMPWLfddpt3/t27d1sJCQnWvffea33++efW0qVLrejoaGv16tV2pdCo5ua3aNEi6/XXX7e++uora/v27dbdd99tRUVFWf/zP/9jVwqNuuuuu6ykpCRrzZo11nfffed9HD9+3DuP6d/DYHI07Xv4wAMPWIWFhdaePXusTz/91HrggQcsj8dj/fd//7dlWfZvQwqZZpgwYYIl6bTHhx9+6J1HkpWfn+/9u7a21nrooYeslJQUKzY21ho7dqxVXFwc+eAD8M9//tO6+eabrTZt2liJiYnWpEmTfIq0PXv2+ORbUlJijRw50mrfvr0VGxtrnXfeeda9995rlZeX25TB6f785z9b3bt3t2JiYqxLLrnEWr9+vfe5UaNGWRMmTPCZ/7/+67+s3r17WzExMdb5559vvf322xGOuPmak+P06dO986akpFhXXnmltWXLFhuiDkzd6cb1H3U5TZgwwRo1atRprxk0aJAVExNjnXPOOT7fR6dpbn4LFiywzj33XCsuLs5q3769NXr0aOuDDz6wJ/gANJRb/d9I07+HweRo2vfwt7/9rdWjRw8rJibG6tSpkzV27FhvEWNZ9m9Dj2VZVnh6PQAAAOHV4sfIAAAAc1HIAAAAY1HIAAAAY1HIAAAAY1HIAAAAY1HIAAAAY1HIAAAAY1HIAAAAY1HIAIiYNWvWyOPx6MiRI7a8f0FBgfr166eampom5129erUGDRqk2traCEQGIFgUMgDCYvTo0Zo+fbrPtOHDh+u7775TUlKSLTHdd999evDBBxUdHd3kvFdccYVat26tF198MQKRAQgWhQyAiImJiVFqaqo8Hk/E3/vjjz/Wrl27lJ2dHfBrJk6cqCVLloQxKgBnikIGQMhNnDhRhYWFeuKJJ+TxeOTxeLR3797TDi2tWLFCycnJeuutt9SnTx8lJCToN7/5jY4fP67nn39ePXv2VLt27TRt2jSfw0FVVVW65557dPbZZ+uss87SsGHDtGbNmkZjWrlypX75y18qLi7OO+1///d/NWbMGLVt21aJiYkaMmSINm/e7H3+6quv1ubNm7Vr166Qrh8AodPK7gAAuM8TTzyhL7/8UgMGDNC8efMkSZ06ddLevXtPm/f48eNasmSJVq5cqaNHj+q6667Ttddeq+TkZL3zzjvavXu3srOzNWLECN14442SpJycHO3cuVMrV65U165dtWrVKl1xxRXavn27evXq1WBM//jHP3TLLbf4TBs/frwGDx6sZcuWKTo6Wtu2bVPr1q29z3fv3l0pKSn6xz/+oXPPPTdEawdAKFHIAAi5pKQkxcTEKCEhQampqY3Oe/LkSS1btsxbKPzmN7/RCy+8oLKyMrVp00b9+/fXmDFj9OGHH+rGG29USUmJ8vPzVVJSoq5du0qS7rnnHq1evVr5+fl65JFHGnyfffv2eeevU1JSonvvvVd9+/aVpAaLoK5du2rfvn3NXgcAIoNCBoCtEhISfLodKSkp6tmzp9q0aeMz7eDBg5Kk7du3q6amRr179/ZZTlVVlTp06OD3fX788Uefw0qSlJubq9/97nd64YUXlJmZqeuvv/60zkt8fLyOHz8edH4AwotCBoCtTj2UI0kej6fBaXWnQR87dkzR0dEqKio67eyjU4uf+jp27KjDhw/7TPvjH/+oW265RW+//bbeffddzZkzRytXrtS1117rneeHH35Qp06dgsoNQPhRyAAIi5iYmICu19JcgwcPVk1NjQ4ePKh/+Zd/adbrdu7cedr03r17q3fv3poxY4Zuvvlm5efnewuZEydOaNeuXRo8eHDI4gcQWpy1BCAsevbsqQ0bNmjv3r06dOhQyC4s17t3b40fP1633367XnvtNe3Zs0cbN25UXl6e3n77bb+vy8rK0scff+z9+8cff1ROTo7WrFmjffv26ZNPPtGmTZvUr18/7zzr169XbGysMjIyQhI7gNCjkAEQFvfcc4+io6PVv39/derUSSUlJSFbdn5+vm6//XbNnDlTffr00bhx47Rp0yZ1797d72vGjx+vHTt2qLi4WJIUHR2tf/7zn7r99tvVu3dv3XDDDfrXf/1XzZ071/ual19+WePHj1dCQkLIYgcQWh7Lsiy7gwCASLj33ntVUVGhp556qsl5Dx06pD59+mjz5s1KT0+PQHQAgkFHBkCL8Yc//EE9evQI6DDX3r179eSTT1LEAA5HRwYAABiLjgwAADAWhQwAADAWhQwAADAWhQwAADAWhQwAADAWhQwAADAWhQwAADAWhQwAADAWhQwAADDW/wfl1KRuk0DXhQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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o4cVFRVlnXfeedayZctCXHHDNaSPkyZN8k2bkJBgXXXVVdbGjRttqLp+Tv7U+NTbyT6NGzfOuvTSS0+bp3///lZUVJR1zjnn+G2TTtTQPj7xxBNWt27drOjoaKtdu3bW8OHDrU8++cSe4uuhpr6d+l5p+rbYmD6ati3ecccdVteuXa2oqCirY8eO1siRI30hxrLsW4cuy7KswI7xAAAAhEaTP0YGAACYiyADAACMRZABAADGIsgAAABjEWQAAICxCDIAAMBYBBkAAGAsggwAADAWQQZAyCxfvlwul0uHDx+25fkLCwvVu3dvVVVVnXHagoIC9e/fX9XV1SGoDEBjEWQABMXw4cM1adIkv7ahQ4dq//79iouLs6WmBx98UA8//LAiIyPPOO0VV1yh5s2b64033ghBZQAaiyADIGSioqKUmJgol8sV8udeuXKldu7cqbFjx9Z7nttvv11z584NYlUAzhZBBkDA3X777VqxYoWeffZZuVwuuVwu7dmz57RdS4sWLVKbNm30wQcfqGfPnmrZsqV++9vfqqKiQq+++qpSUlLUtm1bTZw40W93kNfr1f33369/+7d/U6tWrTRkyBAtX768zpoWL16sX/3qV4qOjva1/f3vf9eIESMUExOj2NhYDRo0SBs2bPA9fvXVV2vDhg3auXNnQF8fAIHTzO4CAISfZ599Vl9//bX69u2rGTNmSJI6duyoPXv2nDZtRUWF5s6dq8WLF+vIkSO69tprdc0116hNmzb661//ql27dmns2LEaNmyYbrjhBklSdna2tm3bpsWLFyspKUlLly7VFVdcoS1btqh79+411vS3v/1NN998s19bZmamBgwYoPnz5ysyMlKbN29W8+bNfY936dJFCQkJ+tvf/qZu3boF6NUBEEgEGQABFxcXp6ioKLVs2VKJiYl1TnvixAnNnz/fFxR++9vf6vXXX1dZWZlat26tPn36aMSIEfr00091ww03qLi4WAsXLlRxcbGSkpIkSffff78KCgq0cOFCPf744zU+z969e33Tn1RcXKwHHnhAvXr1kqQaQ1BSUpL27t3b4NcAQGgQZADYqmXLln6jHQkJCUpJSVHr1q392g4cOCBJ2rJli6qqqtSjRw+/5Xi9XrVv377W5/nhhx/8ditJUk5Ojn73u9/p9ddfV3p6uq677rrTRl5atGihioqKRvcPQHARZADY6ue7ciTJ5XLV2HbyZ9BHjx5VZGSkioqKTvv10c/Dz6k6dOigQ4cO+bU98sgjuvnmm7Vs2TJ9+OGHmjZtmhYvXqxrrrnGN83333+vjh07NqpvAIKPIAMgKKKioup1vpaGGjBggKqqqnTgwAH98pe/bNB827ZtO629R48e6tGjhyZPnqybbrpJCxcu9AWZ48ePa+fOnRowYEDA6gcQWPxqCUBQpKSkaO3atdqzZ48OHjwYsBPL9ejRQ5mZmbrtttv0zjvvaPfu3Vq3bp3y8/O1bNmyWufLyMjQypUrffd/+OEHZWdna/ny5dq7d69WrVql9evXq3fv3r5p1qxZI7fbrbS0tIDUDiDwCDIAguL+++9XZGSk+vTpo44dO6q4uDhgy164cKFuu+023XffferZs6fGjBmj9evXq0uXLrXOk5mZqa1bt2r79u2SpMjISH333Xe67bbb1KNHD11//fW68sorNX36dN88b731ljIzM9WyZcuA1Q4gsFyWZVl2FwEAofDAAw/I4/HohRdeOOO0Bw8eVM+ePbVhwwalpqaGoDoAjcGIDIAm449//KO6du1ar91ce/bs0fPPP0+IARyOERkAAGAsRmQAAICxCDIAAMBYBBkAAGAsggwAADAWQQYAABiLIAMAAIxFkAEAAMYiyAAAAGMRZAAAgLH+H94enWksyXifAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "before = 1.0 # in seconds\n", + "after = 3.0\n", + "\n", + "# Get the stimulus times for all stimuli\n", + "stim_on_times =trials[\"start_time\"] + trials[\"photostim_onset\"].values.astype(\"float\")\n", + "\n", + "for unit in range(3):\n", + " unit_spike_times = units[\"spike_times\"][unit]\n", + " trial_spikes = []\n", + " for time in stim_on_times:\n", + " # Compute spike times relative to stimulus onset\n", + " aligned_spikes = unit_spike_times - time\n", + " # Keep only spike times in a given time window around the stimulus onset\n", + " aligned_spikes = aligned_spikes[\n", + " (-before < aligned_spikes) & (aligned_spikes < after)\n", + " ]\n", + " trial_spikes.append(aligned_spikes)\n", + " fig, axs = plt.subplots(2, 1, sharex=\"all\")\n", + " plt.xlabel(\"time (s)\")\n", + " axs[0].eventplot(trial_spikes)\n", + "\n", + " axs[0].set_ylabel(\"trial\")\n", + " axs[0].set_title(\"unit {}\".format(unit))\n", + " axs[0].axvline(0, color=[0.5, 0.5, 0.5])\n", + "\n", + " axs[1].hist(np.hstack(trial_spikes), 30)\n", + " axs[1].axvline(0, color=[0.5, 0.5, 0.5])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The NWB file also contains behavior tracking data which is found in `nwbfile.acquisition`." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'BehavioralEvents': BehavioralEvents pynwb.behavior.BehavioralEvents at 0x2750574574512\n", + " Fields:\n", + " time_series: {\n", + " delay_start_times ,\n", + " delay_stop_times ,\n", + " go_start_times ,\n", + " go_stop_times ,\n", + " left_lick_times ,\n", + " photostim_start_times ,\n", + " photostim_stop_times ,\n", + " presample_start_times ,\n", + " presample_stop_times ,\n", + " right_lick_times ,\n", + " sample_start_times ,\n", + " sample_stop_times ,\n", + " trialend_start_times ,\n", + " trialend_stop_times \n", + " },\n", + " 'BehavioralTimeSeries': BehavioralTimeSeries pynwb.behavior.BehavioralTimeSeries at 0x2750574822736\n", + " Fields:\n", + " time_series: {\n", + " Camera0_side_JawTracking ,\n", + " Camera0_side_NoseTracking ,\n", + " Camera0_side_TongueTracking \n", + " }}" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nwbfile.acquisition" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The cell below fetches the timestamps for jaw tracking for camera 0. " + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "camera0_jawTracking_ts = nwbfile.acquisition[\"BehavioralTimeSeries\"][\"Camera0_side_JawTracking\"].timestamps[:]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here, we can create a function to plot trialized jaw movement overlaid with\n", + "spiking activity from a particular unit" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_trialized_jaw_movement(unit, title='left lick trials', trial_offset=0, trial_limit=10, xlim=(-0.5, 1)): \n", + " tongue_likelihood = nwbfile.acquisition['BehavioralTimeSeries']['Camera0_side_TongueTracking'].data[:, -1]\n", + " \n", + " tracking_y = nwbfile.acquisition['BehavioralTimeSeries']['Camera0_side_JawTracking'].data[:, 0]\n", + " tracking_ts = nwbfile.acquisition['BehavioralTimeSeries']['Camera0_side_JawTracking'].timestamps\n", + " \n", + " left_licks_trials = nwbfile.trials.to_dataframe().query(\"trial_instruction == 'left' and early_lick == 'no early' and outcome == 'hit'\")\n", + " right_licks_trials = nwbfile.trials.to_dataframe().query(\"trial_instruction == 'right' and early_lick == 'no early' and outcome == 'hit'\")\n", + " left_lick_times = nwbfile.acquisition['BehavioralEvents']['left_lick_times'].timestamps\n", + " right_lick_times = nwbfile.acquisition['BehavioralEvents']['right_lick_times'].timestamps\n", + " \n", + " fig, axs = plt.subplots(1, 2, figsize=(16, 8))\n", + " h_spacing = 150\n", + " \n", + " unit_data = units_df.query(f'id == {unit}').iloc[0]\n", + " \n", + " for conditioned_trials_df, lick_times, ax, ax_name, spk_color in zip(\n", + " (left_licks_trials, right_licks_trials),\n", + " (left_lick_times, right_lick_times),\n", + " axs, \n", + " ('left lick trials', 'right lick trials'),\n", + " ('b', 'r')): \n", + " \n", + " if trial_offset < 1 and isinstance(trial_offset, float):\n", + " offset = int(len(conditioned_trials_df) * trial_offset)\n", + " else:\n", + " offset = trial_offset\n", + " \n", + " trial_numbers = conditioned_trials_df.trial[offset:offset+trial_limit].values\n", + "\n", + " _, row_ind, _ = np.intersect1d(trials_df.trial.values, trial_numbers, return_indices=True)\n", + "\n", + " for tr_id, row_id in enumerate(row_ind):\n", + " trial_data = trials_df.iloc[row_id]\n", + " align_time = lick_times[np.logical_and(lick_times >= trial_data.start_time, \n", + " lick_times < trial_data.stop_time)][0]\n", + "\n", + " trk_feat = tracking_y[np.logical_and(tracking_ts >= align_time + xlim[0], \n", + " tracking_ts < align_time + xlim[-1])]\n", + " tongue_out_bool = tongue_likelihood[np.logical_and(tracking_ts >= align_time + xlim[0], \n", + " tracking_ts < align_time + xlim[-1])] > 0.9\n", + "\n", + " spike_times = unit_data.spike_times[np.logical_and(unit_data.spike_times >= align_time + xlim[0], \n", + " unit_data.spike_times < align_time + xlim[-1])]\n", + " spike_times -= align_time\n", + "\n", + " tvec = np.linspace(*xlim, len(trk_feat))\n", + "\n", + " # plot\n", + " ax.plot(tvec, trk_feat + tr_id * h_spacing, '.k', markersize=1)\n", + " ax.plot(tvec[tongue_out_bool], trk_feat[tongue_out_bool] + tr_id * h_spacing, '.', color='lime', markersize=2)\n", + " ax.plot(spike_times, np.full_like(spike_times, trk_feat[tongue_out_bool].mean() + h_spacing/10) + tr_id * h_spacing,\n", + " '|', color=spk_color, markersize=4)\n", + "\n", + "\n", + " ax.set_title(ax_name)\n", + " ax.axvline(x=0, linestyle='--', color='k')\n", + "\n", + " # cosmetic\n", + " ax.set_xlim(xlim)\n", + " ax.set_yticks([])\n", + " ax.spines['left'].set_visible(False)\n", + " ax.spines['right'].set_visible(False)\n", + " ax.spines['top'].set_visible(False)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\kusha\\AppData\\Local\\Temp\\ipykernel_32764\\3554794887.py:29: FutureWarning: The behavior of `series[i:j]` with an integer-dtype index is deprecated. In a future version, this will be treated as *label-based* indexing, consistent with e.g. `series[i]` lookups. To retain the old behavior, use `series.iloc[i:j]`. To get the future behavior, use `series.loc[i:j]`.\n", + " trial_numbers = conditioned_trials_df.trial[offset:offset+trial_limit].values\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABPYAAAKqCAYAAAC5GNDvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAADyA0lEQVR4nOz9fXwc5Z3ne39bLanbUrdtMAHH4fGYjc8qE4bwYGxvjA02Y3OynJk5s5lZexIgu3GYmwAJUsZBSTaSwywSk5UnYRjmbDyvwzDBnDOT7ENuZ5eY7CRO8NpgYxJ4rZ0DC2SAW7JhkC2jblltq3Xdf8jVrq6u6q7q55I+b1685G5Xd19XXU+/+tXVcsQYYwQAAAAAAAAgVFoaXQAAAAAAAAAAwZHYAwAAAAAAAEKIxB4AAAAAAAAQQiT2AAAAAAAAgBAisQcAAAAAAACEEIk9AAAAAAAAIIRI7AEAAAAAAAAhRGIPAAAAAAAACCESewAAAAAAAEAIkdgDQuqv//qvFYlE9A//8A9lvf5HP/qRrr76asXjcUUiEY2NjQV6/T/8wz8oEonor//6r3PP9ff3KxKJBC7L5Zdfrn/+z/954NeVq5Jzd+edd+ryyy+vepkAAADCqtwY0P7a9957r6plIlYFMFeQ2APmoNHRUf3+7/++5s2bp7/4i7/Qd7/7XXV2duqhhx7Sf/7P/7nRxQvkscceywvYAAAAMDsRqwJAIRJ7wBx08OBBjY+P68EHH9S//tf/Wp/61KfU1tZWcbD0ta99TadOnapeQX0oJ1j69Kc/rVOnTumyyy6rTaEAAADmkHrFgMSqAFCIxB4wB7377ruSpIULF1b1fVtbWxWPx6v6ntWUTqclSdFoNPcVZAAAAJTHiq2aPQa0NHs5iVUBlIPEHjDLPP3001q9erU6OzuVTCb1iU98QocPH879/dq1a3XHHXdIkq6//npFIhHdeeedikQiSqfTeuKJJxSJRHLPB+H1e0uefPJJLV++XB0dHTrvvPN044036plnnin6Xk888YRaW1v1x3/8x57HXH755Tp8+LB+9rOf5cq8du1aSed+N8nPfvYz3X333brwwgt18cUX5/2d/feW/OAHP9AnPvEJLVmyRLFYTEuXLtWDDz6obDZbst7/z//z/+jaa69VMpnU/Pnz9dGPflTf/va3S74OAAAgLKw478iRI9q8ebPOO+88ffzjH8/7O7tTp07pvvvu0wUXXKBkMqn//X//3zU8PKxIJKL+/v6C9x8bG9Odd96phQsXasGCBfrMZz6jiYmJ3N8TqxKrAnDX2ugCAKie7373u7rjjju0YcMGPfzww5qYmNBf/uVf6uMf/7h+8Ytf6PLLL9dXv/pVLVu2TN/5znf0jW98Q1dccYWWLl2q9evX67Of/ayWL1+uz33uc5KkpUuXVlymbdu2qb+/X6tWrdI3vvENtbe36/nnn9dPfvIT/dZv/Zbra77zne/oj/7oj/SVr3xFf/Inf+L53t/61rd07733KpFI6Ktf/aok6aKLLso75u6779YHPvABff3rX8/dBXXz13/910okEuru7lYikdBPfvITff3rX9f777+vb37zm56v+/GPf6xNmzZp3bp1evjhhyVJv/rVr/Tf//t/1xe+8AXP1wEAAITRJz/5Sf2Tf/JP9NBDD8kY43ncnXfeqb/7u7/Tpz/9aa1YsUI/+9nP9IlPfMLz+N///d/XFVdcoYGBAb344ov6q7/6K1144YW5+Oq73/0usSqxKgA3BkAoPf7440aS+fWvf22MMWZ8fNwsXLjQbNmyJe+4Y8eOmQULFuQ9b7324MGDecd2dnaaO+64w9fn//rXvzaSzOOPP557rq+vz9inlf/5P/+naWlpMb/7u79rstls3uunp6dzf77sssvMJz7xCWOMMd/+9rdNJBIxDz74oK9yfOQjHzFr1qwpeN6q48c//nEzNTXl+nfWuTPGmImJiYL3uOuuu0xHR4eZnJzMPXfHHXeYyy67LPf4C1/4gpk/f37BZwAAAMwmVpy3adMmz7+zHDp0yEgyX/ziF/OOu/POO40k09fXV/Daf/Wv/lXesb/7u79rFi1alPccsWo+YlUAxhjDV3GBWeLHP/6xxsbGtGnTJr333nu5/6PRqG644Qb99Kc/rXuZ/vN//s+anp7W17/+dbW05E83bl+D+NM//VN94Qtf0MMPP6yvfe1rVSnDli1bFI1GSx43b9683J/Hx8f13nvvafXq1ZqYmND/+//+v56vW7hwodLptH784x9XpbwAAADN7I/+6I9KHvOjH/1I0sxuNLt7773X9/uuXr1ao6Ojev/998sopT/EqgBmA76KC8wS//N//k9J0s033+z69/Pnz69ncSRJr7/+ulpaWtTV1VXy2J/97Gf6L//lv+jLX/5y0d9VEtQVV1zh67jDhw/ra1/7mn7yk58UBJAnT570fN3dd9+tv/u7v9Ott96qD33oQ/qt3/ot/f7v/742btxYUbkBAACakZ/Y6s0331RLS0vBsVdeeaXnay699NK8x+edd54k6cSJEzWLY4lVAcwGJPaAWWJ6elrSzO8fWbx4ccHft7Y293D/yEc+orGxMX33u9/VXXfd5TvIKcV+d9PL2NiY1qxZo/nz5+sb3/iGli5dqng8rhdffFFf/vKXc+fWzYUXXqhf/vKX2r17t55++mk9/fTTevzxx3X77bfriSeeqEodAAAAmoWf2KocXrvWTJHf41dPxKoAmlVzX+kD8M365cEXXnih1q9fX9Z7uH3loBJLly7V9PS0jhw5oquvvrrosRdccIG+//3v6+Mf/7jWrVunvXv3asmSJSU/oxpl3rNnj0ZHR/Uf/+N/1I033ph7/te//rWv17e3t+u2227Tbbfdpunpad1999369//+3+vf/Jt/U/TONAAAwGx02WWXaXp6Wr/+9a/1T/7JP8k9/9prr1X0vsSqxKoACvE79oBZYsOGDZo/f74eeughnTlzpuDv//Ef/7Hke3R2dmpsbKxqZfqd3/kdtbS06Bvf+EbBnUS3u68XX3yx/tt/+286deqUbrnlFo2Ojpb8jGqU2bpDbC/T6dOn9dhjj5V8rbOMLS0tuuqqqyRJmUymonIBAACE0YYNGySpIJb68z//84rel1iVWBVAIXbsAbPE/Pnz9Zd/+Zf69Kc/rWuuuUb/8l/+S33gAx/QW2+9pf/yX/6L/tk/+2d69NFHi77Htddeq//23/6btm/friVLluiKK67QDTfcUHaZrrzySn31q1/Vgw8+qNWrV+v/+D/+D8ViMR08eFBLlizRwMCA62ueeeYZrV27Vhs2bNBPfvKTor9X5dprr9Vf/uVf6k/+5E905ZVX6sILL/T8PYNeVq1apfPOO0933HGH7rvvPkUiEX33u9/19dWPz372szp+/LhuvvlmXXzxxXrzzTf153/+57r66qv1T//pPw1UDgAAgNng2muv1e/93u/pW9/6lkZHR7VixQr97Gc/06uvviqp/F1sxKrEqgAKkdgDZpHNmzdryZIlGhwc1De/+U1lMhl96EMf0urVq/WZz3ym5Ou3b9+uz33uc/ra176mU6dO6Y477qgoWJKk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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_trialized_jaw_movement(unit=12, trial_offset=0.5, trial_limit=15)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you would like to work with a `.nwb` file without downloading it locally,\n", + "please follow the steps below: \n", + "\n", + "1. Once you find a dataset you want to work with, please update the filepath\n", + "variable below to match the file path on DANDI. \n", + "\n", + "2. Once updated, run the three cells below.\n", + "\n", + "The `.nwb` file is now streaming and you can bring items into memory by using code\n", + "similar to that in the fourth cell below this comment. \n", + "\n", + "**Please ensure the file path information is entered correctly and you are\n", + "working with your intended dataset.**" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "dandiset_id = \"000363\" \n", + "filepath = \"sub-440956/sub-440956_ses-20190207T120657_behavior+ecephys+ogen.nwb\"" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\kusha\\miniconda3\\envs\\mapEphysNWB\\lib\\site-packages\\hdmf\\spec\\namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.5.1 because version 1.7.0 is already loaded.\n", + " warn(\"Ignoring cached namespace '%s' version %s because version %s is already loaded.\"\n", + "c:\\Users\\kusha\\miniconda3\\envs\\mapEphysNWB\\lib\\site-packages\\hdmf\\spec\\namespace.py:531: UserWarning: Ignoring cached namespace 'core' version 2.5.0 because version 2.6.0-alpha is already loaded.\n", + " warn(\"Ignoring cached namespace '%s' version %s because version %s is already loaded.\"\n", + "c:\\Users\\kusha\\miniconda3\\envs\\mapEphysNWB\\lib\\site-packages\\hdmf\\spec\\namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.2.0 because version 0.4.0 is already loaded.\n", + " warn(\"Ignoring cached namespace '%s' version %s because version %s is already loaded.\"\n" + ] + } + ], + "source": [ + "with DandiAPIClient() as client:\n", + " asset = client.get_dandiset(dandiset_id, \"draft\").get_asset_by_path(filepath)\n", + " s3_url = asset.get_content_url(follow_redirects=1, strip_query=True)\n", + "fs=fsspec.filesystem(\"http\")\n", + "file = h5py.File(fs.open(s3_url, \"rb\"))\n", + "io = pynwb.NWBHDF5IO(file=file, load_namespaces=True)\n", + "nwbfile_stream = io.read()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + "

root (NWBFile)

session_description:
identifier: SC015_20190207_120657_s1
session_start_time: 2019-02-07 12:06:57-06:00
timestamps_reference_time: 2019-02-07 12:06:57-06:00
file_create_date
2023-04-25 12:08:21.159278-05:00
experimenter: ('susu',)
related_publications: ('',)
acquisition (2)
BehavioralEvents
time_series (14)
delay_start_times
resolution: -1.0
comments: no comments
description: Timestamps for event type: delay - Start Time
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
delay_stop_times
resolution: -1.0
comments: no comments
description: Timestamps for event type: delay - Stop Time
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
go_start_times
resolution: -1.0
comments: no comments
description: Timestamps for event type: go - Start Time
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
go_stop_times
resolution: -1.0
comments: no comments
description: Timestamps for event type: go - Stop Time
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
left_lick_times
resolution: -1.0
comments: no comments
description: Timestamps for event type: left lick
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
photostim_start_times
resolution: -1.0
comments: no comments
description: Timestamps of the photo-stimulation and the corresponding powers (in mW) being applied
conversion: 1.0
offset: 0.0
unit: mW
control
control_description
data
timestamps
timestamps_unit: seconds
interval: 1
photostim_stop_times
resolution: -1.0
comments: no comments
description: Timestamps of the photo-stimulation being switched off
conversion: 1.0
offset: 0.0
unit: mW
control
control_description
data
timestamps
timestamps_unit: seconds
interval: 1
presample_start_times
resolution: -1.0
comments: no comments
description: Timestamps for event type: presample - Start Time
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
presample_stop_times
resolution: -1.0
comments: no comments
description: Timestamps for event type: presample - Stop Time
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
right_lick_times
resolution: -1.0
comments: no comments
description: Timestamps for event type: right lick
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
sample_start_times
resolution: -1.0
comments: no comments
description: Timestamps for event type: sample - Start Time
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
sample_stop_times
resolution: -1.0
comments: no comments
description: Timestamps for event type: sample - Stop Time
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
trialend_start_times
resolution: -1.0
comments: no comments
description: Timestamps for event type: trialend - Start Time
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
trialend_stop_times
resolution: -1.0
comments: no comments
description: Timestamps for event type: trialend - Stop Time
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
BehavioralTimeSeries
time_series (3)
Camera0_side_JawTracking
resolution: -1.0
comments: no comments
description: Time series for JawTracking position: ('jaw_x', 'jaw_y', 'jaw_likelihood')
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
Camera0_side_NoseTracking
resolution: -1.0
comments: no comments
description: Time series for NoseTracking position: ('nose_x', 'nose_y', 'nose_likelihood')
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
Camera0_side_TongueTracking
resolution: -1.0
comments: no comments
description: Time series for TongueTracking position: ('tongue_x', 'tongue_y', 'tongue_likelihood')
conversion: 1.0
offset: 0.0
unit: a.u.
data
timestamps
timestamps_unit: seconds
interval: 1
keywords
epoch_tags: set()
electrodes
description: metadata about extracellular electrodes
id
colnames: ('location', 'group', 'group_name', 'electrode', 'shank', 'shank_col', 'shank_row', 'x', 'y', 'z', 'imp', 'filtering', 'rel_x', 'rel_y', 'rel_z')
columns: (, , , , , , , , , , , , , , )
electrode_groups (4)
17131309211 1-281
description: {\"probe\": \"17131309211\", \"probe_type\": \"neuropixels 1.0 - 3B\", \"electrode_config_name\": \"1-281\", \"subject_id\": 440956, \"session\": 1, \"insertion_number\": 1, \"probe_comment\": \"\", \"electrode_config_hash\": \"1497a7be87e3c11ebd33da9f574200d9\"}
location: {\"brain_regions\": \"left ALM\", \"skull_reference\": \"Bregma\", \"ap_location\": \"2500.00\", \"ml_location\": \"-1500.00\", \"depth\": \"-2600.00\", \"theta\": \"15.00\", \"phi\": \"135.00\", \"beta\": \"-135.00\"}
device
description: neuropixels 1.0 - 3B
17216703352 1-281
description: {\"probe\": \"17216703352\", \"probe_type\": \"neuropixels 1.0 - 3B\", \"electrode_config_name\": \"1-281\", \"subject_id\": 440956, \"session\": 1, \"insertion_number\": 2, \"probe_comment\": \"\", \"electrode_config_hash\": \"1497a7be87e3c11ebd33da9f574200d9\"}
location: {\"brain_regions\": \"right ALM\", \"skull_reference\": \"Bregma\", \"ap_location\": \"2500.00\", \"ml_location\": \"1500.00\", \"depth\": \"-2600.00\", \"theta\": \"15.00\", \"phi\": \"45.00\", \"beta\": \"-45.00\"}
device
description: neuropixels 1.0 - 3B
18005117122 1-384
description: {\"probe\": \"18005117122\", \"probe_type\": \"neuropixels 1.0 - 3B\", \"electrode_config_name\": \"1-384\", \"subject_id\": 440956, \"session\": 1, \"insertion_number\": 4, \"probe_comment\": \"\", \"electrode_config_hash\": \"4ae1f6ed4687467836d43369e548fe00\"}
location: {\"brain_regions\": \"right Striatum\", \"skull_reference\": \"Bregma\", \"ap_location\": \"0.00\", \"ml_location\": \"2500.00\", \"depth\": \"-4200.00\", \"theta\": \"10.00\", \"phi\": \"0.00\", \"beta\": \"60.00\"}
device
description: neuropixels 1.0 - 3B
18005118502 1-384
description: {\"probe\": \"18005118502\", \"probe_type\": \"neuropixels 1.0 - 3B\", \"electrode_config_name\": \"1-384\", \"subject_id\": 440956, \"session\": 1, \"insertion_number\": 3, \"probe_comment\": \"\", \"electrode_config_hash\": \"4ae1f6ed4687467836d43369e548fe00\"}
location: {\"brain_regions\": \"left Striatum\", \"skull_reference\": \"Bregma\", \"ap_location\": \"0.00\", \"ml_location\": \"-2500.00\", \"depth\": \"-4200.00\", \"theta\": \"10.00\", \"phi\": \"180.00\", \"beta\": \"120.00\"}
device
description: neuropixels 1.0 - 3B
devices (5)
17131309211 (neuropixels 1.0 - 3B)
description: neuropixels 1.0 - 3B
17216703352 (neuropixels 1.0 - 3B)
description: neuropixels 1.0 - 3B
18005117122 (neuropixels 1.0 - 3B)
description: neuropixels 1.0 - 3B
18005118502 (neuropixels 1.0 - 3B)
description: neuropixels 1.0 - 3B
OBIS470
ogen_sites (2)
OBIS470_4
device
description: excitation_duration: 0.5000
excitation_lambda: 473.0
location: [{\"skull_reference\": \"Bregma\", \"ap_location\": \"2500.00\", \"ml_location\": \"-1500.00\", \"depth\": \"0.00\", \"theta\": \"15.00\", \"phi\": \"15.00\", \"brain_area\": \"ALM\"}]
OBIS470_6
device
description: excitation_duration: 0.5000
excitation_lambda: 473.0
location: [{\"skull_reference\": \"Bregma\", \"ap_location\": \"2500.00\", \"ml_location\": \"-1500.00\", \"depth\": \"0.00\", \"theta\": \"15.00\", \"phi\": \"15.00\", \"brain_area\": \"ALM\"}, {\"skull_reference\": \"Bregma\", \"ap_location\": \"2500.00\", \"ml_location\": \"1500.00\", \"depth\": \"0.00\", \"theta\": \"15.00\", \"phi\": \"15.00\", \"brain_area\": \"ALM\"}]
intervals (1)
trials
description: experimental trials
id
colnames: ('start_time', 'stop_time', 'trial', 'photostim_onset', 'photostim_power', 'photostim_duration', 'trial_uid', 'task', 'task_protocol', 'trial_instruction', 'early_lick', 'outcome', 'auto_water', 'free_water')
columns: (, , , , , , , , , , , , , )
subject
description: SC015
sex: M
species: Mus musculus
subject_id: 440956
date_of_birth: 2018-10-09 00:00:00-05:00
trials
description: experimental trials
id
colnames: ('start_time', 'stop_time', 'trial', 'photostim_onset', 'photostim_power', 'photostim_duration', 'trial_uid', 'task', 'task_protocol', 'trial_instruction', 'early_lick', 'outcome', 'auto_water', 'free_water')
columns: (, , , , , , , , , , , , , )
units
description: Autogenerated by NWBFile
id
colnames: ('unit', 'sampling_rate', 'unit_quality', 'unit_posx', 'unit_posy', 'unit_amp', 'unit_snr', 'isi_violation', 'avg_firing_rate', 'drift_metric', 'presence_ratio', 'amplitude_cutoff', 'isolation_distance', 'l_ratio', 'd_prime', 'nn_hit_rate', 'nn_miss_rate', 'silhouette_score', 'max_drift', 'cumulative_drift', 'duration', 'halfwidth', 'pt_ratio', 'repolarization_slope', 'recovery_slope', 'spread', 'velocity_above', 'velocity_below', 'classification', 'anno_name', 'spike_times', 'obs_intervals', 'electrodes', 'electrode_group', 'waveform_mean', 'waveform_sd')
columns: (, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , electrodes hdmf.common.table.DynamicTableRegion at 0x2748920410656\n", + " Target table: electrodes hdmf.common.table.DynamicTable at 0x2748920370704\n", + ", , , )
waveform_unit: volts
experiment_description: high tone vs. low tone
institution: Janelia Research Campus
data_collection:
" + ], + "text/plain": [ + "root pynwb.file.NWBFile at 0x2748919558688\n", + "Fields:\n", + " acquisition: {\n", + " BehavioralEvents ,\n", + " BehavioralTimeSeries \n", + " }\n", + " devices: {\n", + " 17131309211 (neuropixels 1.0 - 3B) ,\n", + " 17216703352 (neuropixels 1.0 - 3B) ,\n", + " 18005117122 (neuropixels 1.0 - 3B) ,\n", + " 18005118502 (neuropixels 1.0 - 3B) ,\n", + " OBIS470 \n", + " }\n", + " electrode_groups: {\n", + " 17131309211 1-281 ,\n", + " 17216703352 1-281 ,\n", + " 18005117122 1-384 ,\n", + " 18005118502 1-384 \n", + " }\n", + " electrodes: electrodes \n", + " experiment_description: high tone vs. low tone\n", + " experimenter: ['susu']\n", + " file_create_date: [datetime.datetime(2023, 4, 25, 12, 8, 21, 159278, tzinfo=tzoffset(None, -18000))]\n", + " identifier: SC015_20190207_120657_s1\n", + " institution: Janelia Research Campus\n", + " intervals: {\n", + " trials \n", + " }\n", + " keywords: \n", + " ogen_sites: {\n", + " OBIS470_4 ,\n", + " OBIS470_6 \n", + " }\n", + " related_publications: ['']\n", + " session_start_time: 2019-02-07 12:06:57-06:00\n", + " subject: subject pynwb.file.Subject at 0x2748920369984\n", + "Fields:\n", + " date_of_birth: 2018-10-09 00:00:00-05:00\n", + " description: SC015\n", + " sex: M\n", + " species: Mus musculus\n", + " subject_id: 440956\n", + "\n", + " timestamps_reference_time: 2019-02-07 12:06:57-06:00\n", + " trials: trials \n", + " units: units " + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nwbfile_stream" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 3.0615, 10.4911, 17.3014, 27.2102, 35.2372, 42.905 ,\n", + " 49.7081, 56.5462, 63.2105, 72.5735, 79.2202, 85.9121,\n", + " 92.7641, 99.6109, 106.76 , 116.3083, 122.0923, 127.5653,\n", + " 132.9223, 138.5094, 143.8852, 149.3363, 156.0039, 162.8571,\n", + " 169.6084, 176.8017, 187.2051, 193.9074, 201.7581, 207.6403,\n", + " 213.0816, 218.8675, 227.4653, 238.0169, 244.8202, 251.4951,\n", + " 259.8815, 266.7619, 274.0136, 281.0376, 286.9664, 292.8265,\n", + " 298.5257, 304.507 , 310.8796, 319.829 , 326.9991, 334.2257,\n", + " 343.1744, 351.5623, 357.7447, 363.1195, 368.747 , 374.229 ,\n", + " 380.9804, 387.861 , 394.8456, 402.903 , 409.7502, 415.9349,\n", + " 421.4966, 427.0599, 432.4702, 440.0814, 446.9801, 453.5642,\n", + " 458.9952, 464.777 , 470.2857, 475.6348, 482.8147, 489.7204,\n", + " 496.8337, 502.1852, 508.4031, 514.0713, 519.5604, 525.4693,\n", + " 533.5183, 540.1865, 546.609 , 553.3516, 559.3192, 564.9274,\n", + " 571.8408, 578.6202, 585.4115, 592.0502, 598.5403, 604.113 ,\n", + " 609.6726, 615.3222, 621.482 , 628.8424, 635.5277, 641.1466,\n", + " 647.8861, 654.524 , 662.4597, 668.7303, 674.2622, 679.8691,\n", + " 687.3476, 694.7024, 701.8313, 708.8122, 715.5963, 721.2613,\n", + " 728.0117, 733.819 , 740.7576, 747.2409, 752.8439, 758.4469,\n", + " 765.3189, 772.1975, 778.0954, 783.711 , 789.8348, 795.4362,\n", + " 803.3813, 810.2268, 816.2674, 823.1371, 830.7652, 837.1315,\n", + " 842.7459, 848.6374, 854.5288, 861.4798, 867.4804, 873.2311,\n", + " 880.0694, 886.9565, 893.791 , 899.6515, 906.5144, 915.4797,\n", + " 922.2182, 928.2243, 935.2025, 942.1355, 947.9049, 953.9881,\n", + " 959.7521, 965.4442, 971.8904, 979.3864, 986.1739, 991.7749,\n", + " 997.8248, 1005.4567, 1011.4929, 1018.4516, 1024.0857, 1032.8678,\n", + " 1040.0284, 1048.1081, 1053.7386, 1061.3482, 1067.3598, 1073.5459,\n", + " 1081.0744, 1088.0905, 1093.7267, 1099.3782, 1106.3492, 1113.7095,\n", + " 1121.0334, 1128.1796, 1136.5811, 1144.1801, 1150.2133, 1156.9586,\n", + " 1164.0074, 1170.8265, 1178.9861, 1185.6197, 1193.5744, 1201.2893,\n", + " 1208.2729, 1215.1117, 1221.3972, 1228.2218, 1235.1996, 1242.0493,\n", + " 1248.8307, 1255.7514, 1262.5618, 1269.6227, 1276.4573, 1282.8724,\n", + " 1289.781 , 1298.0529, 1304.9496, 1310.7095, 1317.6408, 1323.7209,\n", + " 1330.6749, 1337.547 , 1344.6158, 1350.2868, 1357.197 , 1364.1247,\n", + " 1373.3989, 1380.7206, 1387.1818, 1392.7917, 1398.7521, 1404.4882,\n", + " 1411.2463, 1418.4645, 1425.4206, 1431.4931, 1438.5164, 1445.4296,\n", + " 1452.6841, 1459.5578, 1465.2738, 1472.2254, 1479.1548, 1486.0814,\n", + " 1492.9945, 1500.4024, 1507.9126, 1515.1422, 1522.0199, 1527.9301,\n", + " 1534.112 , 1541.1924, 1548.1025, 1554.3979, 1560.2494, 1567.3377,\n", + " 1573.2397, 1580.1079, 1588.0388, 1594.8545, 1602.0475, 1607.8144,\n", + " 1613.8026, 1620.8349, 1627.6857, 1633.2791, 1639.2581, 1646.3069,\n", + " 1653.3472, 1659.348 , 1666.3821, 1673.2448, 1680.7812, 1688.254 ,\n", + " 1695.1875, 1702.056 , 1708.9938, 1718.3716, 1726.6969, 1733.6456,\n", + " 1740.5025, 1746.6062, 1752.3556, 1759.3398, 1766.2942, 1772.0469,\n", + " 1779.0226, 1785.8113, 1792.8843, 1799.7211, 1806.1827, 1811.9459,\n", + " 1817.4387, 1824.4164, 1831.5255, 1838.3327, 1847.9201, 1855.0521,\n", + " 1862.4418, 1869.2029, 1876.7185, 1883.6657, 1890.1301, 1895.7593,\n", + " 1902.8746, 1909.9185, 1917.18 , 1924.2328, 1930.4628, 1935.9326,\n", + " 1942.9056, 1949.7816, 1956.8511, 1964.0187, 1971.0863, 1978.244 ,\n", + " 1985.6911, 1992.7111, 1999.6399, 2008.0716, 2014.2828, 2021.2891,\n", + " 2028.3184, 2035.6347, 2041.7165, 2048.9987, 2056.7764, 2064.5651,\n", + " 2071.6463, 2077.7539, 2083.4884, 2089.1549, 2096.6003, 2103.7163,\n", + " 2111.7586, 2117.7629, 2123.4962, 2130.5302, 2138.8126, 2145.6863,\n", + " 2152.7347, 2158.9162, 2165.9785, 2172.5589, 2178.0028, 2183.8062,\n", + " 2189.8809, 2196.9408, 2203.983 , 2211.0387, 2218.178 , 2224.4173,\n", + " 2230.1544, 2235.9259, 2241.4429, 2248.4345, 2255.538 , 2262.9897,\n", + " 2270.0826, 2277.2559, 2284.2673, 2291.2929, 2298.4562, 2305.4346,\n", + " 2312.5212, 2319.476 , 2326.438 , 2333.4585, 2339.9448, 2349.9509,\n", + " 2357.1298, 2364.3269, 2370.2008, 2377.4106, 2384.6028, 2391.7107,\n", + " 2397.9439, 2405.7404, 2411.4053, 2419.0319, 2426.117 , 2433.139 ,\n", + " 2440.3165, 2447.3106, 2454.4401, 2461.6609, 2468.8032, 2475.9751,\n", + " 2482.9792, 2490.0071])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nwbfile_stream.acquisition[\"BehavioralEvents\"].time_series[\"go_start_times\"].timestamps[:]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "mapEphysNWB", + "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.9.13" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/000363/MAP/demo/environment.yml b/000363/MAP/demo/environment.yml new file mode 100644 index 0000000..f526d71 --- /dev/null +++ b/000363/MAP/demo/environment.yml @@ -0,0 +1,11 @@ +name: base +dependencies: + - pynwb + - nwbwidgets + - fsspec + - requests + - aiohttp + - dandi + - numpy + - matplotlib + - pandas \ No newline at end of file