figpack-spike-sorting 0.1.0__py3-none-any.whl → 0.1.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ .VerticalToolbar{overflow:hidden;position:absolute}.HorizontalToolbar{display:flex;justify-content:center;align-items:center;overflow:hidden;margin:auto}.compact-table-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:28px;line-height:1;overflow:auto;background:#fff}.compact-table{width:100%;border-collapse:collapse;border-spacing:0;font-size:28px;table-layout:auto;background:#fff}.compact-table-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #d1d5db;border-bottom:2px solid #9ca3af;padding:1px 3px;font-size:28px;font-weight:600;text-align:left;height:16px;line-height:1;white-space:nowrap;position:sticky;top:0;z-index:10;color:#374151;text-transform:uppercase;letter-spacing:.025em;user-select:none;transition:all .15s ease}.compact-table-header:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.compact-table-cell{border-right:1px solid #e5e7eb;border-bottom:1px solid #f3f4f6;padding:0 3px;font-size:28px;height:14px;line-height:1;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;color:#1f2937;transition:background-color .1s ease}.compact-table-row{height:14px;transition:all .1s ease}.compact-table-row:nth-child(2n){background-color:#fafafa}.compact-table-row:hover{background-color:#f0f9ff!important;transform:scale(1.002);box-shadow:0 1px 3px #0000000d}.compact-table-row.selected{background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;border-left:3px solid #3b82f6}.compact-table-row.current{background:linear-gradient(135deg,#fef3c7,#fde68a)!important;border-left:3px solid #f59e0b;font-weight:600}.sort-indicator{font-size:7px;margin-left:1px;color:#6b7280;font-weight:700;text-shadow:0 1px 1px rgba(255,255,255,.8)}.compact-table input[type=checkbox]{transform:scale(.7);margin:0;padding:0;accent-color:#3b82f6;cursor:pointer}.compact-table-cell>span{font-size:28px!important;line-height:1!important}.compact-table-cell>div{font-size:28px!important;line-height:1!important}.compact-table .unitLabel{width:6px;height:6px;display:inline-block;margin-right:2px;border-radius:1px;box-shadow:0 1px 2px #0000001a}.compact-table *{font-size:28px!important;line-height:1!important}.compact-table-cell:last-child{border-right:none}.compact-table-container{box-shadow:0 1px 3px #0000001a;border-radius:4px;overflow:hidden}.compact-table input[type=checkbox]:checked{background-color:#3b82f6;border-color:#3b82f6}.SortableTableWidget .MuiTableCell-root,.SortableTableWidget .MuiTableRow-root,.SortableTableWidget .MuiTable-root,.SortableTableWidget *{font-size:28px!important;line-height:1!important;padding:0 3px!important;height:14px!important;min-height:14px!important;max-height:14px!important}.compact-table-container::-webkit-scrollbar{width:8px;height:8px}.compact-table-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.compact-table-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.compact-table-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.NiceTable .MuiTableCell-root{padding:5px}.NiceTable .MuiIconButton-root{padding:1px}
@@ -0,0 +1,44 @@
1
+ from typing import List
2
+ import json
3
+ import numpy as np
4
+
5
+ import figpack
6
+
7
+ from ..spike_sorting_extension import spike_sorting_extension
8
+
9
+
10
+ class SortingCuration(figpack.ExtensionView):
11
+ def __init__(
12
+ self,
13
+ *,
14
+ default_label_options: List[str] = ["mua", "good", "noise"],
15
+ curation: dict = {},
16
+ ):
17
+ """
18
+ Initialize a SortingCuration view
19
+
20
+ Args:
21
+ default_label_options: List of default label options for the view
22
+ """
23
+ super().__init__(
24
+ extension=spike_sorting_extension, view_type="spike_sorting.SortingCuration"
25
+ )
26
+ self.default_label_options = default_label_options
27
+ self.curation = curation
28
+
29
+ def _write_to_zarr_group(self, group: figpack.Group) -> None:
30
+ """
31
+ Args:
32
+ group: Zarr group to write data into
33
+ """
34
+ super()._write_to_zarr_group(group)
35
+
36
+ # Store view parameters
37
+ group.attrs["default_label_options"] = self.default_label_options
38
+
39
+ curation_json = json.dumps(self.curation).encode("utf-8")
40
+ curation_array = np.frombuffer(curation_json, dtype=np.uint8)
41
+ group.create_dataset(
42
+ "curation",
43
+ data=curation_array,
44
+ )
@@ -19,6 +19,7 @@ from .UnitMetricsGraph import (
19
19
  UnitMetricsGraphMetric,
20
20
  UnitMetricsGraphUnit,
21
21
  )
22
+ from .SortingCuration import SortingCuration
22
23
 
