From 66dd40ac537e2de19f1dc8515e5a33832e9abc0d Mon Sep 17 00:00:00 2001 From: Sam Bray Date: Tue, 19 Mar 2024 10:52:59 -0700 Subject: [PATCH] update ripple detection to mediumnwb file --- notebooks/32_Ripple_Detection.ipynb | 3734 ++++++++++++++----- notebooks/py_scripts/32_Ripple_Detection.py | 194 +- 2 files changed, 2932 insertions(+), 996 deletions(-) diff --git a/notebooks/32_Ripple_Detection.ipynb b/notebooks/32_Ripple_Detection.ipynb index 01c833cac..8a0fa31df 100644 --- a/notebooks/32_Ripple_Detection.ipynb +++ b/notebooks/32_Ripple_Detection.ipynb @@ -48,24 +48,15 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 32, "id": "fc5e9860", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[2024-01-24 09:56:01,323][INFO]: Connecting sambray@lmf-db.cin.ucsf.edu:3306\n", - "[2024-01-24 09:56:01,355][INFO]: Connected sambray@lmf-db.cin.ucsf.edu:3306\n", - "[09:56:02][WARNING] Spyglass: Please update position_tools to >= 0.1.0\n" - ] - } - ], + "outputs": [], "source": [ "import os\n", "import datajoint as dj\n", "import numpy as np\n", + "import pandas as pd\n", "\n", "# change to the upper level folder to detect dj_local_conf.json\n", "if os.path.basename(os.getcwd()) == \"notebooks\":\n", @@ -73,11 +64,10 @@ "dj.config.load(\"dj_local_conf.json\") # load config for database connection info\n", "\n", "import spyglass.common as sgc\n", - "import spyglass.position as sgp\n", - "import spyglass.lfp as lfp\n", + "import spyglass.position.v1 as sgp\n", "import spyglass.lfp.analysis.v1 as lfp_analysis\n", "from spyglass.lfp import LFPOutput\n", - "import spyglass.lfp.v1 as sglfp\n", + "import spyglass.lfp as lfp\n", "from spyglass.position import PositionOutput\n", "import spyglass.ripple.v1 as sgrip\n", "import spyglass.ripple.v1 as sgr\n", @@ -90,209 +80,1739 @@ ] }, { - "attachments": {}, "cell_type": "markdown", - "id": "d741727d-6609-465a-add8-b5c4c9ab844c", - "metadata": { - "tags": [] - }, + "id": "154d132d", + "metadata": {}, "source": [ - "## Selecting Electrodes\n" + "## Generate LFP Ripple Band" ] }, { "cell_type": "markdown", - "id": "c571fe1a", + "id": "22384148", "metadata": {}, "source": [ - "First, we'll pick the electrodes on which we'll run ripple detection on, using\n", - "`RippleLFPSelection.set_lfp_electrodes`\n" + "First, we need to generate a filter band from the LFP data at the ripple frequency. This process is analagous to that in [30_LFP.ipynb](31_Theta.ipynb). " ] }, { - "cell_type": "code", - "execution_count": 2, - "id": "902494c3-37ec-4550-b14c-4b17df7d0ec7", + "cell_type": "markdown", + "id": "3576ddd1", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[0;31mSignature:\u001b[0m\n", - "\u001b[0msgr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mRippleLFPSelection\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_lfp_electrodes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\n", - "\u001b[0;34m\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", - "\u001b[0;34m\u001b[0m \u001b[0melectrode_list\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", - "\u001b[0;34m\u001b[0m \u001b[0mgroup_name\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'CA1'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", - "\u001b[0;34m\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", - "\u001b[0;34m\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mDocstring:\u001b[0m\n", - "Removes all electrodes for the specified nwb file and then\n", - "adds back the electrodes in the list\n", - "\n", - "Parameters\n", - "----------\n", - "key : dict\n", - " dictionary corresponding to the LFPBand entry to use for\n", - " ripple detection\n", - "electrode_list : list\n", - " list of electrodes from LFPBandSelection.LFPBandElectrode\n", - " to be used as the ripple LFP during detection\n", - "group_name : str, optional\n", - " description of the electrode group, by default \"CA1\"\n", - "\u001b[0;31mFile:\u001b[0m ~/Documents/spyglass/src/spyglass/ripple/v1/ripple.py\n", - "\u001b[0;31mType:\u001b[0m function" - ] - } - ], "source": [ - "?sgr.RippleLFPSelection.set_lfp_electrodes" + "#### Make LFP" ] }, { - "attachments": {}, "cell_type": "markdown", - "id": "355190ce-a553-44d6-8260-7eda67f9407f", + "id": "011ab00c", "metadata": {}, "source": [ - "We'll need the `nwb_file_name`, an `electrode_list`, and to a `group_name`.\n", - "\n", - "- By default, `group_name` is set to CA1 for ripple detection, but we could\n", - " alternatively use PFC.\n", - "- We use `nwb_file_name` to explore which electrodes are available for the\n", - " `electrode_list`.\n" + "If you have already populated the LFP table for your data you may skip this step. Here, we will begin by creating a lfp group of just electrodes in the hippocampus region, and populate the lfp on a subsetted interval:" ] }, { "cell_type": "code", - "execution_count": 3, - "id": "5e29339b-3d2b-4fb4-a966-6166c6a40ab8", + "execution_count": 9, + "id": "ead482d5", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
\n", + "

nwb_file_name

\n", + " name of the NWB file\n", + "
\n", + "

lfp_electrode_group_name

\n", + " the name of this group of electrodes\n", + "
\n", + "

target_interval_list_name

\n", + " descriptive name of this interval list\n", + "
\n", + "

filter_name

\n", + " descriptive name of this filter\n", + "
\n", + "

filter_sampling_rate

\n", + " sampling rate for this filter\n", + "
\n", + "

analysis_file_name

\n", + " name of the file\n", + "
\n", + "

interval_list_name

\n", + " descriptive name of this interval list\n", + "
\n", + "

lfp_object_id

\n", + " the NWB object ID for loading this object from the file\n", + "
\n", + "

lfp_sampling_rate

\n", + " the sampling rate, in HZ\n", + "
mediumnwb20230802_.nwbtest_hippocampus02_r1_ripple_demoLFP 0-400 Hz30000mediumnwb20230802_7625J294O4.nwblfp_test_hippocampus_02_r1_ripple_demo_valid times95ac8100-eca8-4dff-a504-b1c139a2a3af1000.0
\n", + " \n", + "

Total: 1

