diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index c63a49d..df0c4da 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9-slim +FROM python:3.9-slim@sha256:5f0192a4f58a6ce99f732fe05e3b3d00f12ae62e183886bca3ebe3d202686c7f RUN \ adduser --system --disabled-password --shell /bin/bash vscode && \ diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 0768b84..c41fde9 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -22,7 +22,8 @@ "customizations": { "vscode": { "extensions": [ - "ms-python.python" + "ms-python.python", + "ms-toolsai.jupyter" ] } } diff --git a/.devcontainer/local/devcontainer.json b/.devcontainer/local/devcontainer.json index 68692fe..91346b8 100644 --- a/.devcontainer/local/devcontainer.json +++ b/.devcontainer/local/devcontainer.json @@ -22,7 +22,8 @@ "customizations": { "vscode": { "extensions": [ - "ms-python.python" + "ms-python.python", + "ms-toolsai.jupyter" ] } } diff --git a/CHANGELOG.md b/CHANGELOG.md index 52bdae1..d27aeb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ Observes [Semantic Versioning](https://semver.org/spec/v2.0.0.html) standard and [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) convention. +## [0.3.3] - 2023-06-29 + ++ Add - Docker image ID ++ Add - VS Code extensions ++ Update - `element-array-ephys` version ++ Update - Tutorial notebook to work around bug + ## [0.3.2] - 2023-04-14 + Add - `quality_metrics.ipynb` for visualizing quality metrics. @@ -93,6 +100,7 @@ Observes [Semantic Versioning](https://semver.org/spec/v2.0.0.html) standard and + Add - Version +[0.3.3]: https://github.com/datajoint/workflow-array-ephys/releases/tag/0.3.3 [0.3.2]: https://github.com/datajoint/workflow-array-ephys/releases/tag/0.3.2 [0.3.1]: https://github.com/datajoint/workflow-array-ephys/releases/tag/0.3.1 [0.3.0]: https://github.com/datajoint/workflow-array-ephys/releases/tag/0.3.0 diff --git a/notebooks/tutorial.ipynb b/notebooks/tutorial.ipynb index 376843d..f48012f 100644 --- a/notebooks/tutorial.ipynb +++ b/notebooks/tutorial.ipynb @@ -101,9 +101,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "[2023-03-20 21:44:02,597][WARNING]: lab.Project and related tables will be removed in a future version of Element Lab. Please use the project schema.\n", - "[2023-03-20 21:44:02,607][INFO]: Connecting root@fakeservices.datajoint.io:3306\n", - "[2023-03-20 21:44:02,614][INFO]: Connected root@fakeservices.datajoint.io:3306\n" + "[2023-06-30 03:34:11,767][WARNING]: lab.Project and related tables will be removed in a future version of Element Lab. Please use the project schema.\n", + "[2023-06-30 03:34:11,871][INFO]: Connecting root@fakeservices.datajoint.io:3306\n", + "[2023-06-30 03:34:11,899][INFO]: Connected root@fakeservices.datajoint.io:3306\n" ] } ], @@ -116,23 +116,450 @@ "execution_count": 3, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.9/inspect.py:351: FutureWarning: pandas.Float64Index is deprecated and will be removed from pandas in a future version. Use pandas.Index with the appropriate dtype instead.\n", - " value = getattr(object, key)\n", - "/usr/local/lib/python3.9/inspect.py:351: FutureWarning: pandas.Int64Index is deprecated and will be removed from pandas in a future version. Use pandas.Index with the appropriate dtype instead.\n", - " value = getattr(object, key)\n", - "/usr/local/lib/python3.9/inspect.py:351: FutureWarning: pandas.UInt64Index is deprecated and will be removed from pandas in a future version. Use pandas.Index with the appropriate dtype instead.\n", - " value = getattr(object, key)\n" - ] - }, { "data": { - "image/svg+xml": "\n\n%3\n\n\n\nephys.ClusteringMethod\n\n\nephys.ClusteringMethod\n\n\n\n\n\nephys.ClusteringParamSet\n\n\nephys.ClusteringParamSet\n\n\n\n\n\nephys.ClusteringMethod->ephys.ClusteringParamSet\n\n\n\n\nephys.ClusteringTask\n\n\nephys.ClusteringTask\n\n\n\n\n\nephys.Clustering\n\n\nephys.Clustering\n\n\n\n\n\nephys.ClusteringTask->ephys.Clustering\n\n\n\n\nephys.EphysRecording.EphysFile\n\n\nephys.EphysRecording.EphysFile\n\n\n\n\n\nprobe.ElectrodeConfig\n\n\nprobe.ElectrodeConfig\n\n\n\n\n\nephys.EphysRecording\n\n\nephys.EphysRecording\n\n\n\n\n\nprobe.ElectrodeConfig->ephys.EphysRecording\n\n\n\n\nprobe.ElectrodeConfig.Electrode\n\n\nprobe.ElectrodeConfig.Electrode\n\n\n\n\n\nprobe.ElectrodeConfig->probe.ElectrodeConfig.Electrode\n\n\n\n\nephys.EphysRecording->ephys.ClusteringTask\n\n\n\n\nephys.EphysRecording->ephys.EphysRecording.EphysFile\n\n\n\n\nephys.LFP\n\n\nephys.LFP\n\n\n\n\n\nephys.EphysRecording->ephys.LFP\n\n\n\n\nsession.Session\n\n\nsession.Session\n\n\n\n\n\nephys.ProbeInsertion\n\n\nephys.ProbeInsertion\n\n\n\n\n\nsession.Session->ephys.ProbeInsertion\n\n\n\n\nephys.Curation\n\n\nephys.Curation\n\n\n\n\n\nephys.CuratedClustering\n\n\nephys.CuratedClustering\n\n\n\n\n\nephys.Curation->ephys.CuratedClustering\n\n\n\n\nephys.InsertionLocation\n\n\nephys.InsertionLocation\n\n\n\n\n\nprobe.ProbeType\n\n\nprobe.ProbeType\n\n\n\n\n\nprobe.ProbeType->probe.ElectrodeConfig\n\n\n\n\nprobe.Probe\n\n\nprobe.Probe\n\n\n\n\n\nprobe.ProbeType->probe.Probe\n\n\n\n\nprobe.ProbeType.Electrode\n\n\nprobe.ProbeType.Electrode\n\n\n\n\n\nprobe.ProbeType->probe.ProbeType.Electrode\n\n\n\n\nephys.CuratedClustering.Unit\n\n\nephys.CuratedClustering.Unit\n\n\n\n\n\nephys.WaveformSet.PeakWaveform\n\n\nephys.WaveformSet.PeakWaveform\n\n\n\n\n\nephys.CuratedClustering.Unit->ephys.WaveformSet.PeakWaveform\n\n\n\n\nephys.QualityMetrics.Waveform\n\n\nephys.QualityMetrics.Waveform\n\n\n\n\n\nephys.CuratedClustering.Unit->ephys.QualityMetrics.Waveform\n\n\n\n\nephys.QualityMetrics.Cluster\n\n\nephys.QualityMetrics.Cluster\n\n\n\n\n\nephys.CuratedClustering.Unit->ephys.QualityMetrics.Cluster\n\n\n\n\nephys.WaveformSet.Waveform\n\n\nephys.WaveformSet.Waveform\n\n\n\n\n\nephys.CuratedClustering.Unit->ephys.WaveformSet.Waveform\n\n\n\n\nprobe.Probe->ephys.ProbeInsertion\n\n\n\n\nephys.AcquisitionSoftware\n\n\nephys.AcquisitionSoftware\n\n\n\n\n\nephys.AcquisitionSoftware->ephys.EphysRecording\n\n\n\n\nephys.QualityMetrics\n\n\nephys.QualityMetrics\n\n\n\n\n\nephys.QualityMetrics->ephys.QualityMetrics.Waveform\n\n\n\n\nephys.QualityMetrics->ephys.QualityMetrics.Cluster\n\n\n\n\nprobe.ElectrodeConfig.Electrode->ephys.CuratedClustering.Unit\n\n\n\n\nephys.LFP.Electrode\n\n\nephys.LFP.Electrode\n\n\n\n\n\nprobe.ElectrodeConfig.Electrode->ephys.LFP.Electrode\n\n\n\n\nprobe.ElectrodeConfig.Electrode->ephys.WaveformSet.Waveform\n\n\n\n\nephys.ProbeInsertion->ephys.EphysRecording\n\n\n\n\nephys.ProbeInsertion->ephys.InsertionLocation\n\n\n\n\nephys.LFP->ephys.LFP.Electrode\n\n\n\n\nephys.CuratedClustering->ephys.CuratedClustering.Unit\n\n\n\n\nephys.CuratedClustering->ephys.QualityMetrics\n\n\n\n\nephys.WaveformSet\n\n\nephys.WaveformSet\n\n\n\n\n\nephys.CuratedClustering->ephys.WaveformSet\n\n\n\n\nephys.WaveformSet->ephys.WaveformSet.PeakWaveform\n\n\n\n\nephys.WaveformSet->ephys.WaveformSet.Waveform\n\n\n\n\nephys.ClusteringParamSet->ephys.ClusteringTask\n\n\n\n\nsubject.Subject\n\n\nsubject.Subject\n\n\n\n\n\nsubject.Subject->session.Session\n\n\n\n\nephys.Clustering->ephys.Curation\n\n\n\n\nephys.ClusterQualityLabel\n\n\nephys.ClusterQualityLabel\n\n\n\n\n\nephys.ClusterQualityLabel->ephys.CuratedClustering.Unit\n\n\n\n\nprobe.ProbeType.Electrode->probe.ElectrodeConfig.Electrode\n\n\n\n", + "image/svg+xml": [ + "\n", + "\n", + "%3\n", + "\n", + "\n", + "\n", + "ephys.EphysRecording\n", + "\n", + "\n", + "ephys.EphysRecording\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.LFP\n", + "\n", + "\n", + "ephys.LFP\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.EphysRecording->ephys.LFP\n", + "\n", + "\n", + "\n", + "\n", + "ephys.ClusteringTask\n", + "\n", + "\n", + "ephys.ClusteringTask\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.EphysRecording->ephys.ClusteringTask\n", + "\n", + "\n", + "\n", + "\n", + "ephys.EphysRecording.EphysFile\n", + "\n", + "\n", + "ephys.EphysRecording.EphysFile\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.EphysRecording->ephys.EphysRecording.EphysFile\n", + "\n", + "\n", + "\n", + "\n", + "ephys.QualityMetrics\n", + "\n", + "\n", + "ephys.QualityMetrics\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.QualityMetrics.Cluster\n", + "\n", + "\n", + "ephys.QualityMetrics.Cluster\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.QualityMetrics->ephys.QualityMetrics.Cluster\n", + "\n", + "\n", + "\n", + "\n", + "ephys.QualityMetrics.Waveform\n", + "\n", + "\n", + "ephys.QualityMetrics.Waveform\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.QualityMetrics->ephys.QualityMetrics.Waveform\n", + "\n", + "\n", + "\n", + "\n", + "ephys.ClusteringMethod\n", + "\n", + "\n", + "ephys.ClusteringMethod\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.ClusteringParamSet\n", + "\n", + "\n", + "ephys.ClusteringParamSet\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.ClusteringMethod->ephys.ClusteringParamSet\n", + "\n", + "\n", + "\n", + "\n", + "session.Session\n", + "\n", + "\n", + "session.Session\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.ProbeInsertion\n", + "\n", + "\n", + "ephys.ProbeInsertion\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "session.Session->ephys.ProbeInsertion\n", + "\n", + "\n", + "\n", + "\n", + "ephys.InsertionLocation\n", + "\n", + "\n", + "ephys.InsertionLocation\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "probe.ElectrodeConfig.Electrode\n", + "\n", + "\n", + "probe.ElectrodeConfig.Electrode\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.CuratedClustering.Unit\n", + "\n", + "\n", + "ephys.CuratedClustering.Unit\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "probe.ElectrodeConfig.Electrode->ephys.CuratedClustering.Unit\n", + "\n", + "\n", + "\n", + "\n", + "ephys.WaveformSet.Waveform\n", + "\n", + "\n", + "ephys.WaveformSet.Waveform\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "probe.ElectrodeConfig.Electrode->ephys.WaveformSet.Waveform\n", + "\n", + "\n", + "\n", + "\n", + "ephys.LFP.Electrode\n", + "\n", + "\n", + "ephys.LFP.Electrode\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "probe.ElectrodeConfig.Electrode->ephys.LFP.Electrode\n", + "\n", + "\n", + "\n", + "\n", + "ephys.AcquisitionSoftware\n", + "\n", + "\n", + "ephys.AcquisitionSoftware\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.AcquisitionSoftware->ephys.EphysRecording\n", + "\n", + "\n", + "\n", + "\n", + "ephys.CuratedClustering.Unit->ephys.WaveformSet.Waveform\n", + "\n", + "\n", + "\n", + "\n", + "ephys.CuratedClustering.Unit->ephys.QualityMetrics.Cluster\n", + "\n", + "\n", + "\n", + "\n", + "ephys.CuratedClustering.Unit->ephys.QualityMetrics.Waveform\n", + "\n", + "\n", + "\n", + "\n", + "ephys.WaveformSet.PeakWaveform\n", + "\n", + "\n", + "ephys.WaveformSet.PeakWaveform\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.CuratedClustering.Unit->ephys.WaveformSet.PeakWaveform\n", + "\n", + "\n", + "\n", + "\n", + "ephys.ClusterQualityLabel\n", + "\n", + "\n", + "ephys.ClusterQualityLabel\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.ClusterQualityLabel->ephys.CuratedClustering.Unit\n", + "\n", + "\n", + "\n", + "\n", + "probe.ElectrodeConfig\n", + "\n", + "\n", + "probe.ElectrodeConfig\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "probe.ElectrodeConfig->ephys.EphysRecording\n", + "\n", + "\n", + "\n", + "\n", + "probe.ElectrodeConfig->probe.ElectrodeConfig.Electrode\n", + "\n", + "\n", + "\n", + "\n", + "ephys.ProbeInsertion->ephys.EphysRecording\n", + "\n", + "\n", + "\n", + "\n", + "ephys.ProbeInsertion->ephys.InsertionLocation\n", + "\n", + "\n", + "\n", + "\n", + "probe.ProbeType\n", + "\n", + "\n", + "probe.ProbeType\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "probe.ProbeType->probe.ElectrodeConfig\n", + "\n", + "\n", + "\n", + "\n", + "probe.Probe\n", + "\n", + "\n", + "probe.Probe\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "probe.ProbeType->probe.Probe\n", + "\n", + "\n", + "\n", + "\n", + "probe.ProbeType.Electrode\n", + "\n", + "\n", + "probe.ProbeType.Electrode\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "probe.ProbeType->probe.ProbeType.Electrode\n", + "\n", + "\n", + "\n", + "\n", + "probe.Probe->ephys.ProbeInsertion\n", + "\n", + "\n", + "\n", + "\n", + "ephys.LFP->ephys.LFP.Electrode\n", + "\n", + "\n", + "\n", + "\n", + "ephys.ClusteringParamSet->ephys.ClusteringTask\n", + "\n", + "\n", + "\n", + "\n", + "ephys.Curation\n", + "\n", + "\n", + "ephys.Curation\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.CuratedClustering\n", + "\n", + "\n", + "ephys.CuratedClustering\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.Curation->ephys.CuratedClustering\n", + "\n", + "\n", + "\n", + "\n", + "ephys.Clustering\n", + "\n", + "\n", + "ephys.Clustering\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.Clustering->ephys.Curation\n", + "\n", + "\n", + "\n", + "\n", + "probe.ProbeType.Electrode->probe.ElectrodeConfig.Electrode\n", + "\n", + "\n", + "\n", + "\n", + "ephys.WaveformSet\n", + "\n", + "\n", + "ephys.WaveformSet\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ephys.WaveformSet->ephys.WaveformSet.Waveform\n", + "\n", + "\n", + "\n", + "\n", + "ephys.WaveformSet->ephys.WaveformSet.PeakWaveform\n", + "\n", + "\n", + "\n", + "\n", + "ephys.ClusteringTask->ephys.Clustering\n", + "\n", + "\n", + "\n", + "\n", + "ephys.CuratedClustering->ephys.QualityMetrics\n", + "\n", + "\n", + "\n", + "\n", + "ephys.CuratedClustering->ephys.CuratedClustering.Unit\n", + "\n", + "\n", + "\n", + "\n", + "ephys.CuratedClustering->ephys.WaveformSet\n", + "\n", + "\n", + "\n", + "\n", + "subject.Subject\n", + "\n", + "\n", + "subject.Subject\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "subject.Subject->session.Session\n", + "\n", + "\n", + "\n", + "" + ], "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -208,18 +635,21 @@ "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'subject : varchar(8) \\n---\\nsubject_nickname=\"\" : varchar(64) \\nsex : enum(\\'M\\',\\'F\\',\\'U\\') \\nsubject_birth_date : date \\nsubject_description=\"\" : varchar(1024) \\n'" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "subject : varchar(8) \n", + "---\n", + "subject_nickname : varchar(64) \n", + "sex : enum('M','F','U') \n", + "subject_birth_date : date \n", + "subject_description : varchar(1024) \n", + "\n" + ] } ], "source": [ - "subject.Subject.describe()" + "print(subject.Subject.describe())" ] }, { @@ -233,10 +663,10 @@ "# \n", "subject : varchar(8) # \n", "---\n", - "subject_nickname=\"\" : varchar(64) # \n", + "subject_nickname : varchar(64) # \n", "sex : enum('M','F','U') # \n", "subject_birth_date : date # \n", - "subject_description=\"\" : varchar(1024) # " + "subject_description : varchar(1024) # " ] }, "execution_count": 5, @@ -281,9 +711,11 @@ " }\n", " .Table tr:nth-child(odd){\n", " background: #ffffff;\n", + " color: #000000;\n", " }\n", " .Table tr:nth-child(even){\n", " background: #f3f1ff;\n", + " color: #000000;\n", " }\n", " /* Tooltip container */\n", " .djtooltip {\n", @@ -336,10 +768,10 @@ " \n", " \n", " subject5\n", - "\n", + "subject5\n", "U\n", "2023-01-01\n", - " \n", + "Example subject \n", " \n", " \n", "

Total: 1

\n", @@ -348,7 +780,7 @@ "text/plain": [ "*subject subject_nickna sex subject_birth_ subject_descri\n", "+----------+ +------------+ +-----+ +------------+ +------------+\n", - "subject5 U 2023-01-01 \n", + "subject5 subject5 U 2023-01-01 Example subjec\n", " (Total: 1)" ] }, @@ -361,14 +793,17 @@ "subject.Subject.insert1(\n", " dict(\n", " subject='subject5',\n", + " subject_nickname='subject5',\n", " subject_birth_date='2023-01-01',\n", - " sex='U'\n", + " sex='U',\n", + " subject_description='Example subject'\n", " )\n", ")\n", "subject.Subject()" ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -382,18 +817,17 @@ "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'-> subject.Subject\\nsession_datetime : datetime \\n'" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "-> subject.Subject\n", + "session_datetime : datetime \n", + "\n" + ] } ], "source": [ - "session.Session.describe()" + "print(session.Session.describe())" ] }, { @@ -458,9 +892,11 @@ " }\n", " .Table tr:nth-child(odd){\n", " background: #ffffff;\n", + " color: #000000;\n", " }\n", " .Table tr:nth-child(even){\n", " background: #f3f1ff;\n", + " color: #000000;\n", " }\n", " /* Tooltip container */\n", " .djtooltip {\n", @@ -504,7 +940,7 @@ " \n", " \n", " subject5\n", - "2023-03-20 21:44:09 \n", + "2023-06-30 03:34:20 \n", " \n", " \n", "

Total: 1

\n", @@ -513,7 +949,7 @@ "text/plain": [ "*subject *session_datet\n", "+----------+ +------------+\n", - "subject5 2023-03-20 21:\n", + "subject5 2023-06-30 03:\n", " (Total: 1)" ] }, @@ -547,18 +983,18 @@ "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'-> session.Session\\n---\\nsession_dir : varchar(256) # Path to the data directory for a session\\n'" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "-> session.Session\n", + "---\n", + "session_dir : varchar(256) # Path to the data directory for a session\n", + "\n" + ] } ], "source": [ - "session.SessionDirectory.describe()" + "print(session.SessionDirectory.describe())" ] }, { @@ -608,9 +1044,11 @@ " }\n", " .Table tr:nth-child(odd){\n", " background: #ffffff;\n", + " color: #000000;\n", " }\n", " .Table tr:nth-child(even){\n", " background: #f3f1ff;\n", + " color: #000000;\n", " }\n", " /* Tooltip container */\n", " .djtooltip {\n", @@ -657,7 +1095,7 @@ " Path to the data directory for a session\n", " \n", " subject5\n", - "2023-03-20 21:44:09\n", + "2023-06-30 03:34:20\n", "subject5/session1 \n", " \n", " \n", @@ -667,7 +1105,7 @@ "text/plain": [ "*subject *session_datet session_dir \n", "+----------+ +------------+ +------------+\n", - "subject5 2023-03-20 21: subject5/sessi\n", + "subject5 2023-06-30 03: subject5/sessi\n", " (Total: 1)" ] }, @@ -703,18 +1141,20 @@ "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'# Represent a physical probe with unique identification\\nprobe : varchar(32) # unique identifier for this model of probe (e.g. serial number)\\n---\\n-> probe.ProbeType\\nprobe_comment=\"\" : varchar(1000) \\n'" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "# Represent a physical probe with unique identification\n", + "probe : varchar(32) # unique identifier for this model of probe (e.g. serial number)\n", + "---\n", + "-> probe.ProbeType\n", + "probe_comment : varchar(1000) \n", + "\n" + ] } ], "source": [ - "probe.Probe.describe()" + "print(probe.Probe.describe())" ] }, { @@ -729,7 +1169,7 @@ "probe : varchar(32) # unique identifier for this model of probe (e.g. serial number)\n", "---\n", "probe_type : varchar(32) # e.g. neuropixels_1.0\n", - "probe_comment=\"\" : varchar(1000) # " + "probe_comment : varchar(1000) # " ] }, "execution_count": 14, @@ -764,9 +1204,11 @@ " }\n", " .Table tr:nth-child(odd){\n", " background: #ffffff;\n", + " color: #000000;\n", " }\n", " .Table tr:nth-child(even){\n", " background: #f3f1ff;\n", + " color: #000000;\n", " }\n", " /* Tooltip container */\n", " .djtooltip {\n", @@ -814,7 +1256,7 @@ " \n", " 714000838\n", "neuropixels 1.0 - 3B\n", - " \n", + "Example probe \n", " \n", " \n", "

Total: 1

\n", @@ -823,7 +1265,7 @@ "text/plain": [ "*probe probe_type probe_comment \n", "+-----------+ +------------+ +------------+\n", - "714000838 neuropixels 1. \n", + "714000838 neuropixels 1. Example probe \n", " (Total: 1)" ] }, @@ -835,7 +1277,8 @@ "source": [ "probe.Probe.insert1(\n", " dict(probe=\"714000838\", \n", - " probe_type=\"neuropixels 1.0 - 3B\")\n", + " probe_type=\"neuropixels 1.0 - 3B\",\n", + " probe_comment=\"Example probe\")\n", ") # this info could be achieve from neuropixels meta file.\n", "probe.Probe()" ] @@ -855,18 +1298,20 @@ "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'# Probe insertion implanted into an animal for a given session.\\n-> session.Session\\ninsertion_number : tinyint unsigned \\n---\\n-> probe.Probe\\n'" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "# Probe insertion implanted into an animal for a given session.\n", + "-> session.Session\n", + "insertion_number : tinyint unsigned \n", + "---\n", + "-> probe.Probe\n", + "\n" + ] } ], "source": [ - "ephys.ProbeInsertion.describe()" + "print(ephys.ProbeInsertion.describe())" ] }, { @@ -917,9 +1362,11 @@ " }\n", " .Table tr:nth-child(odd){\n", " background: #ffffff;\n", + " color: #000000;\n", " }\n", " .Table tr:nth-child(even){\n", " background: #f3f1ff;\n", + " color: #000000;\n", " }\n", " /* Tooltip container */\n", " .djtooltip {\n", @@ -969,7 +1416,7 @@ " unique identifier for this model of probe (e.g. serial number)\n", " \n", " subject5\n", - "2023-03-20 21:44:09\n", + "2023-06-30 03:34:20\n", "1\n", "714000838 \n", " \n", @@ -980,7 +1427,7 @@ "text/plain": [ "*subject *session_datet *insertion_num probe \n", "+----------+ +------------+ +------------+ +-----------+\n", - "subject5 2023-03-20 21: 1 714000838 \n", + "subject5 2023-06-30 03: 1 714000838 \n", " (Total: 1)" ] }, @@ -1097,9 +1544,11 @@ " }\n", " .Table tr:nth-child(odd){\n", " background: #ffffff;\n", + " color: #000000;\n", " }\n", " .Table tr:nth-child(even){\n", " background: #f3f1ff;\n", + " color: #000000;\n", " }\n", " /* Tooltip container */\n", " .djtooltip {\n", @@ -1205,9 +1654,11 @@ " }\n", " .Table tr:nth-child(odd){\n", " background: #ffffff;\n", + " color: #000000;\n", " }\n", " .Table tr:nth-child(even){\n", " background: #f3f1ff;\n", + " color: #000000;\n", " }\n", " /* Tooltip container */\n", " .djtooltip {\n", @@ -1287,7 +1738,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "EphysRecording: 100%|██████████| 1/1 [00:00<00:00, 13.35it/s]\n" + "EphysRecording: 0%| | 0/1 [00:00(seconds) duration of the recording from this probe\n", " \n", " subject5\n", - "2023-03-20 21:44:09\n", + "2023-06-30 03:34:20\n", "1\n", "8d4cc6d8-a02d-42c8-bf27-7459c39ea0ee\n", "SpikeGLX\n", @@ -1405,7 +1865,7 @@ "text/plain": [ "*subject *session_datet *insertion_num electrode_conf acq_software sampling_rate recording_date recording_dura\n", "+----------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+ +------------+\n", - "subject5 2023-03-20 21: 1 8d4cc6d8-a02d- SpikeGLX 30000.0 2018-07-03 20: 338.666 \n", + "subject5 2023-06-30 03: 1 8d4cc6d8-a02d- SpikeGLX 30000.0 2018-07-03 20: 338.666 \n", " (Total: 1)" ] }, @@ -1441,9 +1901,11 @@ " }\n", " .Table tr:nth-child(odd){\n", " background: #ffffff;\n", + " color: #000000;\n", " }\n", " .Table tr:nth-child(even){\n", " background: #f3f1ff;\n", + " color: #000000;\n", " }\n", " /* Tooltip container */\n", " .djtooltip {\n", @@ -1493,7 +1955,7 @@ " filepath relative to root data directory\n", " \n", " subject5\n", - "2023-03-20 21:44:09\n", + "2023-06-30 03:34:20\n", "1\n", "subject5/session1/probe_1/npx_g0_t0.imec.ap.meta \n", " \n", @@ -1504,7 +1966,7 @@ "text/plain": [ "*subject *session_datet *insertion_num *file_path \n", "+----------+ +------------+ +------------+ +------------+\n", - "subject5 2023-03-20 21: 1 subject5/sessi\n", + "subject5 2023-06-30 03: 1 subject5/sessi\n", " (Total: 1)" ] }, @@ -1580,9 +2042,11 @@ " }\n", " .Table tr:nth-child(odd){\n", " background: #ffffff;\n", + " color: #000000;\n", " }\n", " .Table tr:nth-child(even){\n", " background: #f3f1ff;\n", + " color: #000000;\n", " }\n", " /* Tooltip container */\n", " .djtooltip {\n", @@ -1710,18 +2174,21 @@ "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'# Manual table for defining a clustering task ready to be run\\n-> ephys.EphysRecording\\n-> ephys.ClusteringParamSet\\n---\\nclustering_output_dir=\"\" : varchar(255) # clustering output directory relative to the clustering root data directory\\ntask_mode=\"load\" : enum(\\'load\\',\\'trigger\\') # \\'load\\': load computed analysis results, \\'trigger\\': trigger computation\\n'" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "# Manual table for defining a clustering task ready to be run\n", + "-> ephys.EphysRecording\n", + "-> ephys.ClusteringParamSet\n", + "---\n", + "clustering_output_dir : varchar(255) # clustering output directory relative to the clustering root data directory\n", + "task_mode : enum('load','trigger') # 'load': load computed analysis results, 'trigger': trigger computation\n", + "\n" + ] } ], "source": [ - "ephys.ClusteringTask.describe()" + "print(ephys.ClusteringTask.describe())" ] }, { @@ -1738,8 +2205,8 @@ "insertion_number : tinyint unsigned # \n", "paramset_idx : smallint # \n", "---\n", - "clustering_output_dir=\"\" : varchar(255) # clustering output directory relative to the clustering root data directory\n", - "task_mode=\"load\" : enum('load','trigger') # 'load': load computed analysis results, 'trigger': trigger computation" + "clustering_output_dir : varchar(255) # clustering output directory relative to the clustering root data directory\n", + "task_mode : enum('load','trigger') # 'load': load computed analysis results, 'trigger': trigger computation" ] }, "execution_count": 29, @@ -1783,7 +2250,7 @@ " insertion_number=1,\n", " paramset_idx=0,\n", " task_mode='load', # load or trigger\n", - " clustering_output_dir=\"subject5/session1/probe_1/ks2.1_01\"\n", + " clustering_output_dir=\"subject5/session1/probe_1/kilosort2-5_1\"\n", " )\n", ")" ] @@ -1806,7 +2273,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "Clustering: 100%|██████████| 1/1 [00:00<00:00, 15.88it/s]\n" + "Clustering: 0%| | 0/1 [00:00" ] @@ -2051,44 +2534,201 @@ "data": { "text/plain": [ "{'subject': 'subject5',\n", - " 'session_datetime': datetime.datetime(2023, 3, 20, 21, 44, 9),\n", + " 'session_datetime': datetime.datetime(2023, 6, 30, 3, 34, 20),\n", " 'insertion_number': 1,\n", " 'paramset_idx': 0,\n", " 'curation_id': 1,\n", " 'unit': 15,\n", " 'electrode_config_hash': UUID('8d4cc6d8-a02d-42c8-bf27-7459c39ea0ee'),\n", " 'probe_type': 'neuropixels 1.0 - 3A',\n", - " 'electrode': 186,\n", - " 'cluster_quality_label': 'good',\n", - " 'spike_count': 18,\n", - " 'spike_times': array([ 48.74336667, 67.63773333, 69.05666667, 83.11203333,\n", - " 94.1978 , 108.0454 , 110.36893333, 122.16836667,\n", - " 149.41143333, 152.55593333, 182.84816667, 236.8929 ,\n", - " 270.40613333, 292.4432 , 299.99216667, 321.74016667,\n", - " 326.5434 , 329.26373333]),\n", - " 'spike_sites': array([186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,\n", - " 186, 186, 186, 186, 186]),\n", - " 'spike_depths': array([2144.38644037, 2240.44959257, 2286.37081289, 2177.07452433,\n", - " 2227.42382471, 2143.86346649, 2235.74014979, 2236.04354982,\n", - " 2236.06676094, 2299.53408387, 2222.6567435 , 2165.88562393,\n", - " 2165.55087743, 2254.93847903, 2241.71132163, 2057.9714868 ,\n", - " 2272.82484323, 2229.42266297]),\n", - " 'peak_electrode_waveform': array([-343.61979167, -345.703125 , -344.79166667, -341.53645833,\n", - " -339.0625 , -340.88541667, -342.1875 , -339.97395833,\n", - " -338.02083333, -336.97916667, -338.41145833, -341.53645833,\n", - " -343.48958333, -344.53125 , -341.796875 , -337.36979167,\n", - " -339.32291667, -336.58854167, -338.80208333, -337.63020833,\n", - " -336.97916667, -338.02083333, -338.02083333, -333.984375 ,\n", - " -324.86979167, -317.05729167, -313.93229167, -309.765625 ,\n", - " -304.296875 , -300.13020833, -300.65104167, -301.43229167,\n", - " -306.11979167, -311.58854167, -316.40625 , -320.57291667,\n", - " -333.203125 , -339.58333333, -340.625 , -337.63020833,\n", - " -344.140625 , -350.91145833, -356.11979167, -363.80208333,\n", - " -375. , -379.42708333, -382.68229167, -389.97395833,\n", - " -391.796875 , -393.61979167, -390.625 , -395.96354167,\n", - " -400.52083333, -399.73958333, -395.18229167, -392.96875 ,\n", - " -395.05208333, -391.796875 , -392.31770833, -387.36979167,\n", - " -387.23958333, -387.890625 , -384.375 , -383.33333333])}" + " 'electrode': 92,\n", + " 'cluster_quality_label': 'noise',\n", + " 'spike_count': 292,\n", + " 'spike_times': array([ 1.02606667, 1.19973333, 1.5044 , 1.52283333,\n", + " 1.86786667, 1.8688 , 1.8806 , 1.88553333,\n", + " 2.0581 , 2.76826667, 2.89186667, 2.9311 ,\n", + " 4.8753 , 5.2964 , 7.02266667, 9.65273333,\n", + " 9.81373333, 10.22443333, 11.96146667, 15.07173333,\n", + " 15.08983333, 15.78326667, 21.30936667, 22.7549 ,\n", + " 23.5582 , 23.6582 , 23.87043333, 24.16726667,\n", + " 24.25456667, 24.2671 , 25.0249 , 27.89116667,\n", + " 35.3036 , 36.0171 , 40.00396667, 40.0873 ,\n", + " 41.015 , 42.70086667, 45.8682 , 47.9291 ,\n", + " 48.90843333, 49.37996667, 49.39596667, 49.4058 ,\n", + " 49.65926667, 49.68203333, 49.74273333, 51.52213333,\n", + " 52.41486667, 55.27623333, 55.54576667, 55.81213333,\n", + " 56.0544 , 56.29426667, 56.36896667, 56.3743 ,\n", + " 56.47403333, 56.7147 , 56.71683333, 60.764 ,\n", + " 61.5317 , 61.54046667, 61.7721 , 62.10233333,\n", + " 62.10726667, 62.2118 , 62.81173333, 63.15896667,\n", + " 65.11126667, 65.495 , 67.18373333, 77.59256667,\n", + " 79.2709 , 80.46186667, 82.1178 , 85.6568 ,\n", + " 86.52613333, 89.12126667, 89.46963333, 89.64663333,\n", + " 90.19103333, 92.0923 , 92.99573333, 93.36923333,\n", + " 93.68086667, 95.2097 , 97.96296667, 98.1067 ,\n", + " 98.69713333, 99.26963333, 99.28013333, 101.04216667,\n", + " 101.2002 , 101.3843 , 101.3975 , 101.40656667,\n", + " 102.00996667, 102.07066667, 102.17033333, 103.5861 ,\n", + " 104.68523333, 104.71643333, 105.2595 , 105.5166 ,\n", + " 105.54723333, 107.0848 , 109.82746667, 110.14853333,\n", + " 110.92203333, 111.2481 , 112.26 , 113.09466667,\n", + " 113.09846667, 113.1005 , 113.33513333, 118.842 ,\n", + " 118.96803333, 119.32606667, 119.64796667, 119.96313333,\n", + " 119.97343333, 120.19573333, 120.19693333, 120.21163333,\n", + " 121.1879 , 121.233 , 121.9611 , 122.40203333,\n", + " 123.1745 , 124.6798 , 124.68196667, 124.97396667,\n", + " 125.2205 , 125.87786667, 125.957 , 125.95803333,\n", + " 127.7149 , 136.8558 , 136.86413333, 138.49966667,\n", + " 139.49553333, 139.93163333, 139.9819 , 142.57013333,\n", + " 142.70053333, 143.343 , 143.40796667, 148.46066667,\n", + " 148.47023333, 148.89893333, 152.79766667, 153.2198 ,\n", + " 153.39096667, 153.62456667, 153.82253333, 153.82693333,\n", + " 153.8364 , 153.98863333, 155.4047 , 157.52706667,\n", + " 157.53233333, 163.1177 , 163.12516667, 163.46916667,\n", + " 163.69406667, 163.7119 , 166.6946 , 166.7006 ,\n", + " 170.78053333, 170.7891 , 170.79653333, 180.36596667,\n", + " 180.43416667, 182.72556667, 182.73706667, 182.76576667,\n", + " 184.24713333, 185.5131 , 185.7329 , 186.4198 ,\n", + " 186.48443333, 186.72036667, 186.95926667, 187.1402 ,\n", + " 187.16683333, 189.4036 , 193.27583333, 195.40946667,\n", + " 200.2427 , 203.03376667, 203.04076667, 205.84043333,\n", + " 206.1151 , 207.3402 , 210.95773333, 217.73583333,\n", + " 220.35 , 221.1235 , 227.7719 , 227.946 ,\n", + " 228.02456667, 231.2108 , 231.80003333, 233.48253333,\n", + " 236.8342 , 241.78993333, 243.6285 , 245.61546667,\n", + " 245.95573333, 246.04586667, 246.06206667, 247.12933333,\n", + " 248.17143333, 249.16873333, 251.13613333, 252.4734 ,\n", + " 253.2007 , 254.50943333, 255.22563333, 255.2502 ,\n", + " 255.5314 , 255.53423333, 255.7684 , 256.81196667,\n", + " 256.99066667, 256.9928 , 257.0588 , 257.06206667,\n", + " 257.0801 , 257.15523333, 257.27496667, 257.291 ,\n", + " 257.99483333, 259.6955 , 259.7061 , 259.71746667,\n", + " 263.59203333, 266.7052 , 266.70576667, 267.0376 ,\n", + " 267.35913333, 267.87316667, 268.36156667, 268.94556667,\n", + " 269.01516667, 269.63623333, 269.88553333, 270.16176667,\n", + " 270.39123333, 273.41633333, 273.43763333, 274.2084 ,\n", + " 276.36113333, 278.68053333, 279.50626667, 281.0338 ,\n", + " 281.9869 , 283.69233333, 285.0663 , 287.0179 ,\n", + " 289.5541 , 291.78113333, 292.16493333, 292.85823333,\n", + " 292.8702 , 295.93823333, 295.9514 , 295.9679 ,\n", + " 296.00623333, 296.0391 , 296.04393333, 298.9717 ,\n", + " 299.01556667, 299.0859 , 299.7463 , 306.65153333,\n", + " 307.38243333, 307.7771 , 311.80163333, 311.83026667,\n", + " 313.37816667, 314.948 , 317.10726667, 317.98363333,\n", + " 319.25856667, 321.01533333, 321.16426667, 330.15466667,\n", + " 330.73633333, 330.91536667, 332.83243333, 332.86266667]),\n", + " 'spike_sites': array([92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,\n", + " 92, 92, 92]),\n", + " 'spike_depths': array([ 917.68931051, 1002.6141662 , 893.1431346 , 912.33104931,\n", + " 902.87693568, 872.31105976, 875.26191363, 922.47333477,\n", + " 949.16252597, 801.99946108, 858.01692677, 921.7837487 ,\n", + " 897.25087548, 874.42894267, 914.89717798, 861.55454858,\n", + " 904.22082978, 900.71556806, 848.89880207, 871.55857472,\n", + " 849.40502424, 887.21898509, 957.57407264, 857.52950094,\n", + " 941.13752662, 931.03217518, 898.99527832, 962.92735677,\n", + " 915.56550832, 922.14542481, 894.27941318, 874.31413165,\n", + " 847.78323382, 960.73651726, 902.09721294, 899.97936727,\n", + " 936.76767365, 908.68471877, 931.97562897, 892.8563381 ,\n", + " 940.49920044, 925.87119487, 915.55667036, 786.01763842,\n", + " 867.61268444, 1007.66794229, 867.43220284, 941.51843395,\n", + " 955.66765617, 970.36344663, 894.82624021, 915.00922015,\n", + " 889.99169864, 878.28545616, 850.33714087, 928.43421969,\n", + " 939.52352775, 962.60336897, 903.36858487, 896.37548128,\n", + " 963.73199174, 789.82843798, 920.43722936, 828.40065648,\n", + " 943.98810503, 835.85766882, 841.76946105, 937.36801859,\n", + " 896.49642885, 967.15672796, 918.39713395, 906.36795986,\n", + " 919.40916519, 875.89694182, 908.3418033 , 972.05674531,\n", + " 927.07275902, 940.77150366, 918.04680759, 981.59648505,\n", + " 940.32229921, 938.36235287, 849.04038544, 893.3058527 ,\n", + " 913.09883832, 912.35625832, 989.78190796, 879.34780591,\n", + " 928.81644221, 892.97322993, 898.70158737, 906.91746418,\n", + " 946.42526162, 914.08702993, 859.34034454, 907.18338275,\n", + " 989.30138781, 926.06769221, 838.08269605, 929.50654863,\n", + " 827.39586238, 927.36188021, 910.17661856, 935.41822322,\n", + " 885.63661049, 914.48018584, 895.93753147, 911.13864214,\n", + " 881.60996972, 938.20931097, 1015.75963624, 938.56188955,\n", + " 909.09481672, 867.81417174, 912.15092578, 907.0519042 ,\n", + " 913.43873474, 913.23570042, 983.89208176, 899.44708324,\n", + " 910.55603061, 950.67199374, 916.27718038, 886.16272254,\n", + " 975.57372749, 882.46972449, 908.99151954, 893.41760103,\n", + " 938.6441373 , 885.19738826, 947.44382361, 918.75218854,\n", + " 942.78614663, 968.52291541, 915.78656008, 989.00683215,\n", + " 855.88223229, 976.62553529, 919.25644927, 958.63970635,\n", + " 934.03540249, 926.45247121, 961.36373273, 926.55709697,\n", + " 896.6375551 , 897.47943897, 907.74803191, 954.04187795,\n", + " 882.10295293, 1004.09432843, 892.73726557, 846.13198111,\n", + " 929.42733278, 894.24531402, 921.97988827, 860.601478 ,\n", + " 912.55635483, 997.22339505, 985.88635074, 938.45775184,\n", + " 944.63766895, 942.18376197, 984.23087354, 922.40370934,\n", + " 965.34813049, 921.32552393, 969.81367405, 917.74503135,\n", + " 833.76599428, 894.97963584, 878.49090123, 864.91049261,\n", + " 985.04808527, 927.18133162, 844.64492657, 913.88047009,\n", + " 928.03561194, 930.79686847, 930.13055052, 839.5761256 ,\n", + " 943.37875897, 956.44476838, 931.39781252, 989.20932655,\n", + " 1006.29928459, 942.03146682, 901.72518137, 932.53880871,\n", + " 935.96943144, 925.53161728, 874.67439465, 951.48997974,\n", + " 960. , 874.14717137, 921.49562818, 927.26749515,\n", + " 926.41158172, 896.61260138, 938.6103718 , 959.64828575,\n", + " 935.22630845, 955.63103852, 950.8495808 , 888.45366602,\n", + " 912.06814044, 862.81354284, 875.05713562, 875.4100677 ,\n", + " 923.5426824 , 839.78562837, 889.74471045, 867.8332007 ,\n", + " 933.88736839, 868.07155277, 883.34738777, 913.12741673,\n", + " 915.77804797, 962.99775026, 932.9485248 , 930.37415413,\n", + " 944.21567324, 776.98228821, 936.37311401, 941.58975024,\n", + " 941.55965056, 864.51860126, 930.38329188, 912.78502395,\n", + " 947.32712079, 1011.13494089, 937.99624501, 916.59535343,\n", + " 873.82437868, 901.49630725, 846.11674006, 998.64016883,\n", + " 978.32805846, 876.27655411, 905.78089027, 827.25234516,\n", + " 1002.18813125, 898.65291068, 920.350764 , 874.17361952,\n", + " 938.70381451, 945.81921622, 874.98921047, 915.97985629,\n", + " 920.14460695, 965.25282342, 977.01542391, 863.18856888,\n", + " 907.62393082, 906.19584978, 851.37149337, 956.85804045,\n", + " 969.94521463, 912.02588788, 953.60047228, 819.53086148,\n", + " 911.99611929, 845.66361521, 962.24964999, 921.43338903,\n", + " 982.04267741, 931.1841306 , 896.56744607, 926.6958426 ,\n", + " 841.56778533, 961.77261899, 943.15601639, 786.18136435,\n", + " 864.98026608, 950.29718422, 930.39820918, 983.57154574,\n", + " 909.55498598, 925.76591071, 906.07808244, 964.41923255,\n", + " 911.17276099, 919.34859876, 906.11721418, 905.96844161,\n", + " 911.53683431, 958.97512493, 953.15452691, 889.09240389,\n", + " 957.98473324, 993.29170991, 928.99175736, 908.10563408]),\n", + " 'peak_electrode_waveform': array([-503.33636558, -502.734375 , -501.32973031, -500.34246575,\n", + " -499.73244863, -498.66491866, -494.41887842, -491.6015625 ,\n", + " -486.59300086, -481.55233305, -474.36055223, -466.79152397,\n", + " -458.98169949, -451.10766267, -442.41491866, -431.03328339,\n", + " -420.81549658, -410.91074486, -402.25010702, -395.59610445,\n", + " -389.25513699, -384.02985873, -381.67005565, -379.81592466,\n", + " -378.79655394, -380.26541096, -384.54355736, -392.41759418,\n", + " -401.11033818, -410.67797517, -420.13324058, -430.6640625 ,\n", + " -442.34267979, -452.71297089, -461.42979452, -469.67305223,\n", + " -478.64672517, -486.40036387, -493.83294092, -498.87360873,\n", + " -504.82127568, -509.58101455, -511.55554366, -514.19627568,\n", + " -515.77750428, -516.41160103, -517.3828125 , -518.16941353,\n", + " -517.26241438, -518.46639555, -517.76808647, -517.3828125 ,\n", + " -516.61226455, -514.32470034, -512.5187286 , -511.66791524,\n", + " -510.65657106, -507.74293664, -504.84535531, -503.02333048,\n", + " -501.93172089, -499.3552012 , -498.77729024, -495.78339041,\n", + " -495.42219606, -495.78339041, -494.30650685, -492.30789812,\n", + " -491.83433219, -492.14736729, -490.16481164, -489.69124572,\n", + " -488.84043236, -488.5354238 , -489.24175942, -487.68461045,\n", + " -486.48062928, -485.50941781, -484.23319777, -484.24925086,\n", + " -484.26530394, -483.3984375 ])}" ] }, "execution_count": 40, @@ -2107,7 +2747,7 @@ "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -2156,6 +2796,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [] @@ -2177,7 +2818,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.16" + "version": "3.9.17" }, "orig_nbformat": 4, "vscode": { diff --git a/requirements.txt b/requirements.txt index d1a7ae3..b114b3e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ datajoint>=0.13.0 element-animal>=0.1.5 -element-array-ephys>=0.2.7 +element-array-ephys>=0.2.11 element-electrode-localization>=0.1.2 element-event>=0.1.2 element-interface>=0.5.0 diff --git a/workflow_array_ephys/version.py b/workflow_array_ephys/version.py index 5b67f9e..ce8cfa6 100644 --- a/workflow_array_ephys/version.py +++ b/workflow_array_ephys/version.py @@ -2,4 +2,4 @@ Package metadata Update the Docker image tag in `docker-compose.yaml` to match """ -__version__ = "0.3.2" +__version__ = "0.3.3"