23
24
  __all__ = [
24
25
  "Autocorrelograms",
@@ -40,4 +41,5 @@ __all__ = [
40
41
  "UnitMetricsGraph",
41
42
  "UnitMetricsGraphMetric",
42
43
  "UnitMetricsGraphUnit",
44
+ "SortingCuration",
43
45
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: figpack_spike_sorting
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: Spike Sorting specific extension for figpack
5
5
  Home-page: https://github.com/flatironinstitute/figpack
6
6
  Author: figpack contributors
@@ -18,7 +18,7 @@ Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Topic :: Scientific/Engineering :: Visualization
19
19
  Requires-Python: >=3.8
20
20
  Description-Content-Type: text/markdown
21
- Requires-Dist: figpack>=0.2.16
21
+ Requires-Dist: figpack>=0.2.17
22
22
  Dynamic: author
23
23
  Dynamic: classifier
24
24
  Dynamic: description
@@ -1,6 +1,7 @@
1
- figpack_spike_sorting/__init__.py,sha256=Ei6xjF8UqHyp0e7rpf-L8DuYcflEMmhiyFzqLug0cRk,77
2
- figpack_spike_sorting/figpack_spike_sorting.js,sha256=h0H8sTZNmwOkBT-Zd9669GcZHz14HS6jCgFsFYQiuX0,776423
1
+ figpack_spike_sorting/__init__.py,sha256=mrQmwb0pdTVRVtmrsgX728eZfAu_G1U2lpS532M1X9Q,100
2
+ figpack_spike_sorting/figpack_spike_sorting.js,sha256=DtTJ9DxjUOIkxeFULc4q65bc1ce751aeRiIiQ5CDZYc,705056
3
3
  figpack_spike_sorting/spike_sorting_extension.py,sha256=ugpk8hDsO4RmyQRNjfhB4Pw5p10FmhQeu3koBynSPHU,755
4
+ figpack_spike_sorting/style.css,sha256=R4pcnrpSMpOsBn7X1t-JBP8ODktsc5e8o95Fl_0LVps,3208
4
5
  figpack_spike_sorting/views/AutocorrelogramItem.py,sha256=qHmvIdHpbfVA_utPb5N2oP3hSP2cGnlT8VLaxOXV4UM,738
5
6
  figpack_spike_sorting/views/Autocorrelograms.py,sha256=zNeYM7tVXhBCaN-OWtMaIUJZUdAKh6tEidQTZ1E7N8A,3744
6
7
  figpack_spike_sorting/views/AverageWaveforms.py,sha256=tHYeURvJFyKpxpPpMc12jeQBxm9iGFzHos2G92Z0kIk,5220
@@ -8,6 +9,7 @@ figpack_spike_sorting/views/CrossCorrelogramItem.py,sha256=uSd0i2hupteuILi_aKp7b
8
9
  figpack_spike_sorting/views/CrossCorrelograms.py,sha256=begMIpv5KG6ycH5fS85SPpXxmjZZHoIYGNcH8qBw0S0,4492
9
10
  figpack_spike_sorting/views/RasterPlot.py,sha256=MyLes4QpYs28C3IPq48-lo9_NU6cYVhO8QErgcZsy_4,9910
10
11
  figpack_spike_sorting/views/RasterPlotItem.py,sha256=iW7fuDEjSfvf5YMIwrF_6cmKvD76oCigOUMHtGgBsPI,638
12
+ figpack_spike_sorting/views/SortingCuration.py,sha256=zGzdfrOZ-Dg8828dbRKTDSRw7mRzjddCn2CD3tDajNE,1245
11
13
  figpack_spike_sorting/views/SpikeAmplitudes.py,sha256=dH5Dpgiys8WwdhESesxnuGQsZjKDMbs8eSL1YklnsL8,13178
12
14
  figpack_spike_sorting/views/SpikeAmplitudesItem.py,sha256=j5Na-diY-vRUAPu0t0VkyFCSKFnQ_f5HT077mB3Cy8c,1134
13
15
  figpack_spike_sorting/views/UnitLocations.py,sha256=N7YRAqvtShkVcNPnLu4gIIy2HqgGco5MJRr7YLoTaL0,2338
@@ -16,8 +18,8 @@ figpack_spike_sorting/views/UnitSimilarityScore.py,sha256=cJA9MkETos9qHhV1tqgA7S
16
18
  figpack_spike_sorting/views/UnitsTable.py,sha256=dNWBcdN9aSmTdNF1fNZKXLcPwweLzbYnWGhxR9q9BZI,2760
17
19
  figpack_spike_sorting/views/UnitsTableColumn.py,sha256=zBnuoeILTuiVLDvtcOxqa37E5WlbR12rlwNJUeWXxY4,847
18
20
  figpack_spike_sorting/views/UnitsTableRow.py,sha256=rEb2hMTA_pl2fTW1nOvnGir0ysfNx4uww3aekZzfWjk,720
19
- figpack_spike_sorting/views/__init__.py,sha256=32LVR983RlvbGblG2akBJuj4ZEIvVgqmap5OoJAAALA,1248
20
- figpack_spike_sorting-0.1.0.dist-info/METADATA,sha256=14vVVeTQBDe0umcZHzEu3e4iaXtowK9w2N5mUA4JogQ,1218
21
- figpack_spike_sorting-0.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
- figpack_spike_sorting-0.1.0.dist-info/top_level.txt,sha256=CAkWrQc1wGK5laYDkT2GBjGgAuNwWNXKodTQlTcpxus,22
23
- figpack_spike_sorting-0.1.0.dist-info/RECORD,,
21
+ figpack_spike_sorting/views/__init__.py,sha256=m7XRK-rCsqXXbNtilncHsUzDK09j3gWeTqfYWUs9_jM,1316
22
+ figpack_spike_sorting-0.1.2.dist-info/METADATA,sha256=5jEoyq4mlvpIJIHJT17j07hADVCjyCXMz7ldIJev9YI,1218
23
+ figpack_spike_sorting-0.1.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
24
+ figpack_spike_sorting-0.1.2.dist-info/top_level.txt,sha256=CAkWrQc1wGK5laYDkT2GBjGgAuNwWNXKodTQlTcpxus,22
25
+ figpack_spike_sorting-0.1.2.dist-info/RECORD,,