\n", + " " + ], + "text/plain": [ + "*nwb_file_name *lfp_electrode *target_interv *filter_name *filter_sampli analysis_file_ interval_list_ lfp_object_id lfp_sampling_r\n", + "+------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+\n", + "mediumnwb20230 test_hippocamp 02_r1_ripple_d LFP 0-400 Hz 30000 mediumnwb20230 lfp_test_hippo 95ac8100-eca8- 1000.0 \n", + " (Total: 1)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "nwb_file_name = \"tonks20211103_.nwb\"\n", - "interval_list_name = \"test interval\"\n", - "filter_name = \"Ripple 150-250 Hz\"\n", - "if not sgc.Session & {\"nwb_file_name\": nwb_file_name}:\n", - " # This error will be raised when notebooks auto-run with 'minirec'\n", - " raise ValueError(f\"Session with nwb_file_name={nwb_file_name} not found\")" + "nwb_file_name = \"mediumnwb20230802_.nwb\"\n", + "lfp_electrode_group_name = \"test_hippocampus\"\n", + "interval_list_name = \"02_r1_ripple_demo\"\n", + "\n", + "# select hippocampus electrodes\n", + "electrodes_df = (\n", + " pd.DataFrame(\n", + " (\n", + " sgc.Electrode\n", + " & {\n", + " \"nwb_file_name\": nwb_file_name,\n", + " }\n", + " )\n", + " * (sgc.BrainRegion & {\"region_name\": \"hippocampus\"})\n", + " )\n", + " .loc[:, [\"nwb_file_name\", \"electrode_id\", \"region_name\"]]\n", + " .sort_values(by=\"electrode_id\")\n", + ")\n", + "# create lfp_electrode_group\n", + "lfp_eg_key = {\n", + " \"nwb_file_name\": nwb_file_name,\n", + " \"lfp_electrode_group_name\": lfp_electrode_group_name,\n", + "}\n", + "lfp.lfp_electrode.LFPElectrodeGroup.create_lfp_electrode_group(\n", + " nwb_file_name=nwb_file_name,\n", + " group_name=lfp_electrode_group_name,\n", + " electrode_list=electrodes_df.electrode_id.tolist(),\n", + ")\n", + "\n", + "# make a shorter interval to run this demo on\n", + "interval_start = (\n", + " sgc.IntervalList\n", + " & {\"nwb_file_name\": nwb_file_name, \"interval_list_name\": \"02_r1\"}\n", + ").fetch1(\"valid_times\")[0][0]\n", + "truncated_interval = np.array(\n", + " [[interval_start, interval_start + 120]]\n", + ") # first 2 minutes of epoch\n", + "sgc.IntervalList.insert1(\n", + " {\n", + " \"nwb_file_name\": nwb_file_name,\n", + " \"interval_list_name\": \"02_r1_ripple_demo\",\n", + " \"valid_times\": truncated_interval,\n", + " },\n", + " skip_duplicates=True,\n", + ")\n", + "\n", + "# make the lfp selection\n", + "lfp_s_key = lfp_eg_key.copy()\n", + "lfp_s_key.update(\n", + " {\n", + " \"target_interval_list_name\": interval_list_name,\n", + " \"filter_name\": \"LFP 0-400 Hz\",\n", + " \"filter_sampling_rate\": 30_000, # sampling rate of the data (Hz)\n", + " \"target_sampling_rate\": 1_000, # smpling rate of the lfp output (Hz)\n", + " }\n", + ")\n", + "lfp.v1.LFPSelection.insert1(lfp_s_key, skip_duplicates=True)\n", + "\n", + "# populate the lfp\n", + "lfp.v1.LFPV1.populate(lfp_s_key, display_progress=True)\n", + "lfp.v1.LFPV1 & lfp_s_key" ] }, { - "attachments": {}, "cell_type": "markdown", - "id": "ac9c694f-06dd-47e8-9379-ec37397758f8", + "id": "29f67591", "metadata": {}, "source": [ - "Now we can look at `electrode_id` in the `Electrode` table:\n" + "#### Populate Ripple Band\n", + "We now create a filter for this frequency band" ] }, { "cell_type": "code", "execution_count": 10, - "id": "7c9f301d-7199-4c20-b008-38a1c16f1d04", + "id": "23824836", "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", + " /* Show the tooltip text when you mouse over the tooltip container */\n", + " .djtooltip:hover .djtooltiptext {\n", + " visibility: visible;\n", + " }\n", + " \n", + " \n", + " \n", + "
\n", + "
probe_idprobe_shankprobe_electrodenameoriginal_reference_electrodexyzfilteringimpedancebad_channelx_warpedy_warpedz_warped
\n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
\n", + "

filter_name

\n", + " descriptive name of this filter\n", + "
\n", + "

filter_sampling_rate

\n", + " sampling rate for this filter\n", + "
\n", + "

filter_type

\n", + " \n", + "
\n", + "

filter_low_stop

\n", + " lowest frequency for stop band for low frequency side of filter\n", + "
\n", + "

filter_low_pass

\n", + " lowest frequency for pass band of low frequency side of filter\n", + "
\n", + "

filter_high_pass

\n", + " highest frequency for pass band for high frequency side of filter\n", + "
\n", + "

filter_high_stop

\n", + " highest frequency for stop band of high frequency side of filter\n", + "
\n", + "

filter_comments

\n", + " comments about the filter\n", + "
\n", + "

filter_band_edges

\n", + " numpy array containing the filter bands (redundant with individual parameters)\n", + "
\n", + "

filter_coeff

\n", + " numpy array containing the filter coefficients\n", + "
Ripple 150-250 Hz1000lowpass140.0150.0250.0260.0ripple band filter for 1 kHz data=BLOB==BLOB=
\n", + " \n", + "

Total: 1

\n", + " " + ], + "text/plain": [ + "*filter_name *filter_sampli filter_type filter_low_sto filter_low_pas filter_high_pa filter_high_st filter_comment filter_ban filter_coe\n", + "+------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +--------+ +--------+\n", + "Ripple 150-250 1000 lowpass 140.0 150.0 250.0 260.0 ripple band fi =BLOB= =BLOB= \n", + " (Total: 1)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sgc.FirFilterParameters().add_filter(\n", + " filter_name=\"Ripple 150-250 Hz\",\n", + " fs=1000.0,\n", + " filter_type=\"bandpass\",\n", + " band_edges=[140, 150, 250, 260],\n", + " comments=\"ripple band filter for 1 kHz data\",\n", + ")\n", + "\n", + "sgc.FirFilterParameters() & \"filter_name='Ripple 150-250 Hz'\"" + ] + }, + { + "cell_type": "markdown", + "id": "494a270c", + "metadata": {}, + "source": [ + "We can then populate the ripple band" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "080a5fec", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
\n", + "

lfp_merge_id

\n", + " \n", + "
\n", + "

filter_name

\n", + " descriptive name of this filter\n", + "
\n", + "

filter_sampling_rate

\n", + " sampling rate for this filter\n", + "
\n", + "

nwb_file_name

\n", + " name of the NWB file\n", + "
\n", + "

target_interval_list_name

\n", + " descriptive name of this interval list\n", + "
\n", + "

lfp_band_sampling_rate

\n", + " the sampling rate for this band\n", + "
\n", + "

analysis_file_name

\n", + " name of the file\n", + "
\n", + "

interval_list_name

\n", + " descriptive name of this interval list\n", + "
\n", + "

lfp_band_object_id

\n", + " the NWB object ID for loading this object from the file\n", + "
e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz1000mediumnwb20230802_.nwb02_r1_ripple_demo1000mediumnwb20230802_XVQHZZVY3B.nwb02_r1_ripple_demo lfp band 1000Hzeca68871-9a8d-4fa4-b265-95dafdfdda29
\n", + " \n", + "

Total: 1

\n", + " " + ], + "text/plain": [ + "*lfp_merge_id *filter_name *filter_sampli *nwb_file_name *target_interv *lfp_band_samp analysis_file_ interval_list_ lfp_band_objec\n", + "+------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+\n", + "e5c8a41b-5bb1- Ripple 150-250 1000 mediumnwb20230 02_r1_ripple_d 1000 mediumnwb20230 02_r1_ripple_d eca68871-9a8d-\n", + " (Total: 1)" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from spyglass.lfp.analysis.v1 import lfp_band\n", + "\n", + "filter_name = \"Ripple 150-250 Hz\"\n", + "lfp_band_electrode_ids = (\n", + " electrodes_df.electrode_id.tolist()\n", + ") # assumes we've filtered these electrodes\n", + "lfp_band_sampling_rate = 1000 # desired sampling rate\n", + "\n", + "lfp_merge_id = (LFPOutput.LFPV1() & lfp_s_key).fetch1(\"merge_id\")\n", + "lfp_band.LFPBandSelection().set_lfp_band_electrodes(\n", + " nwb_file_name=nwb_file_name,\n", + " lfp_merge_id=lfp_merge_id,\n", + " electrode_list=lfp_band_electrode_ids,\n", + " filter_name=filter_name,\n", + " interval_list_name=interval_list_name,\n", + " reference_electrode_list=[-1], # -1 means no ref electrode for all channels\n", + " lfp_band_sampling_rate=lfp_band_sampling_rate,\n", + ")\n", + "\n", + "lfp_band.LFPBandV1.populate(\n", + " {\"lfp_merge_id\": lfp_merge_id, \"filter_name\": filter_name},\n", + " display_progress=True,\n", + ")\n", + "lfp_band.LFPBandV1 & {\"lfp_merge_id\": lfp_merge_id, \"filter_name\": filter_name}" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "d741727d-6609-465a-add8-b5c4c9ab844c", + "metadata": { + "tags": [] + }, + "source": [ + "## Selecting Ripple Analysis Electrodes\n" + ] + }, + { + "cell_type": "markdown", + "id": "c571fe1a", + "metadata": {}, + "source": [ + "Next, we'll pick the electrodes on which we'll run ripple detection on, using\n", + "`RippleLFPSelection.set_lfp_electrodes`\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "902494c3-37ec-4550-b14c-4b17df7d0ec7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[0;31mSignature:\u001b[0m\n", + "\u001b[0msgr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mRippleLFPSelection\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_lfp_electrodes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\n", + "\u001b[0;34m\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", + "\u001b[0;34m\u001b[0m \u001b[0melectrode_list\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", + "\u001b[0;34m\u001b[0m \u001b[0mgroup_name\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'CA1'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", + "\u001b[0;34m\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", + "\u001b[0;34m\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mDocstring:\u001b[0m\n", + "Removes all electrodes for the specified nwb file and then\n", + "adds back the electrodes in the list\n", + "\n", + "Parameters\n", + "----------\n", + "key : dict\n", + " dictionary corresponding to the LFPBand entry to use for\n", + " ripple detection\n", + "electrode_list : list\n", + " list of electrodes from LFPBandSelection.LFPBandElectrode\n", + " to be used as the ripple LFP during detection\n", + "group_name : str, optional\n", + " description of the electrode group, by default \"CA1\"\n", + "\u001b[0;31mFile:\u001b[0m ~/Documents/spyglass/src/spyglass/ripple/v1/ripple.py\n", + "\u001b[0;31mType:\u001b[0m function" + ] + } + ], + "source": [ + "?sgr.RippleLFPSelection.set_lfp_electrodes" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "355190ce-a553-44d6-8260-7eda67f9407f", + "metadata": {}, + "source": [ + "We'll need the `nwb_file_name`, an `electrode_list`, and to a `group_name`.\n", + "\n", + "- By default, `group_name` is set to CA1 for ripple detection, but we could\n", + " alternatively use PFC.\n", + "- We use `nwb_file_name` to explore which electrodes are available for the\n", + " `electrode_list`.\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "ac9c694f-06dd-47e8-9379-ec37397758f8", + "metadata": {}, + "source": [ + "Now we can look at `electrode_id` in the `Electrode` table:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "7c9f301d-7199-4c20-b008-38a1c16f1d04", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
probe_idprobe_shankprobe_electrodenameoriginal_reference_electrodexyzfilteringimpedancebad_channelx_warpedy_warpedz_warpedcontactsregion_namesubregion_namesubsubregion_name
nwb_file_nameelectrode_group_nameelectrode_idlfp_merge_idfilter_namefilter_sampling_ratetarget_interval_list_namelfp_band_sampling_ratelfp_electrode_group_namereference_elect_idregion_id
mediumnwb20230802_.nwb00e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.500080.00.00.0None0.0False0.00.00.0hippocampusNoneNone
1e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.501180.00.00.0None0.0False0.00.00.0hippocampusNoneNone
2e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.502280.00.00.0None0.0False0.00.00.0hippocampusNoneNone
3e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.503380.00.00.0None0.0False0.00.00.0hippocampusNoneNone
14e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.500480.00.00.0None0.0False0.00.00.0hippocampusNoneNone
....................................................................................
835e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5033580.00.00.0None0.0False0.00.00.0hippocampusNoneNone
936e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5003680.00.00.0None0.0False0.00.00.0hippocampusNoneNone
37e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5013780.00.00.0None0.0False0.00.00.0hippocampusNoneNone
38e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5023880.00.00.0None0.0False0.00.00.0hippocampusNoneNone
39e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5033980.00.00.0None0.0False0.00.00.0hippocampusNoneNone
\n", + "

88 rows × 18 columns

\n", + "
" + ], + "text/plain": [ + " probe_id \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + "\n", + " probe_shank \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + "\n", + " probe_electrode \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 1 \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 2 \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 3 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 3 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 1 \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 2 \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 3 \n", + "\n", + " name \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 1 \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 2 \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 3 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 4 \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 35 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 36 \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 37 \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 38 \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 39 \n", + "\n", + " original_reference_electrode \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + "\n", + " x \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + "\n", + " y \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + "\n", + " z \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + "\n", + " filtering \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + "\n", + " impedance \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + "\n", + " bad_channel \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + "\n", + " x_warped \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + "\n", + " y_warped \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + "\n", + " z_warped \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + "\n", + " contacts \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + "\n", + " region_name \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + "\n", + " subregion_name \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + "\n", + " subsubregion_name \n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 1 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 2 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 3 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + "... ... \n", + " 8 35 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 37 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 38 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 39 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + "\n", + "[88 rows x 18 columns]" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "electrodes = (\n", + " (sgc.Electrode() & {\"nwb_file_name\": nwb_file_name})\n", + " * (\n", + " lfp_analysis.LFPBandSelection.LFPBandElectrode()\n", + " & {\n", + " \"nwb_file_name\": nwb_file_name,\n", + " \"filter_name\": filter_name,\n", + " \"target_interval_list_name\": interval_list_name,\n", + " }\n", + " )\n", + " * sgc.BrainRegion\n", + ").fetch(format=\"frame\")\n", + "electrodes" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "c400f47e-a21b-451a-8721-35191161dc6e", + "metadata": {}, + "source": [ + "For ripple detection, we want only tetrodes, and only the first good wire on each tetrode. We will assume that is the first wire on each tetrode. I will do this using pandas syntax but you could use datajoint to filter this table as well. Here is the filtered table.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "83b9c019-a171-4d77-bccc-7c9945af1692", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -303,20 +1823,26 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -327,26 +1853,26 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -357,20 +1883,26 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -381,278 +1913,86 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - "
probe_idprobe_shankprobe_electrodenameoriginal_reference_electrodexyzfilteringimpedancebad_channelx_warpedy_warpedz_warpedcontactsregion_namesubregion_namesubsubregion_name
nwb_file_nameelectrode_group_nameelectrode_idlfp_merge_idfilter_namefilter_sampling_ratetarget_interval_list_namelfp_band_sampling_ratelfp_electrode_group_namereference_elect_idregion_idnwb_file_nameelectrode_group_nameelectrode_idlfp_merge_idfilter_namefilter_sampling_ratetarget_interval_list_namelfp_band_sampling_ratelfp_electrode_group_namereference_elect_idregion_id
mediumnwb20230802_.nwb00e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.500080.00.00.0None0.0False0.00.00.0hippocampusNoneNone
14e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.500480.00.00.0None0.0False0.00.00.0hippocampusNoneNone
1040e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5004080.00.00.0None0.0False0.00.00.0hippocampusNoneNone
1144e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5004480.00.00.0None0.0False0.00.00.0hippocampusNoneNone
1352e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5005280.00.00.0None0.0False0.00.00.0hippocampusNoneNone
1456e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5005680.00.00.0None0.0False0.00.00.0hippocampusNoneNone
1560e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5006080.00.00.0None0.0False0.00.00.0hippocampusNoneNone
1664e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5006480.00.00.0None0.0False0.00.00.0hippocampusNoneNone
1768e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5006880.00.00.0None0.0False0.00.00.0hippocampusNoneNone
1872e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5007280.00.00.0None0.0False0.00.00.0hippocampusNoneNone
1976e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5007680.00.00.0None0.0False0.00.00.0hippocampusNoneNone
tonks20211103_.nwb7282f3c93d5-5d5d-2d47-75b3-c346dddbd312Ripple 150-250 Hz1000test interval100CA1_test2080e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-11916tetrode_12.50028448080.00.00.00.00.0ca1hippocampusNoneNone
2184e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000CA1_testtest_hippocampus-11916tetrode_12.50028448480.00.00.00.00.0ca1hippocampusNoneNone
8322f3c93d5-5d5d-2d47-75b3-c346dddbd312Ripple 150-250 Hz1000test interval100CA1_test2288e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-11916tetrode_12.50032448880.00.00.00.00.0ca1hippocampusNoneNone
2392e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz1000CA1_test02_r1_ripple_demo1000test_hippocampus-11916tetrode_12.50032449280.00.00.00.00.0ca1hippocampusNoneNone
\n", - "
" - ], - "text/plain": [ - " probe_id \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 tetrode_12.5 \n", - " 1000 CA1_test -1 19 tetrode_12.5 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 tetrode_12.5 \n", - " 1000 CA1_test -1 19 tetrode_12.5 \n", - "\n", - " probe_shank \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0 \n", - " 1000 CA1_test -1 19 0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0 \n", - " 1000 CA1_test -1 19 0 \n", - "\n", - " probe_electrode \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0 \n", - " 1000 CA1_test -1 19 0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0 \n", - " 1000 CA1_test -1 19 0 \n", - "\n", - " name \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 28 \n", - " 1000 CA1_test -1 19 28 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 32 \n", - " 1000 CA1_test -1 19 32 \n", - "\n", - " original_reference_electrode \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 44 \n", - " 1000 CA1_test -1 19 44 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 44 \n", - " 1000 CA1_test -1 19 44 \n", - "\n", - " x \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - "\n", - " y \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - "\n", - " z \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - "\n", - " filtering \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 None \n", - " 1000 CA1_test -1 19 None \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 None \n", - " 1000 CA1_test -1 19 None \n", - "\n", - " impedance \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - "\n", - " bad_channel \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 False \n", - " 1000 CA1_test -1 19 False \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 False \n", - " 1000 CA1_test -1 19 False \n", - "\n", - " x_warped \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - "\n", - " y_warped \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - "\n", - " z_warped \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - "\n", - " contacts \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 \n", - " 1000 CA1_test -1 19 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 \n", - " 1000 CA1_test -1 19 \n", - "\n", - " region_name \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 ca1 \n", - " 1000 CA1_test -1 19 ca1 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 ca1 \n", - " 1000 CA1_test -1 19 ca1 \n", - "\n", - " subregion_name \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 None \n", - " 1000 CA1_test -1 19 None \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 None \n", - " 1000 CA1_test -1 19 None \n", - "\n", - " subsubregion_name \n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 None \n", - " 1000 CA1_test -1 19 None \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 None \n", - " 1000 CA1_test -1 19 None " - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "electrodes = (\n", - " (sgc.Electrode() & {\"nwb_file_name\": nwb_file_name})\n", - " * (\n", - " lfp_analysis.LFPBandSelection.LFPBandElectrode()\n", - " & {\n", - " \"nwb_file_name\": nwb_file_name,\n", - " \"filter_name\": filter_name,\n", - " \"target_interval_list_name\": interval_list_name,\n", - " }\n", - " )\n", - " * sgc.BrainRegion\n", - ").fetch(format=\"frame\")\n", - "electrodes" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "c400f47e-a21b-451a-8721-35191161dc6e", - "metadata": {}, - "source": [ - "For ripple detection, we want only tetrodes, and only the first good wire on each tetrode. We will assume that is the first wire on each tetrode. I will do this using pandas syntax but you could use datajoint to filter this table as well. Here is the filtered table.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "83b9c019-a171-4d77-bccc-7c9945af1692", - "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", @@ -663,20 +2003,56 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -687,26 +2063,26 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -717,20 +2093,26 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -741,7 +2123,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -750,134 +2132,458 @@ "" ], "text/plain": [ - " probe_id \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 tetrode_12.5 \n", - " 1000 CA1_test -1 19 tetrode_12.5 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 tetrode_12.5 \n", - " 1000 CA1_test -1 19 tetrode_12.5 \n", + " probe_id \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 tetrode_12.5 \n", "\n", - " probe_shank \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0 \n", - " 1000 CA1_test -1 19 0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0 \n", - " 1000 CA1_test -1 19 0 \n", + " probe_shank \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", "\n", - " probe_electrode \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0 \n", - " 1000 CA1_test -1 19 0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0 \n", - " 1000 CA1_test -1 19 0 \n", + " probe_electrode \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", "\n", - " name \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 28 \n", - " 1000 CA1_test -1 19 28 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 32 \n", - " 1000 CA1_test -1 19 32 \n", + " name \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 4 \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 40 \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 44 \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 52 \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 56 \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 60 \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 64 \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 68 \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 72 \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 76 \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 80 \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 84 \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 88 \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 92 \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 12 \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 16 \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 20 \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 24 \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 28 \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 32 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 36 \n", "\n", - " original_reference_electrode \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 44 \n", - " 1000 CA1_test -1 19 44 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 44 \n", - " 1000 CA1_test -1 19 44 \n", + " original_reference_electrode \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 8 \n", "\n", - " x \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", + " x \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", "\n", - " y \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", + " y \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", "\n", - " z \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", + " z \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", "\n", - " filtering \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 None \n", - " 1000 CA1_test -1 19 None \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 None \n", - " 1000 CA1_test -1 19 None \n", + " filtering \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", "\n", - " impedance \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", + " impedance \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", "\n", - " bad_channel \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 False \n", - " 1000 CA1_test -1 19 False \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 False \n", - " 1000 CA1_test -1 19 False \n", + " bad_channel \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 False \n", "\n", - " x_warped \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", + " x_warped \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", "\n", - " y_warped \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", + " y_warped \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", "\n", - " z_warped \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 0.0 \n", - " 1000 CA1_test -1 19 0.0 \n", + " z_warped \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 0.0 \n", "\n", - " contacts \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 \n", - " 1000 CA1_test -1 19 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 \n", - " 1000 CA1_test -1 19 \n", + " contacts \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 \n", "\n", - " region_name \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 ca1 \n", - " 1000 CA1_test -1 19 ca1 \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 ca1 \n", - " 1000 CA1_test -1 19 ca1 \n", + " region_name \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 hippocampus \n", "\n", - " subregion_name \\\n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 None \n", - " 1000 CA1_test -1 19 None \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 None \n", - " 1000 CA1_test -1 19 None \n", + " subregion_name \\\n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", "\n", - " subsubregion_name \n", - "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", - "tonks20211103_.nwb 7 28 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 None \n", - " 1000 CA1_test -1 19 None \n", - " 8 32 2f3c93d5-5d5d-2d47-75b3-c346dddbd312 Ripple 150-250 Hz 1000 test interval 100 CA1_test -1 19 None \n", - " 1000 CA1_test -1 19 None " + " subsubregion_name \n", + "nwb_file_name electrode_group_name electrode_id lfp_merge_id filter_name filter_sampling_rate target_interval_list_name lfp_band_sampling_rate lfp_electrode_group_name reference_elect_id region_id \n", + "mediumnwb20230802_.nwb 0 0 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 1 4 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 10 40 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 11 44 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 13 52 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 14 56 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 15 60 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 16 64 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 17 68 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 18 72 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 19 76 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 20 80 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 21 84 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 22 88 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 23 92 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 3 12 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 4 16 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 5 20 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 6 24 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 7 28 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 8 32 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None \n", + " 9 36 e5c8a41b-5bb1-c12c-d306-e80e5491d6dd Ripple 150-250 Hz 1000 02_r1_ripple_demo 1000 test_hippocampus -1 16 None " ] }, - "execution_count": 5, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -900,7 +2606,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 22, "id": "0eba0656-c4dd-42bd-b18f-23aac13eb70a", "metadata": {}, "outputs": [], @@ -934,7 +2640,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 24, "id": "345709c2-2892-407d-ab2d-d3fd36f67d69", "metadata": {}, "outputs": [], @@ -959,7 +2665,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 25, "id": "96eb2aae-e93a-4214-a5e2-8c729767634b", "metadata": {}, "outputs": [ @@ -1059,7 +2765,7 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -1069,7 +2775,7 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -1079,7 +2785,7 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -1089,7 +2795,7 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -1099,7 +2805,7 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -1109,7 +2815,7 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -1119,7 +2825,7 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -1129,7 +2835,7 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -1139,7 +2845,7 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -1149,7 +2855,7 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -1159,7 +2865,7 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -1169,7 +2875,7 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -1178,29 +2884,29 @@ "\n", "
probe_idprobe_shankprobe_electrodenameoriginal_reference_electrodexyzfilteringimpedancebad_channelx_warpedy_warpedz_warpedcontactsregion_namesubregion_namesubsubregion_name
312e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5001280.00.00.0None0.0False0.00.00.0hippocampusNoneNone
nwb_file_nameelectrode_group_nameelectrode_idlfp_merge_idfilter_namefilter_sampling_ratetarget_interval_list_namelfp_band_sampling_ratelfp_electrode_group_namereference_elect_idregion_id416e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.5001680.00.00.0None0.0False0.00.00.0hippocampusNoneNone
tonks20211103_.nwb7282f3c93d5-5d5d-2d47-75b3-c346dddbd312Ripple 150-250 Hz1000test interval100CA1_test520e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-11916tetrode_12.50028442080.00.00.00.00.0ca1hippocampusNoneNone
624e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000CA1_testtest_hippocampus-11916tetrode_12.5002480.00.00.0None0.0False0.00.00.0hippocampusNoneNone
728e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-116tetrode_12.500284480.00.00.00.00.0ca1hippocampusNoneNone
8322f3c93d5-5d5d-2d47-75b3-c346dddbd312Ripple 150-250 Hz1000test interval100CA1_test832e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000test_hippocampus-11916tetrode_12.500324480.00.00.00.00.0ca1hippocampusNoneNone
936e5c8a41b-5bb1-c12c-d306-e80e5491d6ddRipple 150-250 Hz100002_r1_ripple_demo1000CA1_testtest_hippocampus-11916tetrode_12.50032443680.00.00.00.00.0ca1hippocampusNoneNone
Ripple 150-250 Hz1000Winnie20220714_.nwbpos 9 valid timesWinnie20220714_.nwb_pos 9 valid times_LFP_default_difference1000CA1tetrode_sample_WinnieRipple 150-250 Hz1000Winnie20220714_.nwbpos 9 valid timesWinnie20220714_.nwb_pos 9 valid times_LFP_default_difference1000CA1tetrode_sample_WinnieRipple 150-250 Hz1000Winnie20220714_.nwbpos 9 valid timesWinnie20220714_.nwb_pos 9 valid times_LFP_default_difference1000CA1tetrode_sample_WinnieRipple 150-250 Hz1000Winnie20220714_.nwbpos 9 valid timesWinnie20220714_.nwb_pos 9 valid times_LFP_default_difference1000CA1tetrode_sample_WinnieRipple 150-250 Hz1000Winnie20220714_.nwbpos 9 valid timesWinnie20220714_.nwb_pos 9 valid times_LFP_default_difference1000CA1tetrode_sample_WinnieRipple 150-250 Hz1000Winnie20220714_.nwbpos 9 valid timesWinnie20220714_.nwb_pos 9 valid times_LFP_default_difference1000CA1tetrode_sample_WinnieRipple 150-250 Hz1000Winnie20220714_.nwbpos 9 valid timesWinnie20220714_.nwb_pos 9 valid times_LFP_default_difference1000CA1tetrode_sample_WinnieRipple 150-250 Hz1000Winnie20220714_.nwbpos 9 valid timesWinnie20220714_.nwb_pos 9 valid times_LFP_default_difference1000CA1tetrode_sample_WinnieRipple 150-250 Hz1000Winnie20220714_.nwbpos 9 valid timesWinnie20220714_.nwb_pos 9 valid times_LFP_default_difference1000CA1tetrode_sample_WinnieRipple 150-250 Hz1000Winnie20220714_.nwbpos 9 valid timesWinnie20220714_.nwb_pos 9 valid times_LFP_default_difference1000CA1tetrode_sample_WinnieRipple 150-250 Hz1000Winnie20220714_.nwbpos 9 valid timesWinnie20220714_.nwb_pos 9 valid times_LFP_default_difference1000CA1tetrode_sample_WinnieRipple 150-250 Hz1000Winnie20220714_.nwbpos 9 valid timesWinnie20220714_.nwb_pos 9 valid times_LFP_default_difference1000CA1tetrode_sample_Winnie-1
\n", "

...

\n", - "

Total: 60265

\n", + "

Total: 60159

\n", " " ], "text/plain": [ "*lfp_merge_id *filter_name *filter_sampli *nwb_file_name *target_interv *lfp_band_samp *group_name *lfp_electrode *electrode_gro *electrode_id *reference_ele\n", "+------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+\n", - "0087e094-8238- Ripple 150-250 1000 Winnie20220714 pos 9 valid ti 1000 CA1 tetrode_sample 0 0 -1 \n", - "0087e094-8238- Ripple 150-250 1000 Winnie20220714 pos 9 valid ti 1000 CA1 tetrode_sample 1 4 -1 \n", - "0087e094-8238- Ripple 150-250 1000 Winnie20220714 pos 9 valid ti 1000 CA1 tetrode_sample 11 44 -1 \n", - "0087e094-8238- Ripple 150-250 1000 Winnie20220714 pos 9 valid ti 1000 CA1 tetrode_sample 12 49 -1 \n", - "0087e094-8238- Ripple 150-250 1000 Winnie20220714 pos 9 valid ti 1000 CA1 tetrode_sample 13 52 -1 \n", - "0087e094-8238- Ripple 150-250 1000 Winnie20220714 pos 9 valid ti 1000 CA1 tetrode_sample 14 56 -1 \n", - "0087e094-8238- Ripple 150-250 1000 Winnie20220714 pos 9 valid ti 1000 CA1 tetrode_sample 16 64 -1 \n", - "0087e094-8238- Ripple 150-250 1000 Winnie20220714 pos 9 valid ti 1000 CA1 tetrode_sample 17 68 -1 \n", - "0087e094-8238- Ripple 150-250 1000 Winnie20220714 pos 9 valid ti 1000 CA1 tetrode_sample 18 72 -1 \n", - "0087e094-8238- Ripple 150-250 1000 Winnie20220714 pos 9 valid ti 1000 CA1 tetrode_sample 19 76 -1 \n", - "0087e094-8238- Ripple 150-250 1000 Winnie20220714 pos 9 valid ti 1000 CA1 tetrode_sample 2 8 -1 \n", - "0087e094-8238- Ripple 150-250 1000 Winnie20220714 pos 9 valid ti 1000 CA1 tetrode_sample 20 80 -1 \n", + "0087e094-8238- Ripple 150-250 1000 Winnie20220714 Winnie20220714 1000 CA1 tetrode_sample 0 0 -1 \n", + "0087e094-8238- Ripple 150-250 1000 Winnie20220714 Winnie20220714 1000 CA1 tetrode_sample 1 4 -1 \n", + "0087e094-8238- Ripple 150-250 1000 Winnie20220714 Winnie20220714 1000 CA1 tetrode_sample 11 44 -1 \n", + "0087e094-8238- Ripple 150-250 1000 Winnie20220714 Winnie20220714 1000 CA1 tetrode_sample 12 49 -1 \n", + "0087e094-8238- Ripple 150-250 1000 Winnie20220714 Winnie20220714 1000 CA1 tetrode_sample 13 52 -1 \n", + "0087e094-8238- Ripple 150-250 1000 Winnie20220714 Winnie20220714 1000 CA1 tetrode_sample 14 56 -1 \n", + "0087e094-8238- Ripple 150-250 1000 Winnie20220714 Winnie20220714 1000 CA1 tetrode_sample 16 64 -1 \n", + "0087e094-8238- Ripple 150-250 1000 Winnie20220714 Winnie20220714 1000 CA1 tetrode_sample 17 68 -1 \n", + "0087e094-8238- Ripple 150-250 1000 Winnie20220714 Winnie20220714 1000 CA1 tetrode_sample 18 72 -1 \n", + "0087e094-8238- Ripple 150-250 1000 Winnie20220714 Winnie20220714 1000 CA1 tetrode_sample 19 76 -1 \n", + "0087e094-8238- Ripple 150-250 1000 Winnie20220714 Winnie20220714 1000 CA1 tetrode_sample 2 8 -1 \n", + "0087e094-8238- Ripple 150-250 1000 Winnie20220714 Winnie20220714 1000 CA1 tetrode_sample 20 80 -1 \n", " ...\n", - " (Total: 60265)" + " (Total: 60159)" ] }, - "execution_count": 12, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -1220,7 +2926,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 26, "id": "a601b1ac-0d37-4215-b9c6-5797bf21a1a0", "metadata": {}, "outputs": [], @@ -1239,7 +2945,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 27, "id": "3ac90755-f6b0-434c-ab57-6177e064a5f3", "metadata": {}, "outputs": [ @@ -1326,13 +3032,13 @@ " (Total: 3)" ] }, - "execution_count": 14, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "sgr.RippleParameters()" + "sgr.RippleParameters().insert_default" ] }, { @@ -1346,15 +3052,15 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 49, "id": "837a1c8d-87b6-42d9-9cfa-787ef63f7284", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'ripple_param_name': 'default',\n", - " 'ripple_param_dict': {'speed_name': 'head_speed',\n", + "{'ripple_param_name': 'default_trodes',\n", + " 'ripple_param_dict': {'speed_name': 'speed',\n", " 'ripple_detection_algorithm': 'Kay_ripple_detector',\n", " 'ripple_detection_params': {'speed_threshold': 4.0,\n", " 'minimum_duration': 0.015,\n", @@ -1363,13 +3069,13 @@ " 'close_ripple_threshold': 0.0}}}" ] }, - "execution_count": 15, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "(sgrip.RippleParameters() & {\"ripple_param_name\": \"default\"}).fetch1()" + "(sgrip.RippleParameters() & {\"ripple_param_name\": \"default_trodes\"}).fetch1()" ] }, { @@ -1400,27 +3106,136 @@ "## Check interval speed\n", "\n", "The speed for this interval should exist under the default position parameter\n", - "set and for a given interval.\n" + "set and for a given interval. We can quickly populate this here\n" ] }, { "cell_type": "code", - "execution_count": 16, - "id": "cc3c95f0-3fd0-440c-93f9-338f01a1d893", + "execution_count": 41, + "id": "3cc0fb45", "metadata": {}, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/sambray/mambaforge-pypy3/envs/spyglass/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.5.1 because version 1.6.0 is already loaded.\n", - " warn(\"Ignoring cached namespace '%s' version %s because version %s is already loaded.\"\n", - "/home/sambray/mambaforge-pypy3/envs/spyglass/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'core' version 2.4.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", - "/home/sambray/mambaforge-pypy3/envs/spyglass/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.2.0 because version 0.3.0 is already loaded.\n", - " warn(\"Ignoring cached namespace '%s' version %s because version %s is already loaded.\"\n" - ] - }, + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
\n", + "

nwb_file_name

\n", + " name of the NWB file\n", + "
\n", + "

interval_list_name

\n", + " descriptive name of this interval list\n", + "
\n", + "

trodes_pos_params_name

\n", + " name for this set of parameters\n", + "
\n", + "

analysis_file_name

\n", + " name of the file\n", + "
\n", + "

position_object_id

\n", + " \n", + "
\n", + "

orientation_object_id

\n", + " \n", + "
\n", + "

velocity_object_id

\n", + " \n", + "
mediumnwb20230802_.nwbpos 0 valid timessingle_ledmediumnwb20230802_9GTXMUKTK1.nwb6d725947-3ba0-4cbe-9483-e77b897ba1ab848f5b77-cf49-41c2-906d-06b58a73108641cf08d3-f114-4201-b7d8-d6e541015b42
\n", + " \n", + "

Total: 1

\n", + " " + ], + "text/plain": [ + "*nwb_file_name *interval_list *trodes_pos_pa analysis_file_ position_objec orientation_ob velocity_objec\n", + "+------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+\n", + "mediumnwb20230 pos 0 valid ti single_led mediumnwb20230 6d725947-3ba0- 848f5b77-cf49- 41cf08d3-f114-\n", + " (Total: 1)" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pos_key = {\n", + " \"nwb_file_name\": nwb_file_name,\n", + " \"trodes_pos_params_name\": \"single_led\",\n", + " \"interval_list_name\": \"pos 0 valid times\",\n", + "}\n", + "sgp.TrodesPosSelection().insert1(pos_key, skip_duplicates=True)\n", + "sgp.TrodesPosV1.populate(pos_key, display_progress=True)\n", + "sgp.TrodesPosV1 & pos_key" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "cc3c95f0-3fd0-440c-93f9-338f01a1d893", + "metadata": {}, + "outputs": [ { "data": { "text/html": [ @@ -1442,12 +3257,13 @@ " \n", " \n", " \n", - " head_position_x\n", - " head_position_y\n", - " head_orientation\n", - " head_velocity_x\n", - " head_velocity_y\n", - " head_speed\n", + " video_frame_ind\n", + " position_x\n", + " position_y\n", + " orientation\n", + " velocity_x\n", + " velocity_y\n", + " speed\n", " \n", " \n", " time\n", @@ -1457,53 +3273,59 @@ " \n", " \n", " \n", + " \n", " \n", " \n", " \n", " \n", - " 1.635961e+09\n", - " 98.670000\n", - " 78.320000\n", - " 1.878849\n", - " -0.212384\n", - " -1.050933e+00\n", - " 1.072179\n", - " \n", - " \n", - " 1.635961e+09\n", - " 98.615000\n", - " 78.210000\n", - " 1.899349\n", - " -0.143244\n", - " -1.136351e+00\n", - " 1.145344\n", - " \n", - " \n", - " 1.635961e+09\n", - " 98.633333\n", - " 78.173333\n", - " 1.919567\n", - " -0.031501\n", - " -1.123425e+00\n", - " 1.123867\n", - " \n", - " \n", - " 1.635961e+09\n", - " 98.596667\n", - " 78.100000\n", - " 1.932884\n", - " 0.094982\n", - " -1.013202e+00\n", - " 1.017644\n", - " \n", - " \n", - " 1.635961e+09\n", - " 98.633333\n", - " 78.100000\n", - " 1.946067\n", - " 0.194273\n", - " -8.272934e-01\n", - " 0.849798\n", + " 1.625936e+09\n", + " 0\n", + " 180.251195\n", + " 162.885335\n", + " 1.584011\n", + " -1.062553\n", + " 1.052022\n", + " 1.495249\n", + " \n", + " \n", + " 1.625936e+09\n", + " 1\n", + " 180.090400\n", + " 163.287322\n", + " 1.579705\n", + " -1.162356\n", + " 0.674062\n", + " 1.343663\n", + " \n", + " \n", + " 1.625936e+09\n", + " 2\n", + " 180.143998\n", + " 163.421318\n", + " 1.581228\n", + " -1.218606\n", + " 0.243100\n", + " 1.242618\n", + " \n", + " \n", + " 1.625936e+09\n", + " 3\n", + " 179.983203\n", + " 162.938933\n", + " 1.576679\n", + " -1.243190\n", + " -0.085662\n", + " 1.246138\n", + " \n", + " \n", + " 1.625936e+09\n", + " 4\n", + " 180.197597\n", + " 162.670942\n", + " 1.582475\n", + " -1.230759\n", + " -0.224637\n", + " 1.251091\n", " \n", " \n", " ...\n", @@ -1513,103 +3335,105 @@ " ...\n", " ...\n", " ...\n", + " ...\n", " \n", " \n", - " 1.635963e+09\n", - " 96.323333\n", - " 71.500000\n", - " -2.265535\n", - " -0.415082\n", - " -1.486577e-05\n", - " 0.415082\n", - " \n", - " \n", - " 1.635963e+09\n", - " 96.286667\n", - " 71.500000\n", - " -2.158799\n", - " -0.413708\n", - " -3.243187e-06\n", - " 0.413708\n", - " \n", - " \n", - " 1.635963e+09\n", - " 96.250000\n", - " 71.500000\n", - " -2.034444\n", - " -0.374655\n", - " -6.383825e-07\n", - " 0.374655\n", - " \n", - " \n", - " 1.635963e+09\n", - " 96.250000\n", - " 71.500000\n", - " -2.034444\n", - " -0.307793\n", - " -1.133319e-07\n", - " 0.307793\n", - " \n", - " \n", - " 1.635963e+09\n", - " 96.250000\n", - " 71.500000\n", - " -2.034444\n", - " -0.229237\n", - " -1.813955e-08\n", - " 0.229237\n", + " 1.625937e+09\n", + " 44186\n", + " 38.483603\n", + " 113.574868\n", + " -1.402199\n", + " 1.008364\n", + " -0.865117\n", + " 1.328618\n", + " \n", + " \n", + " 1.625937e+09\n", + " 44187\n", + " 38.483603\n", + " 113.521270\n", + " -1.398606\n", + " 0.603148\n", + " -0.534938\n", + " 0.806192\n", + " \n", + " \n", + " 1.625937e+09\n", + " 44188\n", + " 38.430005\n", + " 113.574868\n", + " -1.416478\n", + " 0.256839\n", + " -0.219871\n", + " 0.338096\n", + " \n", + " \n", + " 1.625937e+09\n", + " 44189\n", + " 38.376407\n", + " 113.574868\n", + " -1.432157\n", + " 0.017772\n", + " 0.025349\n", + " 0.030958\n", + " \n", + " \n", + " 1.625937e+09\n", + " 44190\n", + " 38.376407\n", + " 113.628467\n", + " -1.435269\n", + " -0.107231\n", + " 0.174792\n", + " 0.205063\n", " \n", " \n", "\n", - "

48950 rows × 6 columns

\n", + "

44191 rows × 7 columns

\n", "" ], "text/plain": [ - " head_position_x head_position_y head_orientation \\\n", - "time \n", - "1.635961e+09 98.670000 78.320000 1.878849 \n", - "1.635961e+09 98.615000 78.210000 1.899349 \n", - "1.635961e+09 98.633333 78.173333 1.919567 \n", - "1.635961e+09 98.596667 78.100000 1.932884 \n", - "1.635961e+09 98.633333 78.100000 1.946067 \n", - "... ... ... ... \n", - "1.635963e+09 96.323333 71.500000 -2.265535 \n", - "1.635963e+09 96.286667 71.500000 -2.158799 \n", - "1.635963e+09 96.250000 71.500000 -2.034444 \n", - "1.635963e+09 96.250000 71.500000 -2.034444 \n", - "1.635963e+09 96.250000 71.500000 -2.034444 \n", + " video_frame_ind position_x position_y orientation \\\n", + "time \n", + "1.625936e+09 0 180.251195 162.885335 1.584011 \n", + "1.625936e+09 1 180.090400 163.287322 1.579705 \n", + "1.625936e+09 2 180.143998 163.421318 1.581228 \n", + "1.625936e+09 3 179.983203 162.938933 1.576679 \n", + "1.625936e+09 4 180.197597 162.670942 1.582475 \n", + "... ... ... ... ... \n", + "1.625937e+09 44186 38.483603 113.574868 -1.402199 \n", + "1.625937e+09 44187 38.483603 113.521270 -1.398606 \n", + "1.625937e+09 44188 38.430005 113.574868 -1.416478 \n", + "1.625937e+09 44189 38.376407 113.574868 -1.432157 \n", + "1.625937e+09 44190 38.376407 113.628467 -1.435269 \n", "\n", - " head_velocity_x head_velocity_y head_speed \n", - "time \n", - "1.635961e+09 -0.212384 -1.050933e+00 1.072179 \n", - "1.635961e+09 -0.143244 -1.136351e+00 1.145344 \n", - "1.635961e+09 -0.031501 -1.123425e+00 1.123867 \n", - "1.635961e+09 0.094982 -1.013202e+00 1.017644 \n", - "1.635961e+09 0.194273 -8.272934e-01 0.849798 \n", - "... ... ... ... \n", - "1.635963e+09 -0.415082 -1.486577e-05 0.415082 \n", - "1.635963e+09 -0.413708 -3.243187e-06 0.413708 \n", - "1.635963e+09 -0.374655 -6.383825e-07 0.374655 \n", - "1.635963e+09 -0.307793 -1.133319e-07 0.307793 \n", - "1.635963e+09 -0.229237 -1.813955e-08 0.229237 \n", + " velocity_x velocity_y speed \n", + "time \n", + "1.625936e+09 -1.062553 1.052022 1.495249 \n", + "1.625936e+09 -1.162356 0.674062 1.343663 \n", + "1.625936e+09 -1.218606 0.243100 1.242618 \n", + "1.625936e+09 -1.243190 -0.085662 1.246138 \n", + "1.625936e+09 -1.230759 -0.224637 1.251091 \n", + "... ... ... ... \n", + "1.625937e+09 1.008364 -0.865117 1.328618 \n", + "1.625937e+09 0.603148 -0.534938 0.806192 \n", + "1.625937e+09 0.256839 -0.219871 0.338096 \n", + "1.625937e+09 0.017772 0.025349 0.030958 \n", + "1.625937e+09 -0.107231 0.174792 0.205063 \n", "\n", - "[48950 rows x 6 columns]" + "[44191 rows x 7 columns]" ] }, - "execution_count": 16, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "pos_key = sgp.PositionOutput.merge_get_part(\n", - " {\n", - " \"nwb_file_name\": nwb_file_name,\n", - " \"position_info_param_name\": \"default\",\n", - " \"interval_list_name\": \"pos 1 valid times\",\n", - " }\n", - ").fetch1(\"KEY\")\n", - "(sgp.PositionOutput & pos_key).fetch1_dataframe()" + "from spyglass.position import PositionOutput\n", + "\n", + "pos_key = PositionOutput.merge_get_part(pos_key).fetch1(\"KEY\")\n", + "(PositionOutput & pos_key).fetch1_dataframe()" ] }, { @@ -1618,7 +3442,7 @@ "id": "1bc905e6-211a-4292-9f13-dfff906479a0", "metadata": {}, "source": [ - "We'll use the `head_speed` above as part of `RippleParameters`.\n" + "We'll use the `speed` above as part of `RippleParameters`. Ensure your selected ripple parameters value for `speed_name` matches for your data.\n" ] }, { @@ -1640,42 +3464,13 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 52, "id": "8ddee771-470f-44e4-b0ac-1d2eef60f66d", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[10:01:12][INFO] Spyglass: Computing ripple times for: {'lfp_merge_id': UUID('2f3c93d5-5d5d-2d47-75b3-c346dddbd312'), 'filter_name': 'Ripple 150-250 Hz', 'filter_sampling_rate': 1000, 'nwb_file_name': 'tonks20211103_.nwb', 'target_interval_list_name': 'test interval', 'lfp_band_sampling_rate': 1000, 'group_name': 'CA1_test', 'ripple_param_name': 'default', 'pos_merge_id': UUID('68959dc8-f8a3-c3c0-a534-096b3bc10f6c')}\n", - "/home/sambray/mambaforge-pypy3/envs/spyglass/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.5.1 because version 1.6.0 is already loaded.\n", - " warn(\"Ignoring cached namespace '%s' version %s because version %s is already loaded.\"\n", - "/home/sambray/mambaforge-pypy3/envs/spyglass/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'core' version 2.4.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", - "/home/sambray/mambaforge-pypy3/envs/spyglass/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.2.0 because version 0.3.0 is already loaded.\n", - " warn(\"Ignoring cached namespace '%s' version %s because version %s is already loaded.\"\n", - "/home/sambray/mambaforge-pypy3/envs/spyglass/lib/python3.9/site-packages/pynwb/behavior.py:46: UserWarning: SpatialSeries 'series_0' has data shape (66792, 4) which is not compliant with NWB 2.5 and greater. The second dimension should have length <= 3 to represent at most x, y, z.\n", - " warnings.warn(\"SpatialSeries '%s' has data shape %s which is not compliant with NWB 2.5 and greater. \"\n", - "/home/sambray/mambaforge-pypy3/envs/spyglass/lib/python3.9/site-packages/pynwb/behavior.py:46: UserWarning: SpatialSeries 'series_1' has data shape (48950, 4) which is not compliant with NWB 2.5 and greater. The second dimension should have length <= 3 to represent at most x, y, z.\n", - " warnings.warn(\"SpatialSeries '%s' has data shape %s which is not compliant with NWB 2.5 and greater. \"\n", - "/home/sambray/mambaforge-pypy3/envs/spyglass/lib/python3.9/site-packages/pynwb/behavior.py:46: UserWarning: SpatialSeries 'series_2' has data shape (98507, 4) which is not compliant with NWB 2.5 and greater. The second dimension should have length <= 3 to represent at most x, y, z.\n", - " warnings.warn(\"SpatialSeries '%s' has data shape %s which is not compliant with NWB 2.5 and greater. \"\n", - "/home/sambray/mambaforge-pypy3/envs/spyglass/lib/python3.9/site-packages/pynwb/behavior.py:46: UserWarning: SpatialSeries 'series_3' has data shape (44892, 4) which is not compliant with NWB 2.5 and greater. The second dimension should have length <= 3 to represent at most x, y, z.\n", - " warnings.warn(\"SpatialSeries '%s' has data shape %s which is not compliant with NWB 2.5 and greater. \"\n", - "/home/sambray/mambaforge-pypy3/envs/spyglass/lib/python3.9/site-packages/pynwb/behavior.py:46: UserWarning: SpatialSeries 'series_4' has data shape (82313, 4) which is not compliant with NWB 2.5 and greater. The second dimension should have length <= 3 to represent at most x, y, z.\n", - " warnings.warn(\"SpatialSeries '%s' has data shape %s which is not compliant with NWB 2.5 and greater. \"\n", - "/home/sambray/mambaforge-pypy3/envs/spyglass/lib/python3.9/site-packages/pynwb/behavior.py:46: UserWarning: SpatialSeries 'series_5' has data shape (81566, 4) which is not compliant with NWB 2.5 and greater. The second dimension should have length <= 3 to represent at most x, y, z.\n", - " warnings.warn(\"SpatialSeries '%s' has data shape %s which is not compliant with NWB 2.5 and greater. \"\n", - "/home/sambray/mambaforge-pypy3/envs/spyglass/lib/python3.9/site-packages/pynwb/behavior.py:46: UserWarning: SpatialSeries 'series_6' has data shape (83811, 4) which is not compliant with NWB 2.5 and greater. The second dimension should have length <= 3 to represent at most x, y, z.\n", - " warnings.warn(\"SpatialSeries '%s' has data shape %s which is not compliant with NWB 2.5 and greater. \"\n", - "[10:01:14][INFO] Spyglass: Writing new NWB file tonks20211103_41QOWS4VUO.nwb\n" - ] - } - ], + "outputs": [], "source": [ "key = {\n", - " \"ripple_param_name\": \"default\",\n", + " \"ripple_param_name\": \"default_trodes\",\n", " **rip_sel_key,\n", " \"pos_merge_id\": pos_key[\"merge_id\"],\n", "}\n", @@ -1693,7 +3488,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 53, "id": "676b05bd-e8ec-41de-9df0-a823cd90aca3", "metadata": {}, "outputs": [ @@ -1730,248 +3525,198 @@ " \n", " \n", " 0\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 1\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 2\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 3\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 4\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 5\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 6\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 7\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 8\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 9\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 10\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 11\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 12\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 13\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 14\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 15\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 16\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 17\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 18\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 19\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 20\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 21\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 22\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 23\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 24\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 25\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 26\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 27\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 28\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 29\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 30\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 31\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 32\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 33\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 34\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 35\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 36\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 37\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", " 38\n", - " 1.635961e+09\n", - " 1.635961e+09\n", - " \n", - " \n", - " 39\n", - " 1.635961e+09\n", - " 1.635961e+09\n", - " \n", - " \n", - " 40\n", - " 1.635961e+09\n", - " 1.635961e+09\n", - " \n", - " \n", - " 41\n", - " 1.635961e+09\n", - " 1.635961e+09\n", - " \n", - " \n", - " 42\n", - " 1.635961e+09\n", - " 1.635961e+09\n", - " \n", - " \n", - " 43\n", - " 1.635961e+09\n", - " 1.635961e+09\n", - " \n", - " \n", - " 44\n", - " 1.635961e+09\n", - " 1.635961e+09\n", - " \n", - " \n", - " 45\n", - " 1.635961e+09\n", - " 1.635961e+09\n", - " \n", - " \n", - " 46\n", - " 1.635961e+09\n", - " 1.635961e+09\n", - " \n", - " \n", - " 47\n", - " 1.635961e+09\n", - " 1.635961e+09\n", - " \n", - " \n", - " 48\n", - " 1.635961e+09\n", - " 1.635961e+09\n", + " 1.625936e+09\n", + " 1.625936e+09\n", " \n", " \n", "\n", @@ -1980,58 +3725,48 @@ "text/plain": [ " start_time end_time\n", "id \n", - "0 1.635961e+09 1.635961e+09\n", - "1 1.635961e+09 1.635961e+09\n", - "2 1.635961e+09 1.635961e+09\n", - "3 1.635961e+09 1.635961e+09\n", - "4 1.635961e+09 1.635961e+09\n", - "5 1.635961e+09 1.635961e+09\n", - "6 1.635961e+09 1.635961e+09\n", - "7 1.635961e+09 1.635961e+09\n", - "8 1.635961e+09 1.635961e+09\n", - "9 1.635961e+09 1.635961e+09\n", - "10 1.635961e+09 1.635961e+09\n", - "11 1.635961e+09 1.635961e+09\n", - "12 1.635961e+09 1.635961e+09\n", - "13 1.635961e+09 1.635961e+09\n", - "14 1.635961e+09 1.635961e+09\n", - "15 1.635961e+09 1.635961e+09\n", - "16 1.635961e+09 1.635961e+09\n", - "17 1.635961e+09 1.635961e+09\n", - "18 1.635961e+09 1.635961e+09\n", - "19 1.635961e+09 1.635961e+09\n", - "20 1.635961e+09 1.635961e+09\n", - "21 1.635961e+09 1.635961e+09\n", - "22 1.635961e+09 1.635961e+09\n", - "23 1.635961e+09 1.635961e+09\n", - "24 1.635961e+09 1.635961e+09\n", - "25 1.635961e+09 1.635961e+09\n", - "26 1.635961e+09 1.635961e+09\n", - "27 1.635961e+09 1.635961e+09\n", - "28 1.635961e+09 1.635961e+09\n", - "29 1.635961e+09 1.635961e+09\n", - "30 1.635961e+09 1.635961e+09\n", - "31 1.635961e+09 1.635961e+09\n", - "32 1.635961e+09 1.635961e+09\n", - "33 1.635961e+09 1.635961e+09\n", - "34 1.635961e+09 1.635961e+09\n", - "35 1.635961e+09 1.635961e+09\n", - "36 1.635961e+09 1.635961e+09\n", - "37 1.635961e+09 1.635961e+09\n", - "38 1.635961e+09 1.635961e+09\n", - "39 1.635961e+09 1.635961e+09\n", - "40 1.635961e+09 1.635961e+09\n", - "41 1.635961e+09 1.635961e+09\n", - "42 1.635961e+09 1.635961e+09\n", - "43 1.635961e+09 1.635961e+09\n", - "44 1.635961e+09 1.635961e+09\n", - "45 1.635961e+09 1.635961e+09\n", - "46 1.635961e+09 1.635961e+09\n", - "47 1.635961e+09 1.635961e+09\n", - "48 1.635961e+09 1.635961e+09" + "0 1.625936e+09 1.625936e+09\n", + "1 1.625936e+09 1.625936e+09\n", + "2 1.625936e+09 1.625936e+09\n", + "3 1.625936e+09 1.625936e+09\n", + "4 1.625936e+09 1.625936e+09\n", + "5 1.625936e+09 1.625936e+09\n", + "6 1.625936e+09 1.625936e+09\n", + "7 1.625936e+09 1.625936e+09\n", + "8 1.625936e+09 1.625936e+09\n", + "9 1.625936e+09 1.625936e+09\n", + "10 1.625936e+09 1.625936e+09\n", + "11 1.625936e+09 1.625936e+09\n", + "12 1.625936e+09 1.625936e+09\n", + "13 1.625936e+09 1.625936e+09\n", + "14 1.625936e+09 1.625936e+09\n", + "15 1.625936e+09 1.625936e+09\n", + "16 1.625936e+09 1.625936e+09\n", + "17 1.625936e+09 1.625936e+09\n", + "18 1.625936e+09 1.625936e+09\n", + "19 1.625936e+09 1.625936e+09\n", + "20 1.625936e+09 1.625936e+09\n", + "21 1.625936e+09 1.625936e+09\n", + "22 1.625936e+09 1.625936e+09\n", + "23 1.625936e+09 1.625936e+09\n", + "24 1.625936e+09 1.625936e+09\n", + "25 1.625936e+09 1.625936e+09\n", + "26 1.625936e+09 1.625936e+09\n", + "27 1.625936e+09 1.625936e+09\n", + "28 1.625936e+09 1.625936e+09\n", + "29 1.625936e+09 1.625936e+09\n", + "30 1.625936e+09 1.625936e+09\n", + "31 1.625936e+09 1.625936e+09\n", + "32 1.625936e+09 1.625936e+09\n", + "33 1.625936e+09 1.625936e+09\n", + "34 1.625936e+09 1.625936e+09\n", + "35 1.625936e+09 1.625936e+09\n", + "36 1.625936e+09 1.625936e+09\n", + "37 1.625936e+09 1.625936e+09\n", + "38 1.625936e+09 1.625936e+09" ] }, - "execution_count": 18, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -2041,6 +3776,65 @@ "ripple_times" ] }, + { + "cell_type": "markdown", + "id": "a219a82c", + "metadata": {}, + "source": [ + "We can also inspect the lfp trace at these ripple times.\n", + "\n", + "* *Note: The ripple detection algorithm depends on estimates of the standard deviation of power in the ripple band. Running analysis on longer intervals will lead to better estimates of this value, and thereby better segmentation of ripple events*" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "id": "ee9324f0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Voltage (uV)')" + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "ripple_band_df = (lfp_band.LFPBandV1() & lfp_band_key).fetch1_dataframe()\n", + "\n", + "window = 0.1\n", + "i = -1\n", + "ripple_start = ripple_times.iloc[i].start_time\n", + "ripple_end = ripple_times.iloc[i].end_time\n", + "plt.plot(\n", + " ripple_band_df.loc[ripple_start - window : ripple_end + window].index,\n", + " ripple_band_df.loc[ripple_start - window : ripple_end + window].iloc[\n", + " :, ::15\n", + " ],\n", + ")\n", + "plt.axvline(ripple_start, color=\"r\")\n", + "plt.axvline(ripple_end, color=\"r\")\n", + "\n", + "plt.xlabel(\"Time (s)\")\n", + "plt.ylabel(\"Voltage (uV)\")" + ] + }, { "cell_type": "markdown", "id": "bead0afa", diff --git a/notebooks/py_scripts/32_Ripple_Detection.py b/notebooks/py_scripts/32_Ripple_Detection.py index a2b6be30d..eae0a519e 100644 --- a/notebooks/py_scripts/32_Ripple_Detection.py +++ b/notebooks/py_scripts/32_Ripple_Detection.py @@ -5,7 +5,7 @@ # extension: .py # format_name: light # format_version: '1.5' -# jupytext_version: 1.16.0 +# jupytext_version: 1.15.2 # kernelspec: # display_name: spyglass # language: python @@ -39,6 +39,7 @@ import os import datajoint as dj import numpy as np +import pandas as pd # change to the upper level folder to detect dj_local_conf.json if os.path.basename(os.getcwd()) == "notebooks": @@ -46,11 +47,10 @@ dj.config.load("dj_local_conf.json") # load config for database connection info import spyglass.common as sgc -import spyglass.position as sgp -import spyglass.lfp as lfp +import spyglass.position.v1 as sgp import spyglass.lfp.analysis.v1 as lfp_analysis from spyglass.lfp import LFPOutput -import spyglass.lfp.v1 as sglfp +import spyglass.lfp as lfp from spyglass.position import PositionOutput import spyglass.ripple.v1 as sgrip import spyglass.ripple.v1 as sgr @@ -62,10 +62,126 @@ warnings.simplefilter("ignore", category=ResourceWarning) # - -# ## Selecting Electrodes +# ## Generate LFP Ripple Band + +# First, we need to generate a filter band from the LFP data at the ripple frequency. This process is analagous to that in [30_LFP.ipynb](31_Theta.ipynb). + +# #### Make LFP + +# If you have already populated the LFP table for your data you may skip this step. Here, we will begin by creating a lfp group of just electrodes in the hippocampus region, and populate the lfp on a subsetted interval: + +# + +nwb_file_name = "mediumnwb20230802_.nwb" +lfp_electrode_group_name = "test_hippocampus" +interval_list_name = "02_r1_ripple_demo" + +# select hippocampus electrodes +electrodes_df = ( + pd.DataFrame( + ( + sgc.Electrode + & { + "nwb_file_name": nwb_file_name, + } + ) + * (sgc.BrainRegion & {"region_name": "hippocampus"}) + ) + .loc[:, ["nwb_file_name", "electrode_id", "region_name"]] + .sort_values(by="electrode_id") +) +# create lfp_electrode_group +lfp_eg_key = { + "nwb_file_name": nwb_file_name, + "lfp_electrode_group_name": lfp_electrode_group_name, +} +lfp.lfp_electrode.LFPElectrodeGroup.create_lfp_electrode_group( + nwb_file_name=nwb_file_name, + group_name=lfp_electrode_group_name, + electrode_list=electrodes_df.electrode_id.tolist(), +) + +# make a shorter interval to run this demo on +interval_start = ( + sgc.IntervalList + & {"nwb_file_name": nwb_file_name, "interval_list_name": "02_r1"} +).fetch1("valid_times")[0][0] +truncated_interval = np.array( + [[interval_start, interval_start + 120]] +) # first 2 minutes of epoch +sgc.IntervalList.insert1( + { + "nwb_file_name": nwb_file_name, + "interval_list_name": "02_r1_ripple_demo", + "valid_times": truncated_interval, + }, + skip_duplicates=True, +) + +# make the lfp selection +lfp_s_key = lfp_eg_key.copy() +lfp_s_key.update( + { + "target_interval_list_name": interval_list_name, + "filter_name": "LFP 0-400 Hz", + "filter_sampling_rate": 30_000, # sampling rate of the data (Hz) + "target_sampling_rate": 1_000, # smpling rate of the lfp output (Hz) + } +) +lfp.v1.LFPSelection.insert1(lfp_s_key, skip_duplicates=True) + +# populate the lfp +lfp.v1.LFPV1.populate(lfp_s_key, display_progress=True) +lfp.v1.LFPV1 & lfp_s_key +# - + +# #### Populate Ripple Band +# We now create a filter for this frequency band + +# + +sgc.FirFilterParameters().add_filter( + filter_name="Ripple 150-250 Hz", + fs=1000.0, + filter_type="bandpass", + band_edges=[140, 150, 250, 260], + comments="ripple band filter for 1 kHz data", +) + +sgc.FirFilterParameters() & "filter_name='Ripple 150-250 Hz'" +# - + +# We can then populate the ripple band + +# + +from spyglass.lfp.analysis.v1 import lfp_band + +filter_name = "Ripple 150-250 Hz" +lfp_band_electrode_ids = ( + electrodes_df.electrode_id.tolist() +) # assumes we've filtered these electrodes +lfp_band_sampling_rate = 1000 # desired sampling rate + +lfp_merge_id = (LFPOutput.LFPV1() & lfp_s_key).fetch1("merge_id") +lfp_band.LFPBandSelection().set_lfp_band_electrodes( + nwb_file_name=nwb_file_name, + lfp_merge_id=lfp_merge_id, + electrode_list=lfp_band_electrode_ids, + filter_name=filter_name, + interval_list_name=interval_list_name, + reference_electrode_list=[-1], # -1 means no ref electrode for all channels + lfp_band_sampling_rate=lfp_band_sampling_rate, +) + +lfp_band.LFPBandV1.populate( + {"lfp_merge_id": lfp_merge_id, "filter_name": filter_name}, + display_progress=True, +) +lfp_band.LFPBandV1 & {"lfp_merge_id": lfp_merge_id, "filter_name": filter_name} +# - + +# ## Selecting Ripple Analysis Electrodes # -# First, we'll pick the electrodes on which we'll run ripple detection on, using +# Next, we'll pick the electrodes on which we'll run ripple detection on, using # `RippleLFPSelection.set_lfp_electrodes` # @@ -79,13 +195,6 @@ # `electrode_list`. # -nwb_file_name = "tonks20211103_.nwb" -interval_list_name = "test interval" -filter_name = "Ripple 150-250 Hz" -if not sgc.Session & {"nwb_file_name": nwb_file_name}: - # This error will be raised when notebooks auto-run with 'minirec' - raise ValueError(f"Session with nwb_file_name={nwb_file_name} not found") - # Now we can look at `electrode_id` in the `Electrode` table: # @@ -165,12 +274,12 @@ # ## Setting Ripple Parameters # -sgr.RippleParameters() +sgr.RippleParameters().insert_default # Here are the default ripple parameters: # -(sgrip.RippleParameters() & {"ripple_param_name": "default"}).fetch1() +(sgrip.RippleParameters() & {"ripple_param_name": "default_trodes"}).fetch1() # - `filter_name`: which bandpass filter is used # - `speed_name`: the name of the speed parameters in `IntervalPositionInfo` @@ -188,19 +297,26 @@ # ## Check interval speed # # The speed for this interval should exist under the default position parameter -# set and for a given interval. +# set and for a given interval. We can quickly populate this here # -pos_key = sgp.PositionOutput.merge_get_part( - { - "nwb_file_name": nwb_file_name, - "position_info_param_name": "default", - "interval_list_name": "pos 1 valid times", - } -).fetch1("KEY") -(sgp.PositionOutput & pos_key).fetch1_dataframe() +pos_key = { + "nwb_file_name": nwb_file_name, + "trodes_pos_params_name": "single_led", + "interval_list_name": "pos 0 valid times", +} +sgp.TrodesPosSelection().insert1(pos_key, skip_duplicates=True) +sgp.TrodesPosV1.populate(pos_key, display_progress=True) +sgp.TrodesPosV1 & pos_key + +# + +from spyglass.position import PositionOutput + +pos_key = PositionOutput.merge_get_part(pos_key).fetch1("KEY") +(PositionOutput & pos_key).fetch1_dataframe() +# - -# We'll use the `head_speed` above as part of `RippleParameters`. +# We'll use the `speed` above as part of `RippleParameters`. Ensure your selected ripple parameters value for `speed_name` matches for your data. # # ## Run Ripple Detection @@ -210,7 +326,7 @@ # key = { - "ripple_param_name": "default", + "ripple_param_name": "default_trodes", **rip_sel_key, "pos_merge_id": pos_key["merge_id"], } @@ -222,6 +338,32 @@ ripple_times = (sgrip.RippleTimesV1() & key).fetch1_dataframe() ripple_times +# We can also inspect the lfp trace at these ripple times. +# +# * *Note: The ripple detection algorithm depends on estimates of the standard deviation of power in the ripple band. Running analysis on longer intervals will lead to better estimates of this value, and thereby better segmentation of ripple events* + +# + +import matplotlib.pyplot as plt + +ripple_band_df = (lfp_band.LFPBandV1() & lfp_band_key).fetch1_dataframe() + +window = 0.1 +i = -1 +ripple_start = ripple_times.iloc[i].start_time +ripple_end = ripple_times.iloc[i].end_time +plt.plot( + ripple_band_df.loc[ripple_start - window : ripple_end + window].index, + ripple_band_df.loc[ripple_start - window : ripple_end + window].iloc[ + :, ::15 + ], +) +plt.axvline(ripple_start, color="r") +plt.axvline(ripple_end, color="r") + +plt.xlabel("Time (s)") +plt.ylabel("Voltage (uV)") +# - + # ## Up Next # # Next, we'll [extract mark indicator](./31_Extract_Mark_Indicators.ipynb).