From 2a59ea0e19ceb11ae43892f7309a119a3ffdfa57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milagros=20Mar=C3=ADn?= <milmarina02@gmail.com> Date: Mon, 27 Nov 2023 15:11:21 +0000 Subject: [PATCH] tutorial run with included outputs complete --- notebooks/tutorial.ipynb | 1523 ++++++++++++++++++++++---------------- 1 file changed, 885 insertions(+), 638 deletions(-) diff --git a/notebooks/tutorial.ipynb b/notebooks/tutorial.ipynb index b3defb9a..9cbec92c 100644 --- a/notebooks/tutorial.ipynb +++ b/notebooks/tutorial.ipynb @@ -122,15 +122,15 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "[2023-11-27 14:17:02,202][INFO]: Connecting root@fakeservices.datajoint.io:3306\n", - "[2023-11-27 14:17:02,212][INFO]: Connected root@fakeservices.datajoint.io:3306\n" + "[2023-11-27 15:06:43,279][INFO]: Connecting root@fakeservices.datajoint.io:3306\n", + "[2023-11-27 15:06:43,287][INFO]: Connected root@fakeservices.datajoint.io:3306\n" ] }, { @@ -139,7 +139,7 @@ "DataJoint connection (connected) root@fakeservices.datajoint.io:3306" ] }, - "execution_count": 5, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -166,9 +166,17 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[2023-11-27 15:06:47,930][WARNING]: lab.Project and related tables will be removed in a future version of Element Lab. Please use the project schema.\n" + ] + } + ], "source": [ "from tutorial_pipeline import lab, subject, session, probe, ephys" ] @@ -182,456 +190,456 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ - "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"754pt\" height=\"666pt\" viewBox=\"0.00 0.00 753.50 666.00\">\n", + "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"753pt\" height=\"666pt\" viewBox=\"0.00 0.00 753.00 666.00\">\n", "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 662)\">\n", "<title>%3</title>\n", - "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-662 749.5,-662 749.5,4 -4,4\"/>\n", - "<!-- ephys.Curation -->\n", + "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-662 749,-662 749,4 -4,4\"/>\n", + "<!-- ephys.LFP.Electrode -->\n", "<g id=\"node1\" class=\"node\">\n", - "<title>ephys.Curation</title>\n", - "<g id=\"a_node1\"><a xlink:title=\"→ ephys.Clustering\rcuration_id \r------------------------------\rcuration_time \rcuration_output_dir \rquality_control \rmanual_curation \rcuration_note="" \r\">\n", - "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"263.5,-232 165.5,-232 165.5,-197 263.5,-197 263.5,-232\"/>\n", - "<text text-anchor=\"start\" x=\"173.5\" y=\"-212.4\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"12.00\" fill=\"darkgreen\">ephys.Curation</text>\n", - "</a>\n", - "</g>\n", - "</g>\n", - "<!-- ephys.CuratedClustering -->\n", - "<g id=\"node28\" class=\"node\">\n", - "<title>ephys.CuratedClustering</title>\n", - "<g id=\"a_node28\"><a xlink:title=\"→ ephys.Curation\r\">\n", - "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"292.5\" cy=\"-143.5\" rx=\"93.25\" ry=\"17.5\"/>\n", - "<text text-anchor=\"middle\" x=\"292.5\" y=\"-140.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.CuratedClustering</text>\n", + "<title>ephys.LFP.Electrode</title>\n", + "<g id=\"a_node1\"><a xlink:title=\"→ ephys.LFP\r→ probe.ElectrodeConfig.Electrode\r------------------------------\rlfp \r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"326.5,-295 219.5,-295 219.5,-276 326.5,-276 326.5,-295\"/>\n", + "<text text-anchor=\"middle\" x=\"273\" y=\"-283\" font-family=\"arial\" font-size=\"10.00\">ephys.LFP.Electrode</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.Curation->ephys.CuratedClustering -->\n", - "<g id=\"edge1\" class=\"edge\">\n", - "<title>ephys.Curation->ephys.CuratedClustering</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M233.38,-196.8C245.74,-185.87 261.8,-171.66 274.06,-160.81\"/>\n", - "</g>\n", - "<!-- ephys.LFP -->\n", + "<!-- ephys.WaveformSet.PeakWaveform -->\n", "<g id=\"node2\" class=\"node\">\n", - "<title>ephys.LFP</title>\n", - "<g id=\"a_node2\"><a xlink:title=\"→ ephys.EphysRecording\r------------------------------\rlfp_sampling_rate \rlfp_time_stamps \rlfp_mean \r\">\n", - "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"273.5\" cy=\"-356.5\" rx=\"46.5\" ry=\"17.5\"/>\n", - "<text text-anchor=\"middle\" x=\"273.5\" y=\"-353.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.LFP</text>\n", - "</a>\n", - "</g>\n", - "</g>\n", - "<!-- ephys.LFP.Electrode -->\n", - "<g id=\"node4\" class=\"node\">\n", - "<title>ephys.LFP.Electrode</title>\n", - "<g id=\"a_node4\"><a xlink:title=\"→ ephys.LFP\r→ probe.ElectrodeConfig.Electrode\r------------------------------\rlfp \r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"327,-295 220,-295 220,-276 327,-276 327,-295\"/>\n", - "<text text-anchor=\"middle\" x=\"273.5\" y=\"-283\" font-family=\"arial\" font-size=\"10.00\">ephys.LFP.Electrode</text>\n", + "<title>ephys.WaveformSet.PeakWaveform</title>\n", + "<g id=\"a_node2\"><a xlink:title=\"→ ephys.WaveformSet\r→ ephys.CuratedClustering.Unit\r------------------------------\rpeak_electrode_waveform \r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"510.5,-19 335.5,-19 335.5,0 510.5,0 510.5,-19\"/>\n", + "<text text-anchor=\"middle\" x=\"423\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.WaveformSet.PeakWaveform</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.LFP->ephys.LFP.Electrode -->\n", - "<g id=\"edge2\" class=\"edge\">\n", - "<title>ephys.LFP->ephys.LFP.Electrode</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M273.5,-338.8C273.5,-325.08 273.5,-306.19 273.5,-295.27\"/>\n", - "</g>\n", - "<!-- probe.ProbeType.Electrode -->\n", + "<!-- ephys.ClusteringTask -->\n", "<g id=\"node3\" class=\"node\">\n", - "<title>probe.ProbeType.Electrode</title>\n", - "<g id=\"a_node3\"><a xlink:title=\"→ probe.ProbeType\relectrode \r------------------------------\rshank \rshank_col \rshank_row \rx_coord=null \ry_coord=null \r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"745.5,-579 611.5,-579 611.5,-560 745.5,-560 745.5,-579\"/>\n", - "<text text-anchor=\"start\" x=\"619.5\" y=\"-568\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.ProbeType.Electrode</text>\n", - "</a>\n", - "</g>\n", - "</g>\n", - "<!-- probe.ElectrodeConfig.Electrode -->\n", - "<g id=\"node21\" class=\"node\">\n", - "<title>probe.ElectrodeConfig.Electrode</title>\n", - "<g id=\"a_node21\"><a xlink:title=\"→ probe.ElectrodeConfig\r→ probe.ProbeType.Electrode\r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"683.5,-437 525.5,-437 525.5,-418 683.5,-418 683.5,-437\"/>\n", - "<text text-anchor=\"middle\" x=\"604.5\" y=\"-425\" font-family=\"arial\" font-size=\"10.00\">probe.ElectrodeConfig.Electrode</text>\n", - "</a>\n", - "</g>\n", - "</g>\n", - "<!-- probe.ProbeType.Electrode->probe.ElectrodeConfig.Electrode -->\n", - "<g id=\"edge3\" class=\"edge\">\n", - "<title>probe.ProbeType.Electrode->probe.ElectrodeConfig.Electrode</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M678.27,-559.71C677.49,-543.23 674.1,-507.03 659.5,-481 649.17,-462.58 630.27,-446.68 617.54,-437.34\"/>\n", - "</g>\n", - "<!-- ephys.EphysRecording -->\n", - "<g id=\"node5\" class=\"node\">\n", - "<title>ephys.EphysRecording</title>\n", - "<g id=\"a_node5\"><a xlink:title=\"→ ephys.ProbeInsertion\r------------------------------\r→ probe.ElectrodeConfig\r→ ephys.AcquisitionSoftware\rsampling_rate \rrecording_datetime \rrecording_duration \r\">\n", - "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"419.5\" cy=\"-427.5\" rx=\"88.25\" ry=\"17.5\"/>\n", - "<text text-anchor=\"middle\" x=\"419.5\" y=\"-424.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.EphysRecording</text>\n", + "<title>ephys.ClusteringTask</title>\n", + "<g id=\"a_node3\"><a xlink:title=\"→ ephys.EphysRecording\r→ ephys.ClusteringParamSet\r------------------------------\rclustering_output_dir="" \rtask_mode="load" \r\">\n", + "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"200.5,-374 69.5,-374 69.5,-339 200.5,-339 200.5,-374\"/>\n", + "<text text-anchor=\"middle\" x=\"135\" y=\"-353.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"darkgreen\">ephys.ClusteringTask</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.EphysRecording->ephys.LFP -->\n", - "<g id=\"edge4\" class=\"edge\">\n", - "<title>ephys.EphysRecording->ephys.LFP</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M387.1,-411.19C361.39,-399.04 325.84,-382.23 301.39,-370.68\"/>\n", - "</g>\n", - "<!-- ephys.EphysRecording.EphysFile -->\n", - "<g id=\"node6\" class=\"node\">\n", - "<title>ephys.EphysRecording.EphysFile</title>\n", - "<g id=\"a_node6\"><a xlink:title=\"→ ephys.EphysRecording\rfile_path \r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"501.5,-366 337.5,-366 337.5,-347 501.5,-347 501.5,-366\"/>\n", - "<text text-anchor=\"start\" x=\"345.5\" y=\"-355\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.EphysRecording.EphysFile</text>\n", + "<!-- ephys.Clustering -->\n", + "<g id=\"node11\" class=\"node\">\n", + "<title>ephys.Clustering</title>\n", + "<g id=\"a_node11\"><a xlink:title=\"→ ephys.ClusteringTask\r------------------------------\rclustering_time \rpackage_version="" \r\">\n", + "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"135\" cy=\"-285.5\" rx=\"66.75\" ry=\"17.5\"/>\n", + "<text text-anchor=\"middle\" x=\"135\" y=\"-282.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.Clustering</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.EphysRecording->ephys.EphysRecording.EphysFile -->\n", - "<g id=\"edge5\" class=\"edge\">\n", - "<title>ephys.EphysRecording->ephys.EphysRecording.EphysFile</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M419.5,-409.8C419.5,-396.08 419.5,-377.19 419.5,-366.27\"/>\n", + "<!-- ephys.ClusteringTask->ephys.Clustering -->\n", + "<g id=\"edge1\" class=\"edge\">\n", + "<title>ephys.ClusteringTask->ephys.Clustering</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M135,-338.8C135,-327.95 135,-313.87 135,-303.05\"/>\n", "</g>\n", - "<!-- ephys.ClusteringTask -->\n", - "<g id=\"node22\" class=\"node\">\n", - "<title>ephys.ClusteringTask</title>\n", - "<g id=\"a_node22\"><a xlink:title=\"→ ephys.EphysRecording\r→ ephys.ClusteringParamSet\r------------------------------\rclustering_output_dir="" \rtask_mode="load" \r\">\n", - "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"201,-374 70,-374 70,-339 201,-339 201,-374\"/>\n", - "<text text-anchor=\"middle\" x=\"135.5\" y=\"-353.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"darkgreen\">ephys.ClusteringTask</text>\n", + "<!-- ephys.QualityMetrics -->\n", + "<g id=\"node4\" class=\"node\">\n", + "<title>ephys.QualityMetrics</title>\n", + "<g id=\"a_node4\"><a xlink:title=\"→ ephys.CuratedClustering\r\">\n", + "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"121\" cy=\"-72.5\" rx=\"80\" ry=\"17.5\"/>\n", + "<text text-anchor=\"middle\" x=\"121\" y=\"-69.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.QualityMetrics</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.EphysRecording->ephys.ClusteringTask -->\n", - "<g id=\"edge6\" class=\"edge\">\n", - "<title>ephys.EphysRecording->ephys.ClusteringTask</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M366.08,-413.52C319.32,-402.16 251.23,-385.62 201.16,-373.45\"/>\n", - "</g>\n", - "<!-- ephys.ClusteringMethod -->\n", + "<!-- ephys.QualityMetrics.Waveform -->\n", "<g id=\"node7\" class=\"node\">\n", - "<title>ephys.ClusteringMethod</title>\n", - "<g id=\"a_node7\"><a xlink:title=\"clustering_method \r------------------------------\rclustering_method_desc \r\">\n", - "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"145.5,-516 23.5,-516 23.5,-481 145.5,-481 145.5,-516\"/>\n", - "<text text-anchor=\"start\" x=\"31.5\" y=\"-497\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.ClusteringMethod</text>\n", + "<title>ephys.QualityMetrics.Waveform</title>\n", + "<g id=\"a_node7\"><a xlink:title=\"→ ephys.QualityMetrics\r→ ephys.CuratedClustering.Unit\r------------------------------\ramplitude \rduration \rhalfwidth=null \rpt_ratio=null \rrepolarization_slope=null \rrecovery_slope=null \rspread=null \rvelocity_above=null \rvelocity_below=null \r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"156,-19 0,-19 0,0 156,0 156,-19\"/>\n", + "<text text-anchor=\"middle\" x=\"78\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.QualityMetrics.Waveform</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.ClusteringParamSet -->\n", - "<g id=\"node26\" class=\"node\">\n", - "<title>ephys.ClusteringParamSet</title>\n", - "<g id=\"a_node26\"><a xlink:title=\"paramset_idx \r------------------------------\r→ ephys.ClusteringMethod\rparamset_desc \rparam_set_hash \rparams \rUNIQUE INDEX (param_set_hash)\r\">\n", - "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"151.5,-445 17.5,-445 17.5,-410 151.5,-410 151.5,-445\"/>\n", - "<text text-anchor=\"start\" x=\"25.5\" y=\"-426\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.ClusteringParamSet</text>\n", + "<!-- ephys.QualityMetrics->ephys.QualityMetrics.Waveform -->\n", + "<g id=\"edge2\" class=\"edge\">\n", + "<title>ephys.QualityMetrics->ephys.QualityMetrics.Waveform</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M109.48,-55.15C101.32,-43.58 90.69,-28.51 84.11,-19.17\"/>\n", + "</g>\n", + "<!-- ephys.QualityMetrics.Cluster -->\n", + "<g id=\"node18\" class=\"node\">\n", + "<title>ephys.QualityMetrics.Cluster</title>\n", + "<g id=\"a_node18\"><a xlink:title=\"→ ephys.QualityMetrics\r→ ephys.CuratedClustering.Unit\r------------------------------\rfiring_rate=null \rsnr=null \rpresence_ratio=null \risi_violation=null \rnumber_violation=null \ramplitude_cutoff=null \risolation_distance=null \rl_ratio=null \rd_prime=null \rnn_hit_rate=null \rnn_miss_rate=null \rsilhouette_score=null \rmax_drift=null \rcumulative_drift=null \rcontamination_rate=null \r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"317.5,-19 174.5,-19 174.5,0 317.5,0 317.5,-19\"/>\n", + "<text text-anchor=\"middle\" x=\"246\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.QualityMetrics.Cluster</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.ClusteringMethod->ephys.ClusteringParamSet -->\n", - "<g id=\"edge7\" class=\"edge\">\n", - "<title>ephys.ClusteringMethod->ephys.ClusteringParamSet</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M84.5,-480.8C84.5,-469.95 84.5,-455.87 84.5,-445.05\"/>\n", + "<!-- ephys.QualityMetrics->ephys.QualityMetrics.Cluster -->\n", + "<g id=\"edge3\" class=\"edge\">\n", + "<title>ephys.QualityMetrics->ephys.QualityMetrics.Cluster</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M152.22,-56.26C176.23,-44.55 208.53,-28.78 228.28,-19.15\"/>\n", "</g>\n", "<!-- ephys.CuratedClustering.Unit -->\n", - "<g id=\"node8\" class=\"node\">\n", + "<g id=\"node5\" class=\"node\">\n", "<title>ephys.CuratedClustering.Unit</title>\n", - "<g id=\"a_node8\"><a xlink:title=\"→ ephys.CuratedClustering\runit \r------------------------------\r→ probe.ElectrodeConfig.Electrode\r→ ephys.ClusterQualityLabel\rspike_count \rspike_times \rspike_sites \rspike_depths=null \r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"365.5,-82 219.5,-82 219.5,-63 365.5,-63 365.5,-82\"/>\n", - "<text text-anchor=\"start\" x=\"227.5\" y=\"-71\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.CuratedClustering.Unit</text>\n", - "</a>\n", - "</g>\n", - "</g>\n", - "<!-- ephys.WaveformSet.PeakWaveform -->\n", - "<g id=\"node9\" class=\"node\">\n", - "<title>ephys.WaveformSet.PeakWaveform</title>\n", - "<g id=\"a_node9\"><a xlink:title=\"→ ephys.WaveformSet\r→ ephys.CuratedClustering.Unit\r------------------------------\rpeak_electrode_waveform \r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"511,-19 336,-19 336,0 511,0 511,-19\"/>\n", - "<text text-anchor=\"middle\" x=\"423.5\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.WaveformSet.PeakWaveform</text>\n", + "<g id=\"a_node5\"><a xlink:title=\"→ ephys.CuratedClustering\runit \r------------------------------\r→ probe.ElectrodeConfig.Electrode\r→ ephys.ClusterQualityLabel\rspike_count \rspike_times \rspike_sites \rspike_depths=null \r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"365,-82 219,-82 219,-63 365,-63 365,-82\"/>\n", + "<text text-anchor=\"start\" x=\"227\" y=\"-71\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.CuratedClustering.Unit</text>\n", "</a>\n", "</g>\n", "</g>\n", "<!-- ephys.CuratedClustering.Unit->ephys.WaveformSet.PeakWaveform -->\n", - "<g id=\"edge8\" class=\"edge\">\n", + "<g id=\"edge4\" class=\"edge\">\n", "<title>ephys.CuratedClustering.Unit->ephys.WaveformSet.PeakWaveform</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M310.99,-62.89C335.96,-51.26 380.18,-30.67 405.1,-19.07\"/>\n", - "</g>\n", - "<!-- ephys.QualityMetrics.Waveform -->\n", - "<g id=\"node16\" class=\"node\">\n", - "<title>ephys.QualityMetrics.Waveform</title>\n", - "<g id=\"a_node16\"><a xlink:title=\"→ ephys.QualityMetrics\r→ ephys.CuratedClustering.Unit\r------------------------------\ramplitude \rduration \rhalfwidth=null \rpt_ratio=null \rrepolarization_slope=null \rrecovery_slope=null \rspread=null \rvelocity_above=null \rvelocity_below=null \r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"317.5,-19 161.5,-19 161.5,0 317.5,0 317.5,-19\"/>\n", - "<text text-anchor=\"middle\" x=\"239.5\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.QualityMetrics.Waveform</text>\n", - "</a>\n", - "</g>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M310.49,-62.89C335.46,-51.26 379.68,-30.67 404.6,-19.07\"/>\n", "</g>\n", "<!-- ephys.CuratedClustering.Unit->ephys.QualityMetrics.Waveform -->\n", - "<g id=\"edge9\" class=\"edge\">\n", + "<g id=\"edge5\" class=\"edge\">\n", "<title>ephys.CuratedClustering.Unit->ephys.QualityMetrics.Waveform</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M284.91,-62.76C274.83,-51.16 257.15,-30.81 247.08,-19.22\"/>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M261.79,-62.89C221.01,-51.26 148.76,-30.67 108.05,-19.07\"/>\n", "</g>\n", "<!-- ephys.WaveformSet.Waveform -->\n", - "<g id=\"node17\" class=\"node\">\n", + "<g id=\"node8\" class=\"node\">\n", "<title>ephys.WaveformSet.Waveform</title>\n", - "<g id=\"a_node17\"><a xlink:title=\"→ ephys.WaveformSet\r→ ephys.CuratedClustering.Unit\r→ probe.ElectrodeConfig.Electrode\r------------------------------\rwaveform_mean \rwaveforms=null \r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"681.5,-19 529.5,-19 529.5,0 681.5,0 681.5,-19\"/>\n", - "<text text-anchor=\"middle\" x=\"605.5\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.WaveformSet.Waveform</text>\n", + "<g id=\"a_node8\"><a xlink:title=\"→ ephys.WaveformSet\r→ ephys.CuratedClustering.Unit\r→ probe.ElectrodeConfig.Electrode\r------------------------------\rwaveform_mean \rwaveforms=null \r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"681,-19 529,-19 529,0 681,0 681,-19\"/>\n", + "<text text-anchor=\"middle\" x=\"605\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.WaveformSet.Waveform</text>\n", "</a>\n", "</g>\n", "</g>\n", "<!-- ephys.CuratedClustering.Unit->ephys.WaveformSet.Waveform -->\n", - "<g id=\"edge10\" class=\"edge\">\n", + "<g id=\"edge6\" class=\"edge\">\n", "<title>ephys.CuratedClustering.Unit->ephys.WaveformSet.Waveform</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M335.14,-62.98C348.1,-60.4 362.38,-57.57 375.5,-55 439.96,-42.36 514.62,-27.96 560.96,-19.05\"/>\n", - "</g>\n", - "<!-- ephys.QualityMetrics.Cluster -->\n", - "<g id=\"node20\" class=\"node\">\n", - "<title>ephys.QualityMetrics.Cluster</title>\n", - "<g id=\"a_node20\"><a xlink:title=\"→ ephys.QualityMetrics\r→ ephys.CuratedClustering.Unit\r------------------------------\rfiring_rate=null \rsnr=null \rpresence_ratio=null \risi_violation=null \rnumber_violation=null \ramplitude_cutoff=null \risolation_distance=null \rl_ratio=null \rd_prime=null \rnn_hit_rate=null \rnn_miss_rate=null \rsilhouette_score=null \rmax_drift=null \rcumulative_drift=null \rcontamination_rate=null \r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"143,-19 0,-19 0,0 143,0 143,-19\"/>\n", - "<text text-anchor=\"middle\" x=\"71.5\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.QualityMetrics.Cluster</text>\n", - "</a>\n", - "</g>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M334.64,-62.98C347.6,-60.4 361.88,-57.57 375,-55 439.46,-42.36 514.12,-27.96 560.46,-19.05\"/>\n", "</g>\n", "<!-- ephys.CuratedClustering.Unit->ephys.QualityMetrics.Cluster -->\n", - "<g id=\"edge11\" class=\"edge\">\n", + "<g id=\"edge7\" class=\"edge\">\n", "<title>ephys.CuratedClustering.Unit->ephys.QualityMetrics.Cluster</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M261.3,-62.89C219.19,-51.26 144.57,-30.67 102.54,-19.07\"/>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M285.41,-62.76C276.66,-51.16 261.32,-30.81 252.58,-19.22\"/>\n", "</g>\n", - "<!-- probe.Probe -->\n", - "<g id=\"node10\" class=\"node\">\n", - "<title>probe.Probe</title>\n", - "<g id=\"a_node10\"><a xlink:title=\"probe \r------------------------------\r→ probe.ProbeType\rprobe_comment="" \r\">\n", - "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"499,-587 430,-587 430,-552 499,-552 499,-587\"/>\n", - "<text text-anchor=\"start\" x=\"438\" y=\"-568\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.Probe</text>\n", + "<!-- session.Session -->\n", + "<g id=\"node6\" class=\"node\">\n", + "<title>session.Session</title>\n", + "<g id=\"a_node6\"><a xlink:title=\"→ subject.Subject\rsession_datetime \r\">\n", + "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"332,-587 228,-587 228,-552 332,-552 332,-587\"/>\n", + "<text text-anchor=\"start\" x=\"236\" y=\"-567.4\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"12.00\" fill=\"darkgreen\">session.Session</text>\n", "</a>\n", "</g>\n", "</g>\n", "<!-- ephys.ProbeInsertion -->\n", - "<g id=\"node23\" class=\"node\">\n", + "<g id=\"node13\" class=\"node\">\n", "<title>ephys.ProbeInsertion</title>\n", - "<g id=\"a_node23\"><a xlink:title=\"→ session.Session\rinsertion_number \r------------------------------\r→ probe.Probe\r\">\n", - "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"345.5,-516 215.5,-516 215.5,-481 345.5,-481 345.5,-516\"/>\n", - "<text text-anchor=\"start\" x=\"223.5\" y=\"-496.4\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"12.00\" fill=\"darkgreen\">ephys.ProbeInsertion</text>\n", + "<g id=\"a_node13\"><a xlink:title=\"→ session.Session\rinsertion_number \r------------------------------\r→ probe.Probe\r\">\n", + "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"345,-516 215,-516 215,-481 345,-481 345,-516\"/>\n", + "<text text-anchor=\"start\" x=\"223\" y=\"-496.4\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"12.00\" fill=\"darkgreen\">ephys.ProbeInsertion</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- probe.Probe->ephys.ProbeInsertion -->\n", - "<g id=\"edge12\" class=\"edge\">\n", - "<title>probe.Probe->ephys.ProbeInsertion</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M429.89,-555.52C400.12,-544.36 356.99,-528.18 324.72,-516.08\"/>\n", + "<!-- session.Session->ephys.ProbeInsertion -->\n", + "<g id=\"edge8\" class=\"edge\">\n", + "<title>session.Session->ephys.ProbeInsertion</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M280,-551.8C280,-540.95 280,-526.87 280,-516.05\"/>\n", "</g>\n", - "<!-- ephys.WaveformSet -->\n", - "<g id=\"node11\" class=\"node\">\n", - "<title>ephys.WaveformSet</title>\n", - "<g id=\"a_node11\"><a xlink:title=\"→ ephys.CuratedClustering\r\">\n", - "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"461.5\" cy=\"-72.5\" rx=\"77.5\" ry=\"17.5\"/>\n", - "<text text-anchor=\"middle\" x=\"461.5\" y=\"-69.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.WaveformSet</text>\n", + "<!-- ephys.LFP -->\n", + "<g id=\"node9\" class=\"node\">\n", + "<title>ephys.LFP</title>\n", + "<g id=\"a_node9\"><a xlink:title=\"→ ephys.EphysRecording\r------------------------------\rlfp_sampling_rate \rlfp_time_stamps \rlfp_mean \r\">\n", + "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"273\" cy=\"-356.5\" rx=\"46.5\" ry=\"17.5\"/>\n", + "<text text-anchor=\"middle\" x=\"273\" y=\"-353.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.LFP</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.WaveformSet->ephys.WaveformSet.PeakWaveform -->\n", - "<g id=\"edge13\" class=\"edge\">\n", - "<title>ephys.WaveformSet->ephys.WaveformSet.PeakWaveform</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M451.12,-54.83C443.91,-43.26 434.6,-28.32 428.84,-19.08\"/>\n", - "</g>\n", - "<!-- ephys.WaveformSet->ephys.WaveformSet.Waveform -->\n", - "<g id=\"edge14\" class=\"edge\">\n", - "<title>ephys.WaveformSet->ephys.WaveformSet.Waveform</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M496.36,-56.73C524.16,-44.96 562.13,-28.87 585.18,-19.11\"/>\n", + "<!-- ephys.LFP->ephys.LFP.Electrode -->\n", + "<g id=\"edge9\" class=\"edge\">\n", + "<title>ephys.LFP->ephys.LFP.Electrode</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M273,-338.8C273,-325.08 273,-306.19 273,-295.27\"/>\n", "</g>\n", - "<!-- ephys.InsertionLocation -->\n", - "<g id=\"node12\" class=\"node\">\n", - "<title>ephys.InsertionLocation</title>\n", - "<g id=\"a_node12\"><a xlink:title=\"→ ephys.ProbeInsertion\r------------------------------\r→ `neuro_lab`.`#skull_reference`\rap_location \rml_location \rdepth \rtheta=null \rphi=null \rbeta=null \r\">\n", - "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"313,-445 170,-445 170,-410 313,-410 313,-445\"/>\n", - "<text text-anchor=\"middle\" x=\"241.5\" y=\"-424.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"darkgreen\">ephys.InsertionLocation</text>\n", + "<!-- ephys.Curation -->\n", + "<g id=\"node10\" class=\"node\">\n", + "<title>ephys.Curation</title>\n", + "<g id=\"a_node10\"><a xlink:title=\"→ ephys.Clustering\rcuration_id \r------------------------------\rcuration_time \rcuration_output_dir \rquality_control \rmanual_curation \rcuration_note="" \r\">\n", + "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"263,-232 165,-232 165,-197 263,-197 263,-232\"/>\n", + "<text text-anchor=\"start\" x=\"173\" y=\"-212.4\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"12.00\" fill=\"darkgreen\">ephys.Curation</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.Clustering -->\n", - "<g id=\"node13\" class=\"node\">\n", - "<title>ephys.Clustering</title>\n", - "<g id=\"a_node13\"><a xlink:title=\"→ ephys.ClusteringTask\r------------------------------\rclustering_time \rpackage_version="" \r\">\n", - "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"135.5\" cy=\"-285.5\" rx=\"66.75\" ry=\"17.5\"/>\n", - "<text text-anchor=\"middle\" x=\"135.5\" y=\"-282.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.Clustering</text>\n", + "<!-- ephys.CuratedClustering -->\n", + "<g id=\"node17\" class=\"node\">\n", + "<title>ephys.CuratedClustering</title>\n", + "<g id=\"a_node17\"><a xlink:title=\"→ ephys.Curation\r\">\n", + "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"292\" cy=\"-143.5\" rx=\"93.25\" ry=\"17.5\"/>\n", + "<text text-anchor=\"middle\" x=\"292\" y=\"-140.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.CuratedClustering</text>\n", "</a>\n", "</g>\n", "</g>\n", + "<!-- ephys.Curation->ephys.CuratedClustering -->\n", + "<g id=\"edge10\" class=\"edge\">\n", + "<title>ephys.Curation->ephys.CuratedClustering</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M232.88,-196.8C245.24,-185.87 261.3,-171.66 273.56,-160.81\"/>\n", + "</g>\n", "<!-- ephys.Clustering->ephys.Curation -->\n", - "<g id=\"edge15\" class=\"edge\">\n", + "<g id=\"edge11\" class=\"edge\">\n", "<title>ephys.Clustering->ephys.Curation</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M153.82,-268.5C166.31,-257.59 182.81,-243.18 195.45,-232.14\"/>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M153.32,-268.5C165.81,-257.59 182.31,-243.18 194.95,-232.14\"/>\n", "</g>\n", - "<!-- session.Session -->\n", - "<g id=\"node14\" class=\"node\">\n", - "<title>session.Session</title>\n", - "<g id=\"a_node14\"><a xlink:title=\"→ subject.Subject\rsession_datetime \r\">\n", - "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"332.5,-587 228.5,-587 228.5,-552 332.5,-552 332.5,-587\"/>\n", - "<text text-anchor=\"start\" x=\"236.5\" y=\"-567.4\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"12.00\" fill=\"darkgreen\">session.Session</text>\n", + "<!-- ephys.AcquisitionSoftware -->\n", + "<g id=\"node12\" class=\"node\">\n", + "<title>ephys.AcquisitionSoftware</title>\n", + "<g id=\"a_node12\"><a xlink:title=\"acq_software \r\">\n", + "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"496.5,-516 363.5,-516 363.5,-481 496.5,-481 496.5,-516\"/>\n", + "<text text-anchor=\"start\" x=\"371.5\" y=\"-497\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.AcquisitionSoftware</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- session.Session->ephys.ProbeInsertion -->\n", - "<g id=\"edge16\" class=\"edge\">\n", - "<title>session.Session->ephys.ProbeInsertion</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M280.5,-551.8C280.5,-540.95 280.5,-526.87 280.5,-516.05\"/>\n", - "</g>\n", - "<!-- ephys.ClusterQualityLabel -->\n", + "<!-- ephys.EphysRecording -->\n", "<g id=\"node15\" class=\"node\">\n", - "<title>ephys.ClusterQualityLabel</title>\n", - "<g id=\"a_node15\"><a xlink:title=\"cluster_quality_label \r------------------------------\rcluster_quality_description \r\">\n", - "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"181,-161 50,-161 50,-126 181,-126 181,-161\"/>\n", - "<text text-anchor=\"start\" x=\"58\" y=\"-142\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.ClusterQualityLabel</text>\n", + "<title>ephys.EphysRecording</title>\n", + "<g id=\"a_node15\"><a xlink:title=\"→ ephys.ProbeInsertion\r------------------------------\r→ probe.ElectrodeConfig\r→ ephys.AcquisitionSoftware\rsampling_rate \rrecording_datetime \rrecording_duration \r\">\n", + "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"419\" cy=\"-427.5\" rx=\"88.25\" ry=\"17.5\"/>\n", + "<text text-anchor=\"middle\" x=\"419\" y=\"-424.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.EphysRecording</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.ClusterQualityLabel->ephys.CuratedClustering.Unit -->\n", - "<g id=\"edge17\" class=\"edge\">\n", - "<title>ephys.ClusterQualityLabel->ephys.CuratedClustering.Unit</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M157.9,-125.97C193.28,-112.18 242.31,-93.06 270.39,-82.12\"/>\n", + "<!-- ephys.AcquisitionSoftware->ephys.EphysRecording -->\n", + "<g id=\"edge12\" class=\"edge\">\n", + "<title>ephys.AcquisitionSoftware->ephys.EphysRecording</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M427.34,-480.8C425.61,-469.95 423.36,-455.87 421.64,-445.05\"/>\n", "</g>\n", - "<!-- subject.Subject -->\n", - "<g id=\"node18\" class=\"node\">\n", - "<title>subject.Subject</title>\n", - "<g id=\"a_node18\"><a xlink:title=\"subject \r------------------------------\rsubject_nickname="" \rsex \rsubject_birth_date \rsubject_description="" \r\">\n", - "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"329.5,-658 231.5,-658 231.5,-623 329.5,-623 329.5,-658\"/>\n", - "<text text-anchor=\"start\" x=\"239.5\" y=\"-638.4\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"12.00\" fill=\"darkgreen\">subject.Subject</text>\n", + "<!-- ephys.ProbeInsertion->ephys.EphysRecording -->\n", + "<g id=\"edge13\" class=\"edge\">\n", + "<title>ephys.ProbeInsertion->ephys.EphysRecording</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M313.29,-480.97C335.94,-469.73 365.71,-454.95 387.88,-443.95\"/>\n", + "</g>\n", + "<!-- ephys.InsertionLocation -->\n", + "<g id=\"node24\" class=\"node\">\n", + "<title>ephys.InsertionLocation</title>\n", + "<g id=\"a_node24\"><a xlink:title=\"→ ephys.ProbeInsertion\r------------------------------\r→ `neuro_lab`.`#skull_reference`\rap_location \rml_location \rdepth \rtheta=null \rphi=null \rbeta=null \r\">\n", + "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"312.5,-445 169.5,-445 169.5,-410 312.5,-410 312.5,-445\"/>\n", + "<text text-anchor=\"middle\" x=\"241\" y=\"-424.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"darkgreen\">ephys.InsertionLocation</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- subject.Subject->session.Session -->\n", - "<g id=\"edge18\" class=\"edge\">\n", - "<title>subject.Subject->session.Session</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M280.5,-622.8C280.5,-611.95 280.5,-597.87 280.5,-587.05\"/>\n", + "<!-- ephys.ProbeInsertion->ephys.InsertionLocation -->\n", + "<g id=\"edge14\" class=\"edge\">\n", + "<title>ephys.ProbeInsertion->ephys.InsertionLocation</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M270.56,-480.8C264.43,-469.95 256.47,-455.87 250.35,-445.05\"/>\n", "</g>\n", - "<!-- probe.ElectrodeConfig -->\n", - "<g id=\"node19\" class=\"node\">\n", - "<title>probe.ElectrodeConfig</title>\n", - "<g id=\"a_node19\"><a xlink:title=\"electrode_config_hash \r------------------------------\r→ probe.ProbeType\relectrode_config_name \r\">\n", - "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"650,-516 537,-516 537,-481 650,-481 650,-516\"/>\n", - "<text text-anchor=\"start\" x=\"545\" y=\"-497\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.ElectrodeConfig</text>\n", + "<!-- probe.ElectrodeConfig.Electrode -->\n", + "<g id=\"node14\" class=\"node\">\n", + "<title>probe.ElectrodeConfig.Electrode</title>\n", + "<g id=\"a_node14\"><a xlink:title=\"→ probe.ElectrodeConfig\r→ probe.ProbeType.Electrode\r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"683,-437 525,-437 525,-418 683,-418 683,-437\"/>\n", + "<text text-anchor=\"middle\" x=\"604\" y=\"-425\" font-family=\"arial\" font-size=\"10.00\">probe.ElectrodeConfig.Electrode</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- probe.ElectrodeConfig->ephys.EphysRecording -->\n", - "<g id=\"edge19\" class=\"edge\">\n", - "<title>probe.ElectrodeConfig->ephys.EphysRecording</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M551.82,-480.97C522.97,-469.53 484.88,-454.43 456.99,-443.36\"/>\n", - "</g>\n", - "<!-- probe.ElectrodeConfig->probe.ElectrodeConfig.Electrode -->\n", - "<g id=\"edge20\" class=\"edge\">\n", - "<title>probe.ElectrodeConfig->probe.ElectrodeConfig.Electrode</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M596.16,-480.8C598.35,-467.08 601.36,-448.19 603.1,-437.27\"/>\n", - "</g>\n", "<!-- probe.ElectrodeConfig.Electrode->ephys.LFP.Electrode -->\n", - "<g id=\"edge21\" class=\"edge\">\n", + "<g id=\"edge15\" class=\"edge\">\n", "<title>probe.ElectrodeConfig.Electrode->ephys.LFP.Electrode</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M596.38,-417.86C577.44,-397.9 530.43,-349.47 510.5,-339 452.3,-308.42 377.03,-295.61 327.1,-290.28\"/>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M595.88,-417.86C576.94,-397.9 529.93,-349.47 510,-339 451.8,-308.42 376.53,-295.61 326.6,-290.28\"/>\n", "</g>\n", "<!-- probe.ElectrodeConfig.Electrode->ephys.CuratedClustering.Unit -->\n", - "<g id=\"edge22\" class=\"edge\">\n", + "<g id=\"edge16\" class=\"edge\">\n", "<title>probe.ElectrodeConfig.Electrode->ephys.CuratedClustering.Unit</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M600.54,-417.87C591,-396.24 567.5,-337.79 567.5,-286.5 567.5,-286.5 567.5,-286.5 567.5,-213.5 567.5,-159.12 394.58,-102.95 322.98,-82.03\"/>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M600.04,-417.87C590.5,-396.24 567,-337.79 567,-286.5 567,-286.5 567,-286.5 567,-213.5 567,-159.12 394.08,-102.95 322.48,-82.03\"/>\n", "</g>\n", "<!-- probe.ElectrodeConfig.Electrode->ephys.WaveformSet.Waveform -->\n", - "<g id=\"edge23\" class=\"edge\">\n", + "<g id=\"edge17\" class=\"edge\">\n", "<title>probe.ElectrodeConfig.Electrode->ephys.WaveformSet.Waveform</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M604.6,-417.98C604.86,-396.13 605.5,-336.33 605.5,-286.5 605.5,-286.5 605.5,-286.5 605.5,-142.5 605.5,-95.98 605.5,-40.24 605.5,-19.15\"/>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M604.1,-417.98C604.36,-396.13 605,-336.33 605,-286.5 605,-286.5 605,-286.5 605,-142.5 605,-95.98 605,-40.24 605,-19.15\"/>\n", "</g>\n", - "<!-- ephys.ClusteringTask->ephys.Clustering -->\n", - "<g id=\"edge24\" class=\"edge\">\n", - "<title>ephys.ClusteringTask->ephys.Clustering</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M135.5,-338.8C135.5,-327.95 135.5,-313.87 135.5,-303.05\"/>\n", + "<!-- ephys.EphysRecording->ephys.ClusteringTask -->\n", + "<g id=\"edge18\" class=\"edge\">\n", + "<title>ephys.EphysRecording->ephys.ClusteringTask</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M365.58,-413.52C318.82,-402.16 250.73,-385.62 200.66,-373.45\"/>\n", "</g>\n", - "<!-- ephys.ProbeInsertion->ephys.EphysRecording -->\n", - "<g id=\"edge25\" class=\"edge\">\n", - "<title>ephys.ProbeInsertion->ephys.EphysRecording</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M313.79,-480.97C336.44,-469.73 366.21,-454.95 388.38,-443.95\"/>\n", + "<!-- ephys.EphysRecording->ephys.LFP -->\n", + "<g id=\"edge19\" class=\"edge\">\n", + "<title>ephys.EphysRecording->ephys.LFP</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M386.6,-411.19C360.89,-399.04 325.34,-382.23 300.89,-370.68\"/>\n", "</g>\n", - "<!-- ephys.ProbeInsertion->ephys.InsertionLocation -->\n", - "<g id=\"edge26\" class=\"edge\">\n", - "<title>ephys.ProbeInsertion->ephys.InsertionLocation</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M271.06,-480.8C264.93,-469.95 256.97,-455.87 250.85,-445.05\"/>\n", + "<!-- ephys.EphysRecording.EphysFile -->\n", + "<g id=\"node20\" class=\"node\">\n", + "<title>ephys.EphysRecording.EphysFile</title>\n", + "<g id=\"a_node20\"><a xlink:title=\"→ ephys.EphysRecording\rfile_path \r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"501,-366 337,-366 337,-347 501,-347 501,-366\"/>\n", + "<text text-anchor=\"start\" x=\"345\" y=\"-355\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.EphysRecording.EphysFile</text>\n", + "</a>\n", "</g>\n", - "<!-- ephys.QualityMetrics -->\n", - "<g id=\"node24\" class=\"node\">\n", - "<title>ephys.QualityMetrics</title>\n", - "<g id=\"a_node24\"><a xlink:title=\"→ ephys.CuratedClustering\r\">\n", - "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"121.5\" cy=\"-72.5\" rx=\"80\" ry=\"17.5\"/>\n", - "<text text-anchor=\"middle\" x=\"121.5\" y=\"-69.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.QualityMetrics</text>\n", + "</g>\n", + "<!-- ephys.EphysRecording->ephys.EphysRecording.EphysFile -->\n", + "<g id=\"edge20\" class=\"edge\">\n", + "<title>ephys.EphysRecording->ephys.EphysRecording.EphysFile</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M419,-409.8C419,-396.08 419,-377.19 419,-366.27\"/>\n", + "</g>\n", + "<!-- ephys.ClusteringMethod -->\n", + "<g id=\"node16\" class=\"node\">\n", + "<title>ephys.ClusteringMethod</title>\n", + "<g id=\"a_node16\"><a xlink:title=\"clustering_method \r------------------------------\rclustering_method_desc \r\">\n", + "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"145,-516 23,-516 23,-481 145,-481 145,-516\"/>\n", + "<text text-anchor=\"start\" x=\"31\" y=\"-497\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.ClusteringMethod</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.QualityMetrics->ephys.QualityMetrics.Waveform -->\n", + "<!-- ephys.ClusteringParamSet -->\n", + "<g id=\"node19\" class=\"node\">\n", + "<title>ephys.ClusteringParamSet</title>\n", + "<g id=\"a_node19\"><a xlink:title=\"paramset_idx \r------------------------------\r→ ephys.ClusteringMethod\rparamset_desc \rparam_set_hash \rparams \rUNIQUE INDEX (param_set_hash)\r\">\n", + "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"151,-445 17,-445 17,-410 151,-410 151,-445\"/>\n", + "<text text-anchor=\"start\" x=\"25\" y=\"-426\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.ClusteringParamSet</text>\n", + "</a>\n", + "</g>\n", + "</g>\n", + "<!-- ephys.ClusteringMethod->ephys.ClusteringParamSet -->\n", + "<g id=\"edge21\" class=\"edge\">\n", + "<title>ephys.ClusteringMethod->ephys.ClusteringParamSet</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M84,-480.8C84,-469.95 84,-455.87 84,-445.05\"/>\n", + "</g>\n", + "<!-- ephys.CuratedClustering->ephys.QualityMetrics -->\n", + "<g id=\"edge22\" class=\"edge\">\n", + "<title>ephys.CuratedClustering->ephys.QualityMetrics</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M254.47,-127.36C225.57,-115.69 185.85,-99.67 157.27,-88.13\"/>\n", + "</g>\n", + "<!-- ephys.CuratedClustering->ephys.CuratedClustering.Unit -->\n", + "<g id=\"edge23\" class=\"edge\">\n", + "<title>ephys.CuratedClustering->ephys.CuratedClustering.Unit</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M292,-125.8C292,-112.08 292,-93.19 292,-82.27\"/>\n", + "</g>\n", + "<!-- ephys.WaveformSet -->\n", + "<g id=\"node22\" class=\"node\">\n", + "<title>ephys.WaveformSet</title>\n", + "<g id=\"a_node22\"><a xlink:title=\"→ ephys.CuratedClustering\r\">\n", + "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"461\" cy=\"-72.5\" rx=\"77.5\" ry=\"17.5\"/>\n", + "<text text-anchor=\"middle\" x=\"461\" y=\"-69.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.WaveformSet</text>\n", + "</a>\n", + "</g>\n", + "</g>\n", + "<!-- ephys.CuratedClustering->ephys.WaveformSet -->\n", + "<g id=\"edge24\" class=\"edge\">\n", + "<title>ephys.CuratedClustering->ephys.WaveformSet</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M329.09,-127.36C357.65,-115.69 396.91,-99.67 425.16,-88.13\"/>\n", + "</g>\n", + "<!-- ephys.ClusteringParamSet->ephys.ClusteringTask -->\n", + "<g id=\"edge25\" class=\"edge\">\n", + "<title>ephys.ClusteringParamSet->ephys.ClusteringTask</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M96.35,-409.8C104.36,-398.95 114.77,-384.87 122.77,-374.05\"/>\n", + "</g>\n", + "<!-- probe.ProbeType.Electrode -->\n", + "<g id=\"node21\" class=\"node\">\n", + "<title>probe.ProbeType.Electrode</title>\n", + "<g id=\"a_node21\"><a xlink:title=\"→ probe.ProbeType\relectrode \r------------------------------\rshank \rshank_col \rshank_row \rx_coord=null \ry_coord=null \r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"745,-579 611,-579 611,-560 745,-560 745,-579\"/>\n", + "<text text-anchor=\"start\" x=\"619\" y=\"-568\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.ProbeType.Electrode</text>\n", + "</a>\n", + "</g>\n", + "</g>\n", + "<!-- probe.ProbeType.Electrode->probe.ElectrodeConfig.Electrode -->\n", + "<g id=\"edge26\" class=\"edge\">\n", + "<title>probe.ProbeType.Electrode->probe.ElectrodeConfig.Electrode</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M677.77,-559.71C676.99,-543.23 673.6,-507.03 659,-481 648.67,-462.58 629.77,-446.68 617.04,-437.34\"/>\n", + "</g>\n", + "<!-- ephys.WaveformSet->ephys.WaveformSet.PeakWaveform -->\n", "<g id=\"edge27\" class=\"edge\">\n", - "<title>ephys.QualityMetrics->ephys.QualityMetrics.Waveform</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M151.28,-56.11C173.94,-44.39 204.31,-28.69 222.86,-19.1\"/>\n", + "<title>ephys.WaveformSet->ephys.WaveformSet.PeakWaveform</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M450.62,-54.83C443.41,-43.26 434.1,-28.32 428.34,-19.08\"/>\n", "</g>\n", - "<!-- ephys.QualityMetrics->ephys.QualityMetrics.Cluster -->\n", + "<!-- ephys.WaveformSet->ephys.WaveformSet.Waveform -->\n", "<g id=\"edge28\" class=\"edge\">\n", - "<title>ephys.QualityMetrics->ephys.QualityMetrics.Cluster</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M108.1,-55.15C98.61,-43.58 86.26,-28.51 78.61,-19.17\"/>\n", + "<title>ephys.WaveformSet->ephys.WaveformSet.Waveform</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M495.86,-56.73C523.66,-44.96 561.63,-28.87 584.68,-19.11\"/>\n", "</g>\n", - "<!-- ephys.AcquisitionSoftware -->\n", - "<g id=\"node25\" class=\"node\">\n", - "<title>ephys.AcquisitionSoftware</title>\n", - "<g id=\"a_node25\"><a xlink:title=\"acq_software \r\">\n", - "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"497,-516 364,-516 364,-481 497,-481 497,-516\"/>\n", - "<text text-anchor=\"start\" x=\"372\" y=\"-497\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.AcquisitionSoftware</text>\n", + "<!-- subject.Subject -->\n", + "<g id=\"node23\" class=\"node\">\n", + "<title>subject.Subject</title>\n", + "<g id=\"a_node23\"><a xlink:title=\"subject \r------------------------------\rsubject_nickname="" \rsex \rsubject_birth_date \rsubject_description="" \r\">\n", + "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"329,-658 231,-658 231,-623 329,-623 329,-658\"/>\n", + "<text text-anchor=\"start\" x=\"239\" y=\"-638.4\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"12.00\" fill=\"darkgreen\">subject.Subject</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.AcquisitionSoftware->ephys.EphysRecording -->\n", + "<!-- subject.Subject->session.Session -->\n", "<g id=\"edge29\" class=\"edge\">\n", - "<title>ephys.AcquisitionSoftware->ephys.EphysRecording</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M427.84,-480.8C426.11,-469.95 423.86,-455.87 422.14,-445.05\"/>\n", + "<title>subject.Subject->session.Session</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M280,-622.8C280,-611.95 280,-597.87 280,-587.05\"/>\n", "</g>\n", - "<!-- ephys.ClusteringParamSet->ephys.ClusteringTask -->\n", + "<!-- probe.Probe -->\n", + "<g id=\"node25\" class=\"node\">\n", + "<title>probe.Probe</title>\n", + "<g id=\"a_node25\"><a xlink:title=\"probe \r------------------------------\r→ probe.ProbeType\rprobe_comment="" \r\">\n", + "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"487.5,-587 418.5,-587 418.5,-552 487.5,-552 487.5,-587\"/>\n", + "<text text-anchor=\"start\" x=\"426.5\" y=\"-568\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.Probe</text>\n", + "</a>\n", + "</g>\n", + "</g>\n", + "<!-- probe.Probe->ephys.ProbeInsertion -->\n", "<g id=\"edge30\" class=\"edge\">\n", - "<title>ephys.ClusteringParamSet->ephys.ClusteringTask</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M96.85,-409.8C104.86,-398.95 115.27,-384.87 123.27,-374.05\"/>\n", + "<title>probe.Probe->ephys.ProbeInsertion</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M418.41,-554.7C390.5,-543.57 351.16,-527.88 321.55,-516.07\"/>\n", "</g>\n", "<!-- probe.ProbeType -->\n", - "<g id=\"node27\" class=\"node\">\n", + "<g id=\"node26\" class=\"node\">\n", "<title>probe.ProbeType</title>\n", - "<g id=\"a_node27\"><a xlink:title=\"probe_type \r\">\n", - "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"723.5,-658 633.5,-658 633.5,-623 723.5,-623 723.5,-658\"/>\n", - "<text text-anchor=\"start\" x=\"641.5\" y=\"-639\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.ProbeType</text>\n", + "<g id=\"a_node26\"><a xlink:title=\"probe_type \r\">\n", + "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"723,-658 633,-658 633,-623 723,-623 723,-658\"/>\n", + "<text text-anchor=\"start\" x=\"641\" y=\"-639\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.ProbeType</text>\n", "</a>\n", "</g>\n", "</g>\n", "<!-- probe.ProbeType->probe.ProbeType.Electrode -->\n", "<g id=\"edge31\" class=\"edge\">\n", "<title>probe.ProbeType->probe.ProbeType.Electrode</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M678.5,-622.8C678.5,-609.08 678.5,-590.19 678.5,-579.27\"/>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M678,-622.8C678,-609.08 678,-590.19 678,-579.27\"/>\n", "</g>\n", "<!-- probe.ProbeType->probe.Probe -->\n", "<g id=\"edge32\" class=\"edge\">\n", "<title>probe.ProbeType->probe.Probe</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M633.38,-624.95C593.28,-612.02 535.51,-593.4 499.01,-581.63\"/>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M632.74,-625.62C589.88,-612.48 526.45,-593.02 487.53,-581.09\"/>\n", + "</g>\n", + "<!-- probe.ElectrodeConfig -->\n", + "<g id=\"node28\" class=\"node\">\n", + "<title>probe.ElectrodeConfig</title>\n", + "<g id=\"a_node28\"><a xlink:title=\"electrode_config_hash \r------------------------------\r→ probe.ProbeType\relectrode_config_name \r\">\n", + "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"649.5,-516 536.5,-516 536.5,-481 649.5,-481 649.5,-516\"/>\n", + "<text text-anchor=\"start\" x=\"544.5\" y=\"-497\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.ElectrodeConfig</text>\n", + "</a>\n", + "</g>\n", "</g>\n", "<!-- probe.ProbeType->probe.ElectrodeConfig -->\n", "<g id=\"edge33\" class=\"edge\">\n", "<title>probe.ProbeType->probe.ElectrodeConfig</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M641.7,-622.79C627.06,-614.22 611.57,-602.32 602.5,-587 589.59,-565.18 589.64,-534.87 591.27,-516.25\"/>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M641.2,-622.79C626.56,-614.22 611.07,-602.32 602,-587 589.09,-565.18 589.14,-534.87 590.77,-516.25\"/>\n", "</g>\n", - "<!-- ephys.CuratedClustering->ephys.CuratedClustering.Unit -->\n", + "<!-- ephys.ClusterQualityLabel -->\n", + "<g id=\"node27\" class=\"node\">\n", + "<title>ephys.ClusterQualityLabel</title>\n", + "<g id=\"a_node27\"><a xlink:title=\"cluster_quality_label \r------------------------------\rcluster_quality_description \r\">\n", + "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"180.5,-161 49.5,-161 49.5,-126 180.5,-126 180.5,-161\"/>\n", + "<text text-anchor=\"start\" x=\"57.5\" y=\"-142\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.ClusterQualityLabel</text>\n", + "</a>\n", + "</g>\n", + "</g>\n", + "<!-- ephys.ClusterQualityLabel->ephys.CuratedClustering.Unit -->\n", "<g id=\"edge34\" class=\"edge\">\n", - "<title>ephys.CuratedClustering->ephys.CuratedClustering.Unit</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M292.5,-125.8C292.5,-112.08 292.5,-93.19 292.5,-82.27\"/>\n", + "<title>ephys.ClusterQualityLabel->ephys.CuratedClustering.Unit</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M157.4,-125.97C192.78,-112.18 241.81,-93.06 269.89,-82.12\"/>\n", "</g>\n", - "<!-- ephys.CuratedClustering->ephys.WaveformSet -->\n", + "<!-- probe.ElectrodeConfig->probe.ElectrodeConfig.Electrode -->\n", "<g id=\"edge35\" class=\"edge\">\n", - "<title>ephys.CuratedClustering->ephys.WaveformSet</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M329.59,-127.36C358.15,-115.69 397.41,-99.67 425.66,-88.13\"/>\n", + "<title>probe.ElectrodeConfig->probe.ElectrodeConfig.Electrode</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M595.66,-480.8C597.85,-467.08 600.86,-448.19 602.6,-437.27\"/>\n", "</g>\n", - "<!-- ephys.CuratedClustering->ephys.QualityMetrics -->\n", + "<!-- probe.ElectrodeConfig->ephys.EphysRecording -->\n", "<g id=\"edge36\" class=\"edge\">\n", - "<title>ephys.CuratedClustering->ephys.QualityMetrics</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M254.97,-127.36C226.07,-115.69 186.35,-99.67 157.77,-88.13\"/>\n", + "<title>probe.ElectrodeConfig->ephys.EphysRecording</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M551.32,-480.97C522.47,-469.53 484.38,-454.43 456.49,-443.36\"/>\n", "</g>\n", "</g>\n", "</svg>" ], "text/plain": [ - "<datajoint.diagram.Diagram at 0x7f4c859a7520>" + "<datajoint.diagram.Diagram at 0x7fe9f76cd040>" ] }, - "execution_count": 7, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -656,7 +664,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -666,375 +674,357 @@ "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 662)\">\n", "<title>%3</title>\n", "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-662 818,-662 818,4 -4,4\"/>\n", - "<!-- ephys.Curation -->\n", - "<g id=\"node1\" class=\"node\">\n", - "<title>ephys.Curation</title>\n", - "<g id=\"a_node1\"><a xlink:title=\"→ ephys.Clustering\rcuration_id \r------------------------------\rcuration_time \rcuration_output_dir \rquality_control \rmanual_curation \rcuration_note="" \r\">\n", - "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"322,-232 224,-232 224,-197 322,-197 322,-232\"/>\n", - "<text text-anchor=\"start\" x=\"232\" y=\"-212.4\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"12.00\" fill=\"darkgreen\">ephys.Curation</text>\n", - "</a>\n", - "</g>\n", - "</g>\n", - "<!-- ephys.CuratedClustering -->\n", - "<g id=\"node26\" class=\"node\">\n", - "<title>ephys.CuratedClustering</title>\n", - "<g id=\"a_node26\"><a xlink:title=\"→ ephys.Curation\r\">\n", - "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"429\" cy=\"-143.5\" rx=\"93.25\" ry=\"17.5\"/>\n", - "<text text-anchor=\"middle\" x=\"429\" y=\"-140.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.CuratedClustering</text>\n", - "</a>\n", - "</g>\n", - "</g>\n", - "<!-- ephys.Curation->ephys.CuratedClustering -->\n", - "<g id=\"edge1\" class=\"edge\">\n", - "<title>ephys.Curation->ephys.CuratedClustering</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M310.37,-196.97C335.88,-185.69 369.43,-170.85 394.34,-159.83\"/>\n", - "</g>\n", - "<!-- ephys.LFP -->\n", - "<g id=\"node2\" class=\"node\">\n", - "<title>ephys.LFP</title>\n", - "<g id=\"a_node2\"><a xlink:title=\"→ ephys.EphysRecording\r------------------------------\rlfp_sampling_rate \rlfp_time_stamps \rlfp_mean \r\">\n", - "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"256\" cy=\"-356.5\" rx=\"46.5\" ry=\"17.5\"/>\n", - "<text text-anchor=\"middle\" x=\"256\" y=\"-353.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.LFP</text>\n", - "</a>\n", - "</g>\n", - "</g>\n", "<!-- ephys.LFP.Electrode -->\n", - "<g id=\"node4\" class=\"node\">\n", + "<g id=\"node1\" class=\"node\">\n", "<title>ephys.LFP.Electrode</title>\n", - "<g id=\"a_node4\"><a xlink:title=\"→ ephys.LFP\r→ probe.ElectrodeConfig.Electrode\r------------------------------\rlfp \r\">\n", + "<g id=\"a_node1\"><a xlink:title=\"→ ephys.LFP\r→ probe.ElectrodeConfig.Electrode\r------------------------------\rlfp \r\">\n", "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"309.5,-295 202.5,-295 202.5,-276 309.5,-276 309.5,-295\"/>\n", "<text text-anchor=\"middle\" x=\"256\" y=\"-283\" font-family=\"arial\" font-size=\"10.00\">ephys.LFP.Electrode</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.LFP->ephys.LFP.Electrode -->\n", - "<g id=\"edge2\" class=\"edge\">\n", - "<title>ephys.LFP->ephys.LFP.Electrode</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M256,-338.8C256,-325.08 256,-306.19 256,-295.27\"/>\n", - "</g>\n", - "<!-- probe.ProbeType.Electrode -->\n", - "<g id=\"node3\" class=\"node\">\n", - "<title>probe.ProbeType.Electrode</title>\n", - "<g id=\"a_node3\"><a xlink:title=\"→ probe.ProbeType\relectrode \r------------------------------\rshank \rshank_col \rshank_row \rx_coord=null \ry_coord=null \r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"728,-579 594,-579 594,-560 728,-560 728,-579\"/>\n", - "<text text-anchor=\"start\" x=\"602\" y=\"-568\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.ProbeType.Electrode</text>\n", + "<!-- ephys.WaveformSet.PeakWaveform -->\n", + "<g id=\"node2\" class=\"node\">\n", + "<title>ephys.WaveformSet.PeakWaveform</title>\n", + "<g id=\"a_node2\"><a xlink:title=\"→ ephys.WaveformSet\r→ ephys.CuratedClustering.Unit\r------------------------------\rpeak_electrode_waveform \r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"643.5,-19 468.5,-19 468.5,0 643.5,0 643.5,-19\"/>\n", + "<text text-anchor=\"middle\" x=\"556\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.WaveformSet.PeakWaveform</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- probe.ElectrodeConfig.Electrode -->\n", - "<g id=\"node19\" class=\"node\">\n", - "<title>probe.ElectrodeConfig.Electrode</title>\n", - "<g id=\"a_node19\"><a xlink:title=\"→ probe.ElectrodeConfig\r→ probe.ProbeType.Electrode\r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"666,-437 508,-437 508,-418 666,-418 666,-437\"/>\n", - "<text text-anchor=\"middle\" x=\"587\" y=\"-425\" font-family=\"arial\" font-size=\"10.00\">probe.ElectrodeConfig.Electrode</text>\n", + "<!-- ephys.ClusteringTask -->\n", + "<g id=\"node3\" class=\"node\">\n", + "<title>ephys.ClusteringTask</title>\n", + "<g id=\"a_node3\"><a xlink:title=\"→ ephys.EphysRecording\r→ ephys.ClusteringParamSet\r------------------------------\rclustering_output_dir="" \rtask_mode="load" \r\">\n", + "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"183.5,-374 52.5,-374 52.5,-339 183.5,-339 183.5,-374\"/>\n", + "<text text-anchor=\"middle\" x=\"118\" y=\"-353.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"darkgreen\">ephys.ClusteringTask</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- probe.ProbeType.Electrode->probe.ElectrodeConfig.Electrode -->\n", - "<g id=\"edge3\" class=\"edge\">\n", - "<title>probe.ProbeType.Electrode->probe.ElectrodeConfig.Electrode</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M660.77,-559.71C659.99,-543.23 656.6,-507.03 642,-481 631.67,-462.58 612.77,-446.68 600.04,-437.34\"/>\n", - "</g>\n", - "<!-- ephys.EphysRecording -->\n", - "<g id=\"node5\" class=\"node\">\n", - "<title>ephys.EphysRecording</title>\n", - "<g id=\"a_node5\"><a xlink:title=\"→ ephys.ProbeInsertion\r------------------------------\r→ probe.ElectrodeConfig\r→ ephys.AcquisitionSoftware\rsampling_rate \rrecording_datetime \rrecording_duration \r\">\n", - "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"402\" cy=\"-427.5\" rx=\"88.25\" ry=\"17.5\"/>\n", - "<text text-anchor=\"middle\" x=\"402\" y=\"-424.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.EphysRecording</text>\n", + "<!-- ephys.Clustering -->\n", + "<g id=\"node10\" class=\"node\">\n", + "<title>ephys.Clustering</title>\n", + "<g id=\"a_node10\"><a xlink:title=\"→ ephys.ClusteringTask\r------------------------------\rclustering_time \rpackage_version="" \r\">\n", + "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"118\" cy=\"-285.5\" rx=\"66.75\" ry=\"17.5\"/>\n", + "<text text-anchor=\"middle\" x=\"118\" y=\"-282.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.Clustering</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.EphysRecording->ephys.LFP -->\n", - "<g id=\"edge4\" class=\"edge\">\n", - "<title>ephys.EphysRecording->ephys.LFP</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M369.6,-411.19C343.89,-399.04 308.34,-382.23 283.89,-370.68\"/>\n", + "<!-- ephys.ClusteringTask->ephys.Clustering -->\n", + "<g id=\"edge1\" class=\"edge\">\n", + "<title>ephys.ClusteringTask->ephys.Clustering</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M118,-338.8C118,-327.95 118,-313.87 118,-303.05\"/>\n", "</g>\n", - "<!-- ephys.EphysRecording.EphysFile -->\n", - "<g id=\"node6\" class=\"node\">\n", - "<title>ephys.EphysRecording.EphysFile</title>\n", - "<g id=\"a_node6\"><a xlink:title=\"→ ephys.EphysRecording\rfile_path \r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"484,-366 320,-366 320,-347 484,-347 484,-366\"/>\n", - "<text text-anchor=\"start\" x=\"328\" y=\"-355\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.EphysRecording.EphysFile</text>\n", + "<!-- ephys.QualityMetrics -->\n", + "<g id=\"node4\" class=\"node\">\n", + "<title>ephys.QualityMetrics</title>\n", + "<g id=\"a_node4\"><a xlink:title=\"→ ephys.CuratedClustering\r\">\n", + "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"258\" cy=\"-72.5\" rx=\"80\" ry=\"17.5\"/>\n", + "<text text-anchor=\"middle\" x=\"258\" y=\"-69.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.QualityMetrics</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.EphysRecording->ephys.EphysRecording.EphysFile -->\n", - "<g id=\"edge5\" class=\"edge\">\n", - "<title>ephys.EphysRecording->ephys.EphysRecording.EphysFile</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M402,-409.8C402,-396.08 402,-377.19 402,-366.27\"/>\n", - "</g>\n", - "<!-- ephys.ClusteringTask -->\n", - "<g id=\"node20\" class=\"node\">\n", - "<title>ephys.ClusteringTask</title>\n", - "<g id=\"a_node20\"><a xlink:title=\"→ ephys.EphysRecording\r→ ephys.ClusteringParamSet\r------------------------------\rclustering_output_dir="" \rtask_mode="load" \r\">\n", - "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"183.5,-374 52.5,-374 52.5,-339 183.5,-339 183.5,-374\"/>\n", - "<text text-anchor=\"middle\" x=\"118\" y=\"-353.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"darkgreen\">ephys.ClusteringTask</text>\n", + "<!-- ephys.QualityMetrics.Waveform -->\n", + "<g id=\"node6\" class=\"node\">\n", + "<title>ephys.QualityMetrics.Waveform</title>\n", + "<g id=\"a_node6\"><a xlink:title=\"→ ephys.QualityMetrics\r→ ephys.CuratedClustering.Unit\r------------------------------\ramplitude \rduration \rhalfwidth=null \rpt_ratio=null \rrepolarization_slope=null \rrecovery_slope=null \rspread=null \rvelocity_above=null \rvelocity_below=null \r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"450,-19 294,-19 294,0 450,0 450,-19\"/>\n", + "<text text-anchor=\"middle\" x=\"372\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.QualityMetrics.Waveform</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.EphysRecording->ephys.ClusteringTask -->\n", - "<g id=\"edge6\" class=\"edge\">\n", - "<title>ephys.EphysRecording->ephys.ClusteringTask</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M348.58,-413.52C301.82,-402.16 233.73,-385.62 183.66,-373.45\"/>\n", - "</g>\n", - "<!-- ephys.ClusteringMethod -->\n", - "<g id=\"node7\" class=\"node\">\n", - "<title>ephys.ClusteringMethod</title>\n", - "<g id=\"a_node7\"><a xlink:title=\"clustering_method \r------------------------------\rclustering_method_desc \r\">\n", - "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"128,-516 6,-516 6,-481 128,-481 128,-516\"/>\n", - "<text text-anchor=\"start\" x=\"14\" y=\"-497\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.ClusteringMethod</text>\n", - "</a>\n", - "</g>\n", + "<!-- ephys.QualityMetrics->ephys.QualityMetrics.Waveform -->\n", + "<g id=\"edge2\" class=\"edge\">\n", + "<title>ephys.QualityMetrics->ephys.QualityMetrics.Waveform</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M286.77,-56.11C308.67,-44.39 338,-28.69 355.92,-19.1\"/>\n", "</g>\n", - "<!-- ephys.ClusteringParamSet -->\n", - "<g id=\"node24\" class=\"node\">\n", - "<title>ephys.ClusteringParamSet</title>\n", - "<g id=\"a_node24\"><a xlink:title=\"paramset_idx \r------------------------------\r→ ephys.ClusteringMethod\rparamset_desc \rparam_set_hash \rparams \rUNIQUE INDEX (param_set_hash)\r\">\n", - "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"134,-445 0,-445 0,-410 134,-410 134,-445\"/>\n", - "<text text-anchor=\"start\" x=\"8\" y=\"-426\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.ClusteringParamSet</text>\n", + "<!-- ephys.QualityMetrics.Cluster -->\n", + "<g id=\"node17\" class=\"node\">\n", + "<title>ephys.QualityMetrics.Cluster</title>\n", + "<g id=\"a_node17\"><a xlink:title=\"→ ephys.QualityMetrics\r→ ephys.CuratedClustering.Unit\r------------------------------\rfiring_rate=null \rsnr=null \rpresence_ratio=null \risi_violation=null \rnumber_violation=null \ramplitude_cutoff=null \risolation_distance=null \rl_ratio=null \rd_prime=null \rnn_hit_rate=null \rnn_miss_rate=null \rsilhouette_score=null \rmax_drift=null \rcumulative_drift=null \rcontamination_rate=null \r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"275.5,-19 132.5,-19 132.5,0 275.5,0 275.5,-19\"/>\n", + "<text text-anchor=\"middle\" x=\"204\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.QualityMetrics.Cluster</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.ClusteringMethod->ephys.ClusteringParamSet -->\n", - "<g id=\"edge7\" class=\"edge\">\n", - "<title>ephys.ClusteringMethod->ephys.ClusteringParamSet</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M67,-480.8C67,-469.95 67,-455.87 67,-445.05\"/>\n", + "<!-- ephys.QualityMetrics->ephys.QualityMetrics.Cluster -->\n", + "<g id=\"edge3\" class=\"edge\">\n", + "<title>ephys.QualityMetrics->ephys.QualityMetrics.Cluster</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M243.53,-55.15C233.28,-43.58 219.94,-28.51 211.68,-19.17\"/>\n", "</g>\n", "<!-- ephys.CuratedClustering.Unit -->\n", - "<g id=\"node8\" class=\"node\">\n", + "<g id=\"node5\" class=\"node\">\n", "<title>ephys.CuratedClustering.Unit</title>\n", - "<g id=\"a_node8\"><a xlink:title=\"→ ephys.CuratedClustering\runit \r------------------------------\r→ probe.ElectrodeConfig.Electrode\r→ ephys.ClusterQualityLabel\rspike_count \rspike_times \rspike_sites \rspike_depths=null \r\">\n", + "<g id=\"a_node5\"><a xlink:title=\"→ ephys.CuratedClustering\runit \r------------------------------\r→ probe.ElectrodeConfig.Electrode\r→ ephys.ClusterQualityLabel\rspike_count \rspike_times \rspike_sites \rspike_depths=null \r\">\n", "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"502,-82 356,-82 356,-63 502,-63 502,-82\"/>\n", "<text text-anchor=\"start\" x=\"364\" y=\"-71\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.CuratedClustering.Unit</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.WaveformSet.PeakWaveform -->\n", - "<g id=\"node9\" class=\"node\">\n", - "<title>ephys.WaveformSet.PeakWaveform</title>\n", - "<g id=\"a_node9\"><a xlink:title=\"→ ephys.WaveformSet\r→ ephys.CuratedClustering.Unit\r------------------------------\rpeak_electrode_waveform \r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"643.5,-19 468.5,-19 468.5,0 643.5,0 643.5,-19\"/>\n", - "<text text-anchor=\"middle\" x=\"556\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.WaveformSet.PeakWaveform</text>\n", - "</a>\n", - "</g>\n", - "</g>\n", "<!-- ephys.CuratedClustering.Unit->ephys.WaveformSet.PeakWaveform -->\n", - "<g id=\"edge8\" class=\"edge\">\n", + "<g id=\"edge4\" class=\"edge\">\n", "<title>ephys.CuratedClustering.Unit->ephys.WaveformSet.PeakWaveform</title>\n", "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M446.93,-62.89C471.13,-51.26 514.01,-30.67 538.16,-19.07\"/>\n", "</g>\n", - "<!-- ephys.QualityMetrics.Waveform -->\n", - "<g id=\"node15\" class=\"node\">\n", - "<title>ephys.QualityMetrics.Waveform</title>\n", - "<g id=\"a_node15\"><a xlink:title=\"→ ephys.QualityMetrics\r→ ephys.CuratedClustering.Unit\r------------------------------\ramplitude \rduration \rhalfwidth=null \rpt_ratio=null \rrepolarization_slope=null \rrecovery_slope=null \rspread=null \rvelocity_above=null \rvelocity_below=null \r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"289,-19 133,-19 133,0 289,0 289,-19\"/>\n", - "<text text-anchor=\"middle\" x=\"211\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.QualityMetrics.Waveform</text>\n", - "</a>\n", - "</g>\n", - "</g>\n", "<!-- ephys.CuratedClustering.Unit->ephys.QualityMetrics.Waveform -->\n", - "<g id=\"edge9\" class=\"edge\">\n", + "<g id=\"edge5\" class=\"edge\">\n", "<title>ephys.CuratedClustering.Unit->ephys.QualityMetrics.Waveform</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M398.23,-62.89C356.68,-51.26 283.08,-30.67 241.62,-19.07\"/>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M420.83,-62.76C410,-51.16 390.98,-30.81 380.15,-19.22\"/>\n", "</g>\n", "<!-- ephys.WaveformSet.Waveform -->\n", - "<g id=\"node16\" class=\"node\">\n", + "<g id=\"node7\" class=\"node\">\n", "<title>ephys.WaveformSet.Waveform</title>\n", - "<g id=\"a_node16\"><a xlink:title=\"→ ephys.WaveformSet\r→ ephys.CuratedClustering.Unit\r→ probe.ElectrodeConfig.Electrode\r------------------------------\rwaveform_mean \rwaveforms=null \r\">\n", + "<g id=\"a_node7\"><a xlink:title=\"→ ephys.WaveformSet\r→ ephys.CuratedClustering.Unit\r→ probe.ElectrodeConfig.Electrode\r------------------------------\rwaveform_mean \rwaveforms=null \r\">\n", "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"814,-19 662,-19 662,0 814,0 814,-19\"/>\n", "<text text-anchor=\"middle\" x=\"738\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.WaveformSet.Waveform</text>\n", "</a>\n", "</g>\n", "</g>\n", "<!-- ephys.CuratedClustering.Unit->ephys.WaveformSet.Waveform -->\n", - "<g id=\"edge10\" class=\"edge\">\n", + "<g id=\"edge6\" class=\"edge\">\n", "<title>ephys.CuratedClustering.Unit->ephys.WaveformSet.Waveform</title>\n", "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M472.08,-62.92C484.92,-60.37 499.03,-57.57 512,-55 575.55,-42.43 649.17,-27.95 694.67,-19.01\"/>\n", "</g>\n", - "<!-- ephys.QualityMetrics.Cluster -->\n", - "<g id=\"node18\" class=\"node\">\n", - "<title>ephys.QualityMetrics.Cluster</title>\n", - "<g id=\"a_node18\"><a xlink:title=\"→ ephys.QualityMetrics\r→ ephys.CuratedClustering.Unit\r------------------------------\rfiring_rate=null \rsnr=null \rpresence_ratio=null \risi_violation=null \rnumber_violation=null \ramplitude_cutoff=null \risolation_distance=null \rl_ratio=null \rd_prime=null \rnn_hit_rate=null \rnn_miss_rate=null \rsilhouette_score=null \rmax_drift=null \rcumulative_drift=null \rcontamination_rate=null \r\">\n", - "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"450.5,-19 307.5,-19 307.5,0 450.5,0 450.5,-19\"/>\n", - "<text text-anchor=\"middle\" x=\"379\" y=\"-7\" font-family=\"arial\" font-size=\"10.00\">ephys.QualityMetrics.Cluster</text>\n", + "<!-- ephys.CuratedClustering.Unit->ephys.QualityMetrics.Cluster -->\n", + "<g id=\"edge7\" class=\"edge\">\n", + "<title>ephys.CuratedClustering.Unit->ephys.QualityMetrics.Cluster</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M397.24,-62.89C354.36,-51.26 278.4,-30.67 235.6,-19.07\"/>\n", + "</g>\n", + "<!-- ephys.LFP -->\n", + "<g id=\"node8\" class=\"node\">\n", + "<title>ephys.LFP</title>\n", + "<g id=\"a_node8\"><a xlink:title=\"→ ephys.EphysRecording\r------------------------------\rlfp_sampling_rate \rlfp_time_stamps \rlfp_mean \r\">\n", + "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"256\" cy=\"-356.5\" rx=\"46.5\" ry=\"17.5\"/>\n", + "<text text-anchor=\"middle\" x=\"256\" y=\"-353.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.LFP</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.CuratedClustering.Unit->ephys.QualityMetrics.Cluster -->\n", - "<g id=\"edge11\" class=\"edge\">\n", - "<title>ephys.CuratedClustering.Unit->ephys.QualityMetrics.Cluster</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M421.84,-62.76C412.33,-51.16 395.65,-30.81 386.15,-19.22\"/>\n", + "<!-- ephys.LFP->ephys.LFP.Electrode -->\n", + "<g id=\"edge8\" class=\"edge\">\n", + "<title>ephys.LFP->ephys.LFP.Electrode</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M256,-338.8C256,-325.08 256,-306.19 256,-295.27\"/>\n", "</g>\n", - "<!-- probe.Probe -->\n", - "<g id=\"node10\" class=\"node\">\n", - "<title>probe.Probe</title>\n", - "<g id=\"a_node10\"><a xlink:title=\"probe \r------------------------------\r→ probe.ProbeType\rprobe_comment="" \r\">\n", - "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"417.5,-587 348.5,-587 348.5,-552 417.5,-552 417.5,-587\"/>\n", - "<text text-anchor=\"start\" x=\"356.5\" y=\"-568\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.Probe</text>\n", + "<!-- ephys.Curation -->\n", + "<g id=\"node9\" class=\"node\">\n", + "<title>ephys.Curation</title>\n", + "<g id=\"a_node9\"><a xlink:title=\"→ ephys.Clustering\rcuration_id \r------------------------------\rcuration_time \rcuration_output_dir \rquality_control \rmanual_curation \rcuration_note="" \r\">\n", + "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"323,-232 225,-232 225,-197 323,-197 323,-232\"/>\n", + "<text text-anchor=\"start\" x=\"233\" y=\"-212.4\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"12.00\" fill=\"darkgreen\">ephys.Curation</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.ProbeInsertion -->\n", - "<g id=\"node21\" class=\"node\">\n", - "<title>ephys.ProbeInsertion</title>\n", - "<g id=\"a_node21\"><a xlink:title=\"→ session.Session\rinsertion_number \r------------------------------\r→ probe.Probe\r\">\n", - "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"328,-516 198,-516 198,-481 328,-481 328,-516\"/>\n", - "<text text-anchor=\"start\" x=\"206\" y=\"-496.4\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"12.00\" fill=\"darkgreen\">ephys.ProbeInsertion</text>\n", + "<!-- ephys.CuratedClustering -->\n", + "<g id=\"node16\" class=\"node\">\n", + "<title>ephys.CuratedClustering</title>\n", + "<g id=\"a_node16\"><a xlink:title=\"→ ephys.Curation\r\">\n", + "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"429\" cy=\"-143.5\" rx=\"93.25\" ry=\"17.5\"/>\n", + "<text text-anchor=\"middle\" x=\"429\" y=\"-140.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.CuratedClustering</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- probe.Probe->ephys.ProbeInsertion -->\n", - "<g id=\"edge12\" class=\"edge\">\n", - "<title>probe.Probe->ephys.ProbeInsertion</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M354.26,-551.97C335.4,-541.13 310.82,-527 291.92,-516.13\"/>\n", + "<!-- ephys.Curation->ephys.CuratedClustering -->\n", + "<g id=\"edge9\" class=\"edge\">\n", + "<title>ephys.Curation->ephys.CuratedClustering</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M311.13,-196.97C336.47,-185.69 369.81,-170.85 394.56,-159.83\"/>\n", "</g>\n", - "<!-- ephys.WaveformSet -->\n", + "<!-- ephys.Clustering->ephys.Curation -->\n", + "<g id=\"edge10\" class=\"edge\">\n", + "<title>ephys.Clustering->ephys.Curation</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M150.7,-270.04C175.81,-258.93 210.5,-243.59 236.68,-232\"/>\n", + "</g>\n", + "<!-- ephys.AcquisitionSoftware -->\n", "<g id=\"node11\" class=\"node\">\n", - "<title>ephys.WaveformSet</title>\n", - "<g id=\"a_node11\"><a xlink:title=\"→ ephys.CuratedClustering\r\">\n", - "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"598\" cy=\"-72.5\" rx=\"77.5\" ry=\"17.5\"/>\n", - "<text text-anchor=\"middle\" x=\"598\" y=\"-69.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.WaveformSet</text>\n", + "<title>ephys.AcquisitionSoftware</title>\n", + "<g id=\"a_node11\"><a xlink:title=\"acq_software \r\">\n", + "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"479.5,-516 346.5,-516 346.5,-481 479.5,-481 479.5,-516\"/>\n", + "<text text-anchor=\"start\" x=\"354.5\" y=\"-497\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.AcquisitionSoftware</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.WaveformSet->ephys.WaveformSet.PeakWaveform -->\n", - "<g id=\"edge13\" class=\"edge\">\n", - "<title>ephys.WaveformSet->ephys.WaveformSet.PeakWaveform</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M586.74,-55.15C578.77,-43.58 568.4,-28.51 561.97,-19.17\"/>\n", + "<!-- ephys.EphysRecording -->\n", + "<g id=\"node14\" class=\"node\">\n", + "<title>ephys.EphysRecording</title>\n", + "<g id=\"a_node14\"><a xlink:title=\"→ ephys.ProbeInsertion\r------------------------------\r→ probe.ElectrodeConfig\r→ ephys.AcquisitionSoftware\rsampling_rate \rrecording_datetime \rrecording_duration \r\">\n", + "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"402\" cy=\"-427.5\" rx=\"88.25\" ry=\"17.5\"/>\n", + "<text text-anchor=\"middle\" x=\"402\" y=\"-424.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.EphysRecording</text>\n", + "</a>\n", "</g>\n", - "<!-- ephys.WaveformSet->ephys.WaveformSet.Waveform -->\n", - "<g id=\"edge14\" class=\"edge\">\n", - "<title>ephys.WaveformSet->ephys.WaveformSet.Waveform</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M631.89,-56.73C658.92,-44.96 695.84,-28.87 718.24,-19.11\"/>\n", "</g>\n", - "<!-- ephys.InsertionLocation -->\n", + "<!-- ephys.AcquisitionSoftware->ephys.EphysRecording -->\n", + "<g id=\"edge11\" class=\"edge\">\n", + "<title>ephys.AcquisitionSoftware->ephys.EphysRecording</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M410.34,-480.8C408.61,-469.95 406.36,-455.87 404.64,-445.05\"/>\n", + "</g>\n", + "<!-- ephys.ProbeInsertion -->\n", "<g id=\"node12\" class=\"node\">\n", + "<title>ephys.ProbeInsertion</title>\n", + "<g id=\"a_node12\"><a xlink:title=\"→ session.Session\rinsertion_number \r------------------------------\r→ probe.Probe\r\">\n", + "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"328,-516 198,-516 198,-481 328,-481 328,-516\"/>\n", + "<text text-anchor=\"start\" x=\"206\" y=\"-496.4\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"12.00\" fill=\"darkgreen\">ephys.ProbeInsertion</text>\n", + "</a>\n", + "</g>\n", + "</g>\n", + "<!-- ephys.ProbeInsertion->ephys.EphysRecording -->\n", + "<g id=\"edge12\" class=\"edge\">\n", + "<title>ephys.ProbeInsertion->ephys.EphysRecording</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M296.29,-480.97C318.94,-469.73 348.71,-454.95 370.88,-443.95\"/>\n", + "</g>\n", + "<!-- ephys.InsertionLocation -->\n", + "<g id=\"node22\" class=\"node\">\n", "<title>ephys.InsertionLocation</title>\n", - "<g id=\"a_node12\"><a xlink:title=\"→ ephys.ProbeInsertion\r------------------------------\r→ `neuro_lab`.`#skull_reference`\rap_location \rml_location \rdepth \rtheta=null \rphi=null \rbeta=null \r\">\n", + "<g id=\"a_node22\"><a xlink:title=\"→ ephys.ProbeInsertion\r------------------------------\r→ `neuro_lab`.`#skull_reference`\rap_location \rml_location \rdepth \rtheta=null \rphi=null \rbeta=null \r\">\n", "<polygon fill=\"#00ff00\" fill-opacity=\"0.188235\" stroke=\"#00ff00\" stroke-opacity=\"0.188235\" points=\"295.5,-445 152.5,-445 152.5,-410 295.5,-410 295.5,-445\"/>\n", "<text text-anchor=\"middle\" x=\"224\" y=\"-424.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"darkgreen\">ephys.InsertionLocation</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.Clustering -->\n", + "<!-- ephys.ProbeInsertion->ephys.InsertionLocation -->\n", + "<g id=\"edge13\" class=\"edge\">\n", + "<title>ephys.ProbeInsertion->ephys.InsertionLocation</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M253.56,-480.8C247.43,-469.95 239.47,-455.87 233.35,-445.05\"/>\n", + "</g>\n", + "<!-- probe.ElectrodeConfig.Electrode -->\n", "<g id=\"node13\" class=\"node\">\n", - "<title>ephys.Clustering</title>\n", - "<g id=\"a_node13\"><a xlink:title=\"→ ephys.ClusteringTask\r------------------------------\rclustering_time \rpackage_version="" \r\">\n", - "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"118\" cy=\"-285.5\" rx=\"66.75\" ry=\"17.5\"/>\n", - "<text text-anchor=\"middle\" x=\"118\" y=\"-282.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.Clustering</text>\n", + "<title>probe.ElectrodeConfig.Electrode</title>\n", + "<g id=\"a_node13\"><a xlink:title=\"→ probe.ElectrodeConfig\r→ probe.ProbeType.Electrode\r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"666,-437 508,-437 508,-418 666,-418 666,-437\"/>\n", + "<text text-anchor=\"middle\" x=\"587\" y=\"-425\" font-family=\"arial\" font-size=\"10.00\">probe.ElectrodeConfig.Electrode</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.Clustering->ephys.Curation -->\n", + "<!-- probe.ElectrodeConfig.Electrode->ephys.LFP.Electrode -->\n", + "<g id=\"edge14\" class=\"edge\">\n", + "<title>probe.ElectrodeConfig.Electrode->ephys.LFP.Electrode</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M578.88,-417.86C559.94,-397.9 512.93,-349.47 493,-339 434.8,-308.42 359.53,-295.61 309.6,-290.28\"/>\n", + "</g>\n", + "<!-- probe.ElectrodeConfig.Electrode->ephys.CuratedClustering.Unit -->\n", "<g id=\"edge15\" class=\"edge\">\n", - "<title>ephys.Clustering->ephys.Curation</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M150.49,-270.04C175.44,-258.93 209.9,-243.59 235.92,-232\"/>\n", + "<title>probe.ElectrodeConfig.Electrode->ephys.CuratedClustering.Unit</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M583.04,-417.87C573.5,-396.24 550,-337.79 550,-286.5 550,-286.5 550,-286.5 550,-213.5 550,-173.7 555.23,-157.57 531,-126 513.78,-103.57 484.28,-89.87 461.42,-82.11\"/>\n", "</g>\n", - "<!-- ephys.ClusterQualityLabel -->\n", - "<g id=\"node14\" class=\"node\">\n", - "<title>ephys.ClusterQualityLabel</title>\n", - "<g id=\"a_node14\"><a xlink:title=\"cluster_quality_label \r------------------------------\rcluster_quality_description \r\">\n", - "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"709.5,-161 578.5,-161 578.5,-126 709.5,-126 709.5,-161\"/>\n", - "<text text-anchor=\"start\" x=\"586.5\" y=\"-142\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.ClusterQualityLabel</text>\n", - "</a>\n", + "<!-- probe.ElectrodeConfig.Electrode->ephys.WaveformSet.Waveform -->\n", + "<g id=\"edge16\" class=\"edge\">\n", + "<title>probe.ElectrodeConfig.Electrode->ephys.WaveformSet.Waveform</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M609.61,-417.91C651.73,-400.26 738,-355.67 738,-286.5 738,-286.5 738,-286.5 738,-142.5 738,-95.98 738,-40.24 738,-19.15\"/>\n", "</g>\n", + "<!-- ephys.EphysRecording->ephys.ClusteringTask -->\n", + "<g id=\"edge17\" class=\"edge\">\n", + "<title>ephys.EphysRecording->ephys.ClusteringTask</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M348.58,-413.52C301.82,-402.16 233.73,-385.62 183.66,-373.45\"/>\n", "</g>\n", - "<!-- ephys.ClusterQualityLabel->ephys.CuratedClustering.Unit -->\n", - "<g id=\"edge16\" class=\"edge\">\n", - "<title>ephys.ClusterQualityLabel->ephys.CuratedClustering.Unit</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M592.5,-125.97C549.39,-112.14 489.62,-92.95 455.57,-82.03\"/>\n", + "<!-- ephys.EphysRecording->ephys.LFP -->\n", + "<g id=\"edge18\" class=\"edge\">\n", + "<title>ephys.EphysRecording->ephys.LFP</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M369.6,-411.19C343.89,-399.04 308.34,-382.23 283.89,-370.68\"/>\n", "</g>\n", - "<!-- probe.ElectrodeConfig -->\n", - "<g id=\"node17\" class=\"node\">\n", - "<title>probe.ElectrodeConfig</title>\n", - "<g id=\"a_node17\"><a xlink:title=\"electrode_config_hash \r------------------------------\r→ probe.ProbeType\relectrode_config_name \r\">\n", - "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"632.5,-516 519.5,-516 519.5,-481 632.5,-481 632.5,-516\"/>\n", - "<text text-anchor=\"start\" x=\"527.5\" y=\"-497\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.ElectrodeConfig</text>\n", + "<!-- ephys.EphysRecording.EphysFile -->\n", + "<g id=\"node19\" class=\"node\">\n", + "<title>ephys.EphysRecording.EphysFile</title>\n", + "<g id=\"a_node19\"><a xlink:title=\"→ ephys.EphysRecording\rfile_path \r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"484,-366 320,-366 320,-347 484,-347 484,-366\"/>\n", + "<text text-anchor=\"start\" x=\"328\" y=\"-355\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.EphysRecording.EphysFile</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- probe.ElectrodeConfig->ephys.EphysRecording -->\n", - "<g id=\"edge17\" class=\"edge\">\n", - "<title>probe.ElectrodeConfig->ephys.EphysRecording</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M534.32,-480.97C505.47,-469.53 467.38,-454.43 439.49,-443.36\"/>\n", + "<!-- ephys.EphysRecording->ephys.EphysRecording.EphysFile -->\n", + "<g id=\"edge19\" class=\"edge\">\n", + "<title>ephys.EphysRecording->ephys.EphysRecording.EphysFile</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M402,-409.8C402,-396.08 402,-377.19 402,-366.27\"/>\n", "</g>\n", - "<!-- probe.ElectrodeConfig->probe.ElectrodeConfig.Electrode -->\n", - "<g id=\"edge18\" class=\"edge\">\n", - "<title>probe.ElectrodeConfig->probe.ElectrodeConfig.Electrode</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M578.66,-480.8C580.85,-467.08 583.86,-448.19 585.6,-437.27\"/>\n", + "<!-- ephys.ClusteringMethod -->\n", + "<g id=\"node15\" class=\"node\">\n", + "<title>ephys.ClusteringMethod</title>\n", + "<g id=\"a_node15\"><a xlink:title=\"clustering_method \r------------------------------\rclustering_method_desc \r\">\n", + "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"128,-516 6,-516 6,-481 128,-481 128,-516\"/>\n", + "<text text-anchor=\"start\" x=\"14\" y=\"-497\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.ClusteringMethod</text>\n", + "</a>\n", + "</g>\n", + "</g>\n", + "<!-- ephys.ClusteringParamSet -->\n", + "<g id=\"node18\" class=\"node\">\n", + "<title>ephys.ClusteringParamSet</title>\n", + "<g id=\"a_node18\"><a xlink:title=\"paramset_idx \r------------------------------\r→ ephys.ClusteringMethod\rparamset_desc \rparam_set_hash \rparams \rUNIQUE INDEX (param_set_hash)\r\">\n", + "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"134,-445 0,-445 0,-410 134,-410 134,-445\"/>\n", + "<text text-anchor=\"start\" x=\"8\" y=\"-426\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.ClusteringParamSet</text>\n", + "</a>\n", "</g>\n", - "<!-- probe.ElectrodeConfig.Electrode->ephys.LFP.Electrode -->\n", - "<g id=\"edge19\" class=\"edge\">\n", - "<title>probe.ElectrodeConfig.Electrode->ephys.LFP.Electrode</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M578.88,-417.86C559.94,-397.9 512.93,-349.47 493,-339 434.8,-308.42 359.53,-295.61 309.6,-290.28\"/>\n", "</g>\n", - "<!-- probe.ElectrodeConfig.Electrode->ephys.CuratedClustering.Unit -->\n", + "<!-- ephys.ClusteringMethod->ephys.ClusteringParamSet -->\n", "<g id=\"edge20\" class=\"edge\">\n", - "<title>probe.ElectrodeConfig.Electrode->ephys.CuratedClustering.Unit</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M583.04,-417.87C573.5,-396.24 550,-337.79 550,-286.5 550,-286.5 550,-286.5 550,-213.5 550,-173.7 555.23,-157.57 531,-126 513.78,-103.57 484.28,-89.87 461.42,-82.11\"/>\n", + "<title>ephys.ClusteringMethod->ephys.ClusteringParamSet</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M67,-480.8C67,-469.95 67,-455.87 67,-445.05\"/>\n", "</g>\n", - "<!-- probe.ElectrodeConfig.Electrode->ephys.WaveformSet.Waveform -->\n", + "<!-- ephys.CuratedClustering->ephys.QualityMetrics -->\n", "<g id=\"edge21\" class=\"edge\">\n", - "<title>probe.ElectrodeConfig.Electrode->ephys.WaveformSet.Waveform</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M609.61,-417.91C651.73,-400.26 738,-355.67 738,-286.5 738,-286.5 738,-286.5 738,-142.5 738,-95.98 738,-40.24 738,-19.15\"/>\n", + "<title>ephys.CuratedClustering->ephys.QualityMetrics</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M391.47,-127.36C362.57,-115.69 322.85,-99.67 294.27,-88.13\"/>\n", "</g>\n", - "<!-- ephys.ClusteringTask->ephys.Clustering -->\n", + "<!-- ephys.CuratedClustering->ephys.CuratedClustering.Unit -->\n", "<g id=\"edge22\" class=\"edge\">\n", - "<title>ephys.ClusteringTask->ephys.Clustering</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M118,-338.8C118,-327.95 118,-313.87 118,-303.05\"/>\n", + "<title>ephys.CuratedClustering->ephys.CuratedClustering.Unit</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M429,-125.8C429,-112.08 429,-93.19 429,-82.27\"/>\n", "</g>\n", - "<!-- ephys.ProbeInsertion->ephys.EphysRecording -->\n", + "<!-- ephys.WaveformSet -->\n", + "<g id=\"node21\" class=\"node\">\n", + "<title>ephys.WaveformSet</title>\n", + "<g id=\"a_node21\"><a xlink:title=\"→ ephys.CuratedClustering\r\">\n", + "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"598\" cy=\"-72.5\" rx=\"77.5\" ry=\"17.5\"/>\n", + "<text text-anchor=\"middle\" x=\"598\" y=\"-69.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.WaveformSet</text>\n", + "</a>\n", + "</g>\n", + "</g>\n", + "<!-- ephys.CuratedClustering->ephys.WaveformSet -->\n", "<g id=\"edge23\" class=\"edge\">\n", - "<title>ephys.ProbeInsertion->ephys.EphysRecording</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M296.29,-480.97C318.94,-469.73 348.71,-454.95 370.88,-443.95\"/>\n", + "<title>ephys.CuratedClustering->ephys.WaveformSet</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M466.09,-127.36C494.65,-115.69 533.91,-99.67 562.16,-88.13\"/>\n", "</g>\n", - "<!-- ephys.ProbeInsertion->ephys.InsertionLocation -->\n", + "<!-- ephys.ClusteringParamSet->ephys.ClusteringTask -->\n", "<g id=\"edge24\" class=\"edge\">\n", - "<title>ephys.ProbeInsertion->ephys.InsertionLocation</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M253.56,-480.8C247.43,-469.95 239.47,-455.87 233.35,-445.05\"/>\n", + "<title>ephys.ClusteringParamSet->ephys.ClusteringTask</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M79.35,-409.8C87.36,-398.95 97.77,-384.87 105.77,-374.05\"/>\n", "</g>\n", - "<!-- ephys.QualityMetrics -->\n", - "<g id=\"node22\" class=\"node\">\n", - "<title>ephys.QualityMetrics</title>\n", - "<g id=\"a_node22\"><a xlink:title=\"→ ephys.CuratedClustering\r\">\n", - "<ellipse fill=\"#00007f\" fill-opacity=\"0.250980\" stroke=\"#00007f\" stroke-opacity=\"0.250980\" cx=\"258\" cy=\"-72.5\" rx=\"80\" ry=\"17.5\"/>\n", - "<text text-anchor=\"middle\" x=\"258\" y=\"-69.4\" font-family=\"arial\" font-size=\"12.00\" fill=\"#00007f\" fill-opacity=\"0.627451\">ephys.QualityMetrics</text>\n", + "<!-- probe.ProbeType.Electrode -->\n", + "<g id=\"node20\" class=\"node\">\n", + "<title>probe.ProbeType.Electrode</title>\n", + "<g id=\"a_node20\"><a xlink:title=\"→ probe.ProbeType\relectrode \r------------------------------\rshank \rshank_col \rshank_row \rx_coord=null \ry_coord=null \r\">\n", + "<polygon fill=\"transparent\" stroke=\"transparent\" points=\"728,-579 594,-579 594,-560 728,-560 728,-579\"/>\n", + "<text text-anchor=\"start\" x=\"602\" y=\"-568\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.ProbeType.Electrode</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.QualityMetrics->ephys.QualityMetrics.Waveform -->\n", + "<!-- probe.ProbeType.Electrode->probe.ElectrodeConfig.Electrode -->\n", "<g id=\"edge25\" class=\"edge\">\n", - "<title>ephys.QualityMetrics->ephys.QualityMetrics.Waveform</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M245.4,-55.15C236.49,-43.58 224.87,-28.51 217.68,-19.17\"/>\n", + "<title>probe.ProbeType.Electrode->probe.ElectrodeConfig.Electrode</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M660.77,-559.71C659.99,-543.23 656.6,-507.03 642,-481 631.67,-462.58 612.77,-446.68 600.04,-437.34\"/>\n", "</g>\n", - "<!-- ephys.QualityMetrics->ephys.QualityMetrics.Cluster -->\n", + "<!-- ephys.WaveformSet->ephys.WaveformSet.PeakWaveform -->\n", "<g id=\"edge26\" class=\"edge\">\n", - "<title>ephys.QualityMetrics->ephys.QualityMetrics.Cluster</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M288.22,-56.26C311.46,-44.55 342.73,-28.78 361.85,-19.15\"/>\n", + "<title>ephys.WaveformSet->ephys.WaveformSet.PeakWaveform</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M586.74,-55.15C578.77,-43.58 568.4,-28.51 561.97,-19.17\"/>\n", "</g>\n", - "<!-- ephys.AcquisitionSoftware -->\n", + "<!-- ephys.WaveformSet->ephys.WaveformSet.Waveform -->\n", + "<g id=\"edge27\" class=\"edge\">\n", + "<title>ephys.WaveformSet->ephys.WaveformSet.Waveform</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M631.89,-56.73C658.92,-44.96 695.84,-28.87 718.24,-19.11\"/>\n", + "</g>\n", + "<!-- probe.Probe -->\n", "<g id=\"node23\" class=\"node\">\n", - "<title>ephys.AcquisitionSoftware</title>\n", - "<g id=\"a_node23\"><a xlink:title=\"acq_software \r\">\n", - "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"479.5,-516 346.5,-516 346.5,-481 479.5,-481 479.5,-516\"/>\n", - "<text text-anchor=\"start\" x=\"354.5\" y=\"-497\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.AcquisitionSoftware</text>\n", + "<title>probe.Probe</title>\n", + "<g id=\"a_node23\"><a xlink:title=\"probe \r------------------------------\r→ probe.ProbeType\rprobe_comment="" \r\">\n", + "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"417.5,-587 348.5,-587 348.5,-552 417.5,-552 417.5,-587\"/>\n", + "<text text-anchor=\"start\" x=\"356.5\" y=\"-568\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.Probe</text>\n", "</a>\n", "</g>\n", "</g>\n", - "<!-- ephys.AcquisitionSoftware->ephys.EphysRecording -->\n", - "<g id=\"edge27\" class=\"edge\">\n", - "<title>ephys.AcquisitionSoftware->ephys.EphysRecording</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M410.34,-480.8C408.61,-469.95 406.36,-455.87 404.64,-445.05\"/>\n", - "</g>\n", - "<!-- ephys.ClusteringParamSet->ephys.ClusteringTask -->\n", + "<!-- probe.Probe->ephys.ProbeInsertion -->\n", "<g id=\"edge28\" class=\"edge\">\n", - "<title>ephys.ClusteringParamSet->ephys.ClusteringTask</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M79.35,-409.8C87.36,-398.95 97.77,-384.87 105.77,-374.05\"/>\n", + "<title>probe.Probe->ephys.ProbeInsertion</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M354.26,-551.97C335.4,-541.13 310.82,-527 291.92,-516.13\"/>\n", "</g>\n", "<!-- probe.ProbeType -->\n", - "<g id=\"node25\" class=\"node\">\n", + "<g id=\"node24\" class=\"node\">\n", "<title>probe.ProbeType</title>\n", - "<g id=\"a_node25\"><a xlink:title=\"probe_type \r\">\n", + "<g id=\"a_node24\"><a xlink:title=\"probe_type \r\">\n", "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"706,-658 616,-658 616,-623 706,-623 706,-658\"/>\n", "<text text-anchor=\"start\" x=\"624\" y=\"-639\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.ProbeType</text>\n", "</a>\n", @@ -1050,34 +1040,52 @@ "<title>probe.ProbeType->probe.Probe</title>\n", "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M615.72,-628.26C560.33,-614.51 467.78,-591.54 417.71,-579.11\"/>\n", "</g>\n", + "<!-- probe.ElectrodeConfig -->\n", + "<g id=\"node26\" class=\"node\">\n", + "<title>probe.ElectrodeConfig</title>\n", + "<g id=\"a_node26\"><a xlink:title=\"electrode_config_hash \r------------------------------\r→ probe.ProbeType\relectrode_config_name \r\">\n", + "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"632.5,-516 519.5,-516 519.5,-481 632.5,-481 632.5,-516\"/>\n", + "<text text-anchor=\"start\" x=\"527.5\" y=\"-497\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">probe.ElectrodeConfig</text>\n", + "</a>\n", + "</g>\n", + "</g>\n", "<!-- probe.ProbeType->probe.ElectrodeConfig -->\n", "<g id=\"edge31\" class=\"edge\">\n", "<title>probe.ProbeType->probe.ElectrodeConfig</title>\n", "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M624.2,-622.79C609.56,-614.22 594.07,-602.32 585,-587 572.09,-565.18 572.14,-534.87 573.77,-516.25\"/>\n", "</g>\n", - "<!-- ephys.CuratedClustering->ephys.CuratedClustering.Unit -->\n", + "<!-- ephys.ClusterQualityLabel -->\n", + "<g id=\"node25\" class=\"node\">\n", + "<title>ephys.ClusterQualityLabel</title>\n", + "<g id=\"a_node25\"><a xlink:title=\"cluster_quality_label \r------------------------------\rcluster_quality_description \r\">\n", + "<polygon fill=\"#000000\" fill-opacity=\"0.125490\" stroke=\"transparent\" points=\"709.5,-161 578.5,-161 578.5,-126 709.5,-126 709.5,-161\"/>\n", + "<text text-anchor=\"start\" x=\"586.5\" y=\"-142\" font-family=\"arial\" text-decoration=\"underline\" font-size=\"10.00\">ephys.ClusterQualityLabel</text>\n", + "</a>\n", + "</g>\n", + "</g>\n", + "<!-- ephys.ClusterQualityLabel->ephys.CuratedClustering.Unit -->\n", "<g id=\"edge32\" class=\"edge\">\n", - "<title>ephys.CuratedClustering->ephys.CuratedClustering.Unit</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M429,-125.8C429,-112.08 429,-93.19 429,-82.27\"/>\n", + "<title>ephys.ClusterQualityLabel->ephys.CuratedClustering.Unit</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M592.5,-125.97C549.39,-112.14 489.62,-92.95 455.57,-82.03\"/>\n", "</g>\n", - "<!-- ephys.CuratedClustering->ephys.WaveformSet -->\n", + "<!-- probe.ElectrodeConfig->probe.ElectrodeConfig.Electrode -->\n", "<g id=\"edge33\" class=\"edge\">\n", - "<title>ephys.CuratedClustering->ephys.WaveformSet</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M466.09,-127.36C494.65,-115.69 533.91,-99.67 562.16,-88.13\"/>\n", + "<title>probe.ElectrodeConfig->probe.ElectrodeConfig.Electrode</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-opacity=\"0.250980\" d=\"M578.66,-480.8C580.85,-467.08 583.86,-448.19 585.6,-437.27\"/>\n", "</g>\n", - "<!-- ephys.CuratedClustering->ephys.QualityMetrics -->\n", + "<!-- probe.ElectrodeConfig->ephys.EphysRecording -->\n", "<g id=\"edge34\" class=\"edge\">\n", - "<title>ephys.CuratedClustering->ephys.QualityMetrics</title>\n", - "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" stroke-opacity=\"0.250980\" d=\"M391.47,-127.36C362.57,-115.69 322.85,-99.67 294.27,-88.13\"/>\n", + "<title>probe.ElectrodeConfig->ephys.EphysRecording</title>\n", + "<path fill=\"none\" stroke=\"#000000\" stroke-width=\"0.75\" stroke-dasharray=\"5,2\" stroke-opacity=\"0.250980\" d=\"M534.32,-480.97C505.47,-469.53 467.38,-454.43 439.49,-443.36\"/>\n", "</g>\n", "</g>\n", "</svg>" ], "text/plain": [ - "<datajoint.diagram.Diagram at 0x7f4c855c0e80>" + "<datajoint.diagram.Diagram at 0x7fea2805f160>" ] }, - "execution_count": 8, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -1112,7 +1120,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -1202,7 +1210,7 @@ " (Total: 0)" ] }, - "execution_count": 9, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -1213,7 +1221,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -1236,7 +1244,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -1251,7 +1259,7 @@ "subject_description=\"\" : varchar(1024) # " ] }, - "execution_count": 11, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -1272,7 +1280,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -1366,7 +1374,7 @@ " (Total: 1)" ] }, - "execution_count": 12, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -1388,7 +1396,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -1407,7 +1415,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -1418,7 +1426,7 @@ "session_datetime : datetime # " ] }, - "execution_count": 14, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -1445,7 +1453,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -1454,7 +1462,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -1536,7 +1544,7 @@ " (Total: 1)" ] }, - "execution_count": 16, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -1562,7 +1570,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -1648,7 +1656,7 @@ " (Total: 1)" ] }, - "execution_count": 17, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -1673,7 +1681,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -1759,7 +1767,7 @@ " (Total: 1)" ] }, - "execution_count": 18, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -1782,7 +1790,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -1804,7 +1812,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -1818,7 +1826,7 @@ "probe : varchar(32) # unique identifier for this model of probe (e.g. serial number)" ] }, - "execution_count": 20, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -1829,7 +1837,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -1919,7 +1927,7 @@ " (Total: 1)" ] }, - "execution_count": 21, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1944,7 +1952,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -2034,7 +2042,7 @@ " (Total: 1)" ] }, - "execution_count": 22, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -2052,7 +2060,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -2151,7 +2159,7 @@ " (Total: 0)" ] }, - "execution_count": 23, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -2162,7 +2170,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -2249,7 +2257,7 @@ " (Total: 0)" ] }, - "execution_count": 24, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -2260,14 +2268,14 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "EphysRecording: 100%|██████████| 1/1 [00:01<00:00, 1.46s/it]\n" + "EphysRecording: 100%|██████████| 1/1 [00:01<00:00, 1.51s/it]\n" ] } ], @@ -2285,7 +2293,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -2391,7 +2399,7 @@ " (Total: 1)" ] }, - "execution_count": 26, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -2402,7 +2410,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -2492,7 +2500,7 @@ " (Total: 1)" ] }, - "execution_count": 27, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -2524,7 +2532,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -2539,7 +2547,7 @@ "params : longblob # dictionary of all applicable parameters" ] }, - "execution_count": 28, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -2550,7 +2558,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -2644,7 +2652,7 @@ " (Total: 1)" ] }, - "execution_count": 29, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -2699,7 +2707,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -2715,7 +2723,7 @@ "task_mode=\"load\" : enum('load','trigger') # 'load': load computed analysis results, 'trigger': trigger computation" ] }, - "execution_count": 30, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -2746,7 +2754,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ @@ -2763,14 +2771,14 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "Clustering: 100%|██████████| 1/1 [00:00<00:00, 2.69it/s]\n" + "Clustering: 100%|██████████| 1/1 [00:00<00:00, 2.71it/s]\n" ] } ], @@ -2797,7 +2805,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 30, "metadata": {}, "outputs": [ { @@ -2817,7 +2825,7 @@ "curation_note=\"\" : varchar(2000) # " ] }, - "execution_count": 33, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -2828,7 +2836,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -2847,18 +2855,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 32, "metadata": {}, "outputs": [ { - "ename": "NameError", - "evalue": "name 'ephys' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[1], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m ephys\u001b[39m.\u001b[39mCuratedClustering\u001b[39m.\u001b[39mpopulate(session_key, display_progress\u001b[39m=\u001b[39m\u001b[39mTrue\u001b[39;00m)\n\u001b[1;32m 2\u001b[0m ephys\u001b[39m.\u001b[39mLFP\u001b[39m.\u001b[39mpopulate(session_key, display_progress\u001b[39m=\u001b[39m\u001b[39mTrue\u001b[39;00m)\n\u001b[1;32m 3\u001b[0m ephys\u001b[39m.\u001b[39mWaveformSet\u001b[39m.\u001b[39mpopulate(session_key, display_progress\u001b[39m=\u001b[39m\u001b[39mTrue\u001b[39;00m)\n", - "\u001b[0;31mNameError\u001b[0m: name 'ephys' is not defined" + "name": "stderr", + "output_type": "stream", + "text": [ + "CuratedClustering: 0%| | 0/1 [00:00<?, ?it/s]/workspaces/element-array-ephys/element_array_ephys/readers/kilosort.py:172: RuntimeWarning: invalid value encountered in divide\n", + " self._data[\"spike_depths\"] = np.sum(\n", + "CuratedClustering: 100%|██████████| 1/1 [00:20<00:00, 20.09s/it]\n", + "LFP: 100%|██████████| 1/1 [00:32<00:00, 32.91s/it]\n", + "WaveformSet: 100%|██████████| 1/1 [00:34<00:00, 34.60s/it]\n" ] } ], @@ -2896,7 +2904,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "metadata": {}, "outputs": [], "source": [ @@ -2916,9 +2924,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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m2kMypUrV+Bxcofkz5s3r9BzFqR8+fICAJWxd+3aVQAgfPbZZwrb09PThfHjxwuenp6ClZWV0KxZMyEyMlJo1aqVwlQLuVJTUwUrKyulqQbySktLEyZPnixUrVpVsLCwEFxcXITg4GDhxx9/FDIzM+Xl1E0DkZiYKAwePFhwcXERLCwshDp16girVq1SKFPQa5b7mXj8+LHCdnXvharpAlRRVy4tLU0YO3asUL58ecHc3Fzw8/MT5s2bpzAEXxAK/mxrej51x/D29pZPxZCRkSFMmDBBqFevnmBrayuUK1dOqFevnrBkyRKlx124cEF47733BGdnZ0EqlQre3t7C+++/L4SHh8vLqHs9BeHN9BBffPGF4OrqKkgkEoW/ReSbxkAQBOH8+fNCaGioYGNjI1hbWwtt2rQRTpw4oVAmdxqDM2fOKGw/fPiwxlMSqPu75GXacEkEgb3biAxRVFQUAgICsG7dOoVO1EREpH/sA0VkAF6/fq20beHChTAxMVE72zQREekP+0ARGYC5c+fi3LlzaNOmDczMzLB3717s3bsXw4YN40gfIiIDxCY8IgMQFhaG6dOn4+rVq3jx4gUqVaqEAQMG4Ouvv4aZGX/nEBEZGiZQRERERCKxDxQRERGRSEygiIiIiERi5wodkMlkePToEWxtbYu8DAgRERGVLEEQkJaWhvLlyystEJ4fEygdePToEUdOERERGan79++jYsWKBZZhAqUDuUs33L9/n2slERERGYnU1FR4eXlptAQTEygdyG22s7OzYwJFRERkZDTpfsNO5EREREQiMYEiIiIiEokJFBEREZFITKCIiIiIRGICRURERCQSEygiIiIikZhAEREREYnEBIqIiIhIJCZQRERERCIxgSIiIiISiQkUERERkUhMoIiIiIhEYgJlZF5n5ug7BCIiojKPCZQROR37DDW+3YdZe67pOxQiIqIyjQmUEZm1903itOzfO3qOhIiIqGxjAmVELtxL1ncIREREBCZQRivldZa+QyAiIiqzmEARERERicQEykjdfvxC3yEQERGVWUygjNTUnVf0HQIREVGZxQTKSEkk+o6AiIio7GICZaSYPxEREekPEygiIiIikZhAEREREYnEBMpICfoOgIiIqAxjAmWkLj1I0XcIREREZRYTKCIiIiKRSlUCNWvWLDRq1Ai2trZwc3ND9+7dERMT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", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "plt.plot(lfp_average)\n", "plt.title(\"Average LFP Waveform for Insertion 1\")\n", @@ -2945,7 +2964,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "metadata": {}, "outputs": [], "source": [ @@ -2959,9 +2978,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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V++//77mzJnjdd6MGTO0ZcsWuVyunuk8gG5HgQMgJEydOlW//vWvlZ6erqVLl2rgwIGKj4/XzTffrPT0dC1btkyVlZXasWOHJOk///M/lZmZqYceekhnnHGGMjMz9b//+79at26d8vPz/bZx4MAB9e/fXwkJCea2kpISDR48WP/yL/+i1NRUZWZm6o477vA6LykpSU1NTV4fvwEIbRQ4AELClClTzJ/79++vuLg4TZ482dyWmJgoSaqoqJB08svC69atM7/TExkZqTPOOEOStG/fPr9tHDt2THa73euL0BdddJFSU1M1evRo3XDDDXr55ZfNd4ncIiIiJKnVdgChiwIHQEgYMGCA13Obzea1zV2UtLS0SJLq6uqUnZ2tvLw8r0dBQUGrj5jc4uPj1dDQoKamJnNbVFSUtm/frldffVXDhw/XsmXLNHXqVFVXV5vHVFVVSZKGDh3aLX0F0PMocAD0SWeeeaZ27dqlUaNGaezYsV6PwYMH+z1n2rRpkqTdu3d7bQ8LC9O8efP06KOPaseOHdq/f78++eQTc//OnTs1cuRIxcfH91h/AHQvChwAfdKtt96qqqoqXXPNNfryyy+1b98+ffDBB7rxxhvV3Nzs95yhQ4fqzDPP1MaNG81t7733np566inl5eXpwIEDevHFF9XS0qJx48aZx3z22WeaP39+j/cJQPehwAHQJyUlJWnTpk1qbm7W/PnzNXnyZC1ZskQxMTHq1y/wS9tNN92kl19+2XweExOjN998UxdccIHGjx+vZ599Vq+++qomTpwoSWpsbNRbb72lm2++ucf7BKD7cKM/AKeVY8eOady4cXr99dc1c+bMdo9/5plntHr1an344Ye9EB2A7sI7OABOKxEREXrxxRfbvCGgpwEDBujpp5/u4agAdDfewQEAAJbDOzgAAMByKHAAAIDlUOAAAADLocABAACWQ4EDAAAshwIHAABYDgUOAACwHAocAABgORQ4AADAcv4/4rIQegvxjTEAAAAASUVORK5CYII=", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "x = np.hstack(unit_spiketimes)\n", "y = np.hstack([np.full_like(s, u) for u, s in zip(units, unit_spiketimes)])\n", @@ -2972,7 +3002,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "metadata": {}, "outputs": [], "source": [ @@ -2984,18 +3014,235 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 38, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'subject': 'subject5',\n", + " 'session_datetime': datetime.datetime(2023, 1, 1, 0, 0),\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': 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": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "unit_data" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "sampling_rate = (ephys.EphysRecording & insert_key).fetch1(\n", " \"sampling_rate\"\n",