figpack 0.2.2__py3-none-any.whl → 0.2.4__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.
Potentially problematic release.
This version of figpack might be problematic. Click here for more details.
- figpack/__init__.py +1 -1
- figpack/core/_server_manager.py +9 -3
- figpack/core/_show_view.py +23 -5
- figpack/core/_upload_bundle.py +21 -10
- figpack/core/config.py +2 -0
- figpack/core/figpack_view.py +37 -3
- figpack/figpack-gui-dist/assets/{index-DUR9Dmwh.js → index-CuFseOGX.js} +67 -67
- figpack/figpack-gui-dist/index.html +1 -1
- figpack/spike_sorting/views/RasterPlot.py +77 -0
- figpack/spike_sorting/views/RasterPlotItem.py +28 -0
- figpack/spike_sorting/views/__init__.py +4 -0
- {figpack-0.2.2.dist-info → figpack-0.2.4.dist-info}/METADATA +1 -1
- {figpack-0.2.2.dist-info → figpack-0.2.4.dist-info}/RECORD +17 -15
- {figpack-0.2.2.dist-info → figpack-0.2.4.dist-info}/WHEEL +0 -0
- {figpack-0.2.2.dist-info → figpack-0.2.4.dist-info}/entry_points.txt +0 -0
- {figpack-0.2.2.dist-info → figpack-0.2.4.dist-info}/licenses/LICENSE +0 -0
- {figpack-0.2.2.dist-info → figpack-0.2.4.dist-info}/top_level.txt +0 -0
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<link rel="icon" type="image/png" href="./assets/neurosift-logo-CLsuwLMO.png" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>figpack figure</title>
|
|
8
|
-
<script type="module" crossorigin src="./assets/index-
|
|
8
|
+
<script type="module" crossorigin src="./assets/index-CuFseOGX.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="./assets/index-Cmae55E4.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"""
|
|
2
|
+
RasterPlot view for figpack - displays multiple raster plots
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
from typing import List
|
|
6
|
+
import numpy as np
|
|
7
|
+
import zarr
|
|
8
|
+
|
|
9
|
+
from ...core.figpack_view import FigpackView
|
|
10
|
+
from .RasterPlotItem import RasterPlotItem
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class RasterPlot(FigpackView):
|
|
14
|
+
"""
|
|
15
|
+
A view that displays multiple raster plots for spike sorting analysis
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
def __init__(
|
|
19
|
+
self,
|
|
20
|
+
*,
|
|
21
|
+
start_time_sec: float,
|
|
22
|
+
end_time_sec: float,
|
|
23
|
+
plots: List[RasterPlotItem],
|
|
24
|
+
height: int = 500,
|
|
25
|
+
):
|
|
26
|
+
"""
|
|
27
|
+
Initialize a RasterPlot view
|
|
28
|
+
|
|
29
|
+
Args:
|
|
30
|
+
start_time_sec: Start time in seconds for the plot range
|
|
31
|
+
end_time_sec: End time in seconds for the plot range
|
|
32
|
+
plots: List of RasterPlotItem objects
|
|
33
|
+
height: Height of the plot in pixels (default: 500)
|
|
34
|
+
"""
|
|
35
|
+
self.start_time_sec = float(start_time_sec)
|
|
36
|
+
self.end_time_sec = float(end_time_sec)
|
|
37
|
+
self.plots = plots
|
|
38
|
+
self.height = height
|
|
39
|
+
|
|
40
|
+
def _write_to_zarr_group(self, group: zarr.Group) -> None:
|
|
41
|
+
"""
|
|
42
|
+
Write the RasterPlot data to a Zarr group
|
|
43
|
+
|
|
44
|
+
Args:
|
|
45
|
+
group: Zarr group to write data into
|
|
46
|
+
"""
|
|
47
|
+
# Set the view type
|
|
48
|
+
group.attrs["view_type"] = "RasterPlot"
|
|
49
|
+
|
|
50
|
+
# Store view-level attributes
|
|
51
|
+
group.attrs["start_time_sec"] = self.start_time_sec
|
|
52
|
+
group.attrs["end_time_sec"] = self.end_time_sec
|
|
53
|
+
group.attrs["height"] = self.height
|
|
54
|
+
group.attrs["num_plots"] = len(self.plots)
|
|
55
|
+
|
|
56
|
+
# Store metadata for each plot
|
|
57
|
+
plot_metadata = []
|
|
58
|
+
for i, plot in enumerate(self.plots):
|
|
59
|
+
plot_name = f"plot_{i}"
|
|
60
|
+
|
|
61
|
+
# Store metadata
|
|
62
|
+
metadata = {
|
|
63
|
+
"name": plot_name,
|
|
64
|
+
"unit_id": str(plot.unit_id),
|
|
65
|
+
"num_spikes": len(plot.spike_times_sec),
|
|
66
|
+
}
|
|
67
|
+
plot_metadata.append(metadata)
|
|
68
|
+
|
|
69
|
+
# Create arrays for this plot
|
|
70
|
+
group.create_dataset(
|
|
71
|
+
f"{plot_name}/spike_times_sec",
|
|
72
|
+
data=plot.spike_times_sec,
|
|
73
|
+
dtype=np.float32,
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
# Store the plot metadata
|
|
77
|
+
group.attrs["plots"] = plot_metadata
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"""
|
|
2
|
+
RasterPlotItem for figpack - represents a single unit's raster plot
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
from typing import Union
|
|
6
|
+
import numpy as np
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class RasterPlotItem:
|
|
10
|
+
"""
|
|
11
|
+
Represents spike times for a single unit in a raster plot
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
def __init__(
|
|
15
|
+
self,
|
|
16
|
+
*,
|
|
17
|
+
unit_id: Union[str, int],
|
|
18
|
+
spike_times_sec: np.ndarray,
|
|
19
|
+
):
|
|
20
|
+
"""
|
|
21
|
+
Initialize a RasterPlotItem
|
|
22
|
+
|
|
23
|
+
Args:
|
|
24
|
+
unit_id: Identifier for the unit
|
|
25
|
+
spike_times_sec: Numpy array of spike times in seconds
|
|
26
|
+
"""
|
|
27
|
+
self.unit_id = unit_id
|
|
28
|
+
self.spike_times_sec = np.array(spike_times_sec, dtype=np.float32)
|
|
@@ -13,6 +13,8 @@ from .UnitsTableRow import UnitsTableRow
|
|
|
13
13
|
from .AverageWaveforms import AverageWaveforms
|
|
14
14
|
from .SpikeAmplitudesItem import SpikeAmplitudesItem
|
|
15
15
|
from .SpikeAmplitudes import SpikeAmplitudes
|
|
16
|
+
from .RasterPlotItem import RasterPlotItem
|
|
17
|
+
from .RasterPlot import RasterPlot
|
|
16
18
|
|
|
17
19
|
__all__ = [
|
|
18
20
|
"AutocorrelogramItem",
|
|
@@ -26,4 +28,6 @@ __all__ = [
|
|
|
26
28
|
"AverageWaveforms",
|
|
27
29
|
"SpikeAmplitudesItem",
|
|
28
30
|
"SpikeAmplitudes",
|
|
31
|
+
"RasterPlotItem",
|
|
32
|
+
"RasterPlot",
|
|
29
33
|
]
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
figpack/__init__.py,sha256=
|
|
1
|
+
figpack/__init__.py,sha256=9I8fC_RO4PRKHgMbTZqh-HfikC6KBrpKRaaJ4WQUKDg,124
|
|
2
2
|
figpack/cli.py,sha256=DYV-DxzWnQTMNywW-ZzhlTEFOEIt11rAKdobdBmRQFk,12051
|
|
3
3
|
figpack/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
figpack/core/_bundle_utils.py,sha256=73E6FinAvrt1QATGncIqyg6JLeiWVmlGF8NOcFyeYSs,1913
|
|
5
|
-
figpack/core/_server_manager.py,sha256=
|
|
6
|
-
figpack/core/_show_view.py,sha256=
|
|
7
|
-
figpack/core/_upload_bundle.py,sha256=
|
|
8
|
-
figpack/core/config.py,sha256=
|
|
9
|
-
figpack/core/figpack_view.py,sha256=
|
|
10
|
-
figpack/figpack-gui-dist/index.html,sha256=
|
|
5
|
+
figpack/core/_server_manager.py,sha256=5-OUZ9Np9aKIjkYxGkjKjJKVL44FOydNWHpGuPm_Qs8,11085
|
|
6
|
+
figpack/core/_show_view.py,sha256=8OOuicYEvqN3wwuioKpffHChOpH5Gm_G564HArFo1FA,5302
|
|
7
|
+
figpack/core/_upload_bundle.py,sha256=lZQHl7pmXD-jQjyCBMN_w79xnHSDgxAx430qeImTyuE,13401
|
|
8
|
+
figpack/core/config.py,sha256=oOR7SlP192vuFhYlS-h14HnG-kd_3gaz0vshXch2RNc,173
|
|
9
|
+
figpack/core/figpack_view.py,sha256=h5D67h_71bb1kW3U0yRH34ZZN_4PGr8OwNL1U8fb5fg,4032
|
|
10
|
+
figpack/figpack-gui-dist/index.html,sha256=rObLsUTtDMwDG5vpeCsQC94MhnbNsVGjUVw0w7q2dIM,486
|
|
11
11
|
figpack/figpack-gui-dist/assets/index-Cmae55E4.css,sha256=Yg0apcYehJwQvSQIUH13S7tsfqWQDevpJsAho0dDf0g,5499
|
|
12
|
-
figpack/figpack-gui-dist/assets/index-
|
|
12
|
+
figpack/figpack-gui-dist/assets/index-CuFseOGX.js,sha256=wNJFCDKOVSoTMyipnTvnsTRv2tvB3FkxPAmsceAL2W4,1593545
|
|
13
13
|
figpack/figpack-gui-dist/assets/neurosift-logo-CLsuwLMO.png,sha256=g5m-TwrGh5f6-9rXtWV-znH4B0nHgc__0GWclRDLUHs,9307
|
|
14
14
|
figpack/franklab/__init__.py,sha256=HkehqGImJE_sE2vbPDo-HbgtEYaMICb9-230xTYvRTU,56
|
|
15
15
|
figpack/franklab/views/TrackAnimation.py,sha256=3Jv1Ri4FIwTyqNahinqhHsBH1Bv_iZrEGx12w6diJ2M,5636
|
|
@@ -20,13 +20,15 @@ figpack/spike_sorting/views/Autocorrelograms.py,sha256=43EgKHvUmXUA9QSOJQZiTeLHq
|
|
|
20
20
|
figpack/spike_sorting/views/AverageWaveforms.py,sha256=mvMkS3wf6MpI95tlGqKxBjxZlHqJr4aqG7SZvHigIsI,5193
|
|
21
21
|
figpack/spike_sorting/views/CrossCorrelogramItem.py,sha256=uSd0i2hupteuILi_aKp7bYPYpL_PdC3CUDRMOEKUEM0,880
|
|
22
22
|
figpack/spike_sorting/views/CrossCorrelograms.py,sha256=gqPXbEgg-GE3NCJQT2bahp1ITSW33F3q9ZuJRGrR68M,4061
|
|
23
|
+
figpack/spike_sorting/views/RasterPlot.py,sha256=gFdfH9SEm-tf8Ptqw4M1Q7IHRytUOULpBZfM2TdMfZQ,2215
|
|
24
|
+
figpack/spike_sorting/views/RasterPlotItem.py,sha256=iW7fuDEjSfvf5YMIwrF_6cmKvD76oCigOUMHtGgBsPI,638
|
|
23
25
|
figpack/spike_sorting/views/SpikeAmplitudes.py,sha256=vQYWdJM-3qu568bcfGDC9k9LW_PgvU8j4tN9QYc08Mo,2665
|
|
24
26
|
figpack/spike_sorting/views/SpikeAmplitudesItem.py,sha256=j5Na-diY-vRUAPu0t0VkyFCSKFnQ_f5HT077mB3Cy8c,1134
|
|
25
27
|
figpack/spike_sorting/views/UnitSimilarityScore.py,sha256=cJA9MkETos9qHhV1tqgA7SfNEaPo-duXYCE76hSFGnA,948
|
|
26
28
|
figpack/spike_sorting/views/UnitsTable.py,sha256=kQZvMlnPk8MAMPr3GlL4T3cAvGfSHBbB52jvMJ2-YAU,2173
|
|
27
29
|
figpack/spike_sorting/views/UnitsTableColumn.py,sha256=zBnuoeILTuiVLDvtcOxqa37E5WlbR12rlwNJUeWXxY4,847
|
|
28
30
|
figpack/spike_sorting/views/UnitsTableRow.py,sha256=rEb2hMTA_pl2fTW1nOvnGir0ysfNx4uww3aekZzfWjk,720
|
|
29
|
-
figpack/spike_sorting/views/__init__.py,sha256=
|
|
31
|
+
figpack/spike_sorting/views/__init__.py,sha256=iRq7xPmyhnQ3GffnPC0GxKGEWnlqXY_8IOxsMqYZ1IM,967
|
|
30
32
|
figpack/views/Box.py,sha256=TfhPFNtVEq71LCucmWk3XX2WxQLdaeRiWGm5BM0k2l4,2236
|
|
31
33
|
figpack/views/Image.py,sha256=xbnkmiqlrYD9_BGsQgSGgqXJbvNECTI7iJhLsEd3kSg,2990
|
|
32
34
|
figpack/views/LayoutItem.py,sha256=wy8DggkIzZpU0F1zFIBceS7HpBb6lu-A3hpYINQzedk,1595
|
|
@@ -39,9 +41,9 @@ figpack/views/TabLayout.py,sha256=5g3nmL95PfqgI0naqZXHMwLVo2ebDlGX01Hy9044bUw,18
|
|
|
39
41
|
figpack/views/TabLayoutItem.py,sha256=xmHA0JsW_6naJze4_mQuP_Fy0Nm17p2N7w_AsmVRp8k,880
|
|
40
42
|
figpack/views/TimeseriesGraph.py,sha256=OAaCjO8fo86u_gO_frNfRGxng3tczxGDGKcJEvZo3rE,7469
|
|
41
43
|
figpack/views/__init__.py,sha256=8y4KdRtrdDF0-xtQQkj4k_d8Ajk44Q7myztl3StdZcU,407
|
|
42
|
-
figpack-0.2.
|
|
43
|
-
figpack-0.2.
|
|
44
|
-
figpack-0.2.
|
|
45
|
-
figpack-0.2.
|
|
46
|
-
figpack-0.2.
|
|
47
|
-
figpack-0.2.
|
|
44
|
+
figpack-0.2.4.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
45
|
+
figpack-0.2.4.dist-info/METADATA,sha256=6sTrCsnt0haWZvUyuQdXXajQU8fyKtEtX0yFYN2JJ0U,5886
|
|
46
|
+
figpack-0.2.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
47
|
+
figpack-0.2.4.dist-info/entry_points.txt,sha256=l6d3siH2LxXa8qJGbjAqpIZtI5AkMSyDeoRDCzdrUto,45
|
|
48
|
+
figpack-0.2.4.dist-info/top_level.txt,sha256=lMKGaC5xWmAYBx9Ac1iMokm42KFnJFjmkP2ldyvOo-c,8
|
|
49
|
+
figpack-0.2.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|