sl-shared-assets 3.0.0rc9__py3-none-any.whl → 3.0.0rc11__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 sl-shared-assets might be problematic. Click here for more details.
- sl_shared_assets/__init__.py +4 -0
- sl_shared_assets/__init__.pyi +4 -0
- sl_shared_assets/data_classes/__init__.py +4 -1
- sl_shared_assets/data_classes/__init__.pyi +4 -0
- sl_shared_assets/data_classes/configuration_data.py +53 -43
- sl_shared_assets/data_classes/configuration_data.pyi +22 -16
- sl_shared_assets/data_classes/runtime_data.py +57 -48
- sl_shared_assets/data_classes/runtime_data.pyi +34 -31
- sl_shared_assets/data_classes/session_data.py +168 -126
- sl_shared_assets/data_classes/session_data.pyi +94 -59
- sl_shared_assets/data_classes/surgery_data.py +1 -1
- sl_shared_assets/tools/ascension_tools.py +3 -3
- sl_shared_assets/tools/ascension_tools.pyi +1 -0
- {sl_shared_assets-3.0.0rc9.dist-info → sl_shared_assets-3.0.0rc11.dist-info}/METADATA +2 -4
- sl_shared_assets-3.0.0rc11.dist-info/RECORD +36 -0
- sl_shared_assets-3.0.0rc9.dist-info/RECORD +0 -36
- {sl_shared_assets-3.0.0rc9.dist-info → sl_shared_assets-3.0.0rc11.dist-info}/WHEEL +0 -0
- {sl_shared_assets-3.0.0rc9.dist-info → sl_shared_assets-3.0.0rc11.dist-info}/entry_points.txt +0 -0
- {sl_shared_assets-3.0.0rc9.dist-info → sl_shared_assets-3.0.0rc11.dist-info}/licenses/LICENSE +0 -0
|
@@ -12,15 +12,15 @@ class MesoscopeHardwareState(YamlConfig):
|
|
|
12
12
|
|
|
13
13
|
Notes:
|
|
14
14
|
This class stores 'static' Mesoscope-VR system configuration that does not change during experiment or training
|
|
15
|
-
session runtime. This is in contrast to
|
|
16
|
-
the Mesoscope-VR system.
|
|
15
|
+
session runtime. This is in contrast to MesoscopeExperimentConfiguration class, which reflects the 'dynamic'
|
|
16
|
+
state of the Mesoscope-VR system during each experiment.
|
|
17
17
|
|
|
18
18
|
This class partially overlaps with the MesoscopeSystemConfiguration class, which is also stored in the
|
|
19
19
|
raw_data folder of each session. The primary reason to keep both classes is to ensure that the math (rounding)
|
|
20
20
|
used during runtime matches the math (rounding) used during data processing. MesoscopeSystemConfiguration does
|
|
21
|
-
not do any rounding or otherwise attempt to be repeatable, which is in contrast to hardware
|
|
22
|
-
those parameters. Reading values from this class guarantees the read value exactly matches the value
|
|
23
|
-
during runtime.
|
|
21
|
+
not do any rounding or otherwise attempt to be repeatable, which is in contrast to hardware modules that read
|
|
22
|
+
and apply those parameters. Reading values from this class guarantees the read value exactly matches the value
|
|
23
|
+
used during runtime.
|
|
24
24
|
|
|
25
25
|
Notes:
|
|
26
26
|
All fields in this dataclass initialize to None. During log processing, any log associated with a hardware
|
|
@@ -28,11 +28,10 @@ class MesoscopeHardwareState(YamlConfig):
|
|
|
28
28
|
any field in this dataclass to None also functions as a flag for whether to parse the log associated with the
|
|
29
29
|
module that provides this field's information.
|
|
30
30
|
|
|
31
|
-
This class is automatically configured by
|
|
32
|
-
|
|
31
|
+
This class is automatically configured by _MesoscopeVRSystem class from sl-experiment library to facilitate
|
|
32
|
+
proper log parsing.
|
|
33
33
|
"""
|
|
34
34
|
|
|
35
|
-
cue_map: dict[int, float] | None = ...
|
|
36
35
|
cm_per_pulse: float | None = ...
|
|
37
36
|
maximum_break_strength: float | None = ...
|
|
38
37
|
minimum_break_strength: float | None = ...
|
|
@@ -97,48 +96,51 @@ class MesoscopeExperimentDescriptor(YamlConfig):
|
|
|
97
96
|
experimenter_given_water_volume_ml: float = ...
|
|
98
97
|
incomplete: bool = ...
|
|
99
98
|
|
|
99
|
+
@dataclass()
|
|
100
|
+
class WindowCheckingDescriptor(YamlConfig):
|
|
101
|
+
"""Stores the outcome information specific to window checking sessions that use the Mesoscope-VR system.
|
|
102
|
+
|
|
103
|
+
Notes:
|
|
104
|
+
Window Checking sessions are different from all other sessions. Unlike other sessions, their purpose is not to
|
|
105
|
+
generate data, but rather to assess the suitability of the particular animal to be included in training and
|
|
106
|
+
experiment cohorts. These sessions are automatically excluded from any automated data processing and analysis.
|
|
107
|
+
"""
|
|
108
|
+
|
|
109
|
+
experimenter: str
|
|
110
|
+
experimenter_notes: str = ...
|
|
111
|
+
surgery_quality: int = ...
|
|
112
|
+
incomplete: bool = ...
|
|
113
|
+
|
|
100
114
|
@dataclass()
|
|
101
115
|
class ZaberPositions(YamlConfig):
|
|
102
116
|
"""Stores Zaber motor positions reused between experiment sessions that use the Mesoscope-VR system.
|
|
103
117
|
|
|
104
|
-
The class is specifically designed to store, save, and load the positions of the LickPort and
|
|
105
|
-
(axes). It is used to both store Zaber motor positions for each session for future analysis and to restore the
|
|
106
|
-
Zaber
|
|
118
|
+
The class is specifically designed to store, save, and load the positions of the LickPort, HeadBar, and Wheel motors
|
|
119
|
+
(axes). It is used to both store Zaber motor positions for each session for future analysis and to restore the
|
|
120
|
+
Zaber motors to the same positions across consecutive runtimes for the same project and animal combination.
|
|
107
121
|
|
|
108
122
|
Notes:
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
All positions are saved using native motor units. All class fields initialize to default placeholders that are
|
|
114
|
-
likely NOT safe to apply to the VR system. Do not apply the positions loaded from the file unless you are
|
|
115
|
-
certain they are safe to use.
|
|
116
|
-
|
|
117
|
-
Exercise caution when working with Zaber motors. The motors are powerful enough to damage the surrounding
|
|
118
|
-
equipment and manipulated objects. Do not modify the data stored inside the .yaml file unless you know what you
|
|
119
|
-
are doing.
|
|
123
|
+
By default, the class initializes all fields to 0, which is the position of the home sensor for each motor. The
|
|
124
|
+
class assumes that the motor groups are assembled and arranged in a way that ensures all motors can safely move
|
|
125
|
+
to the home sensor positions from any runtime configuration.
|
|
120
126
|
"""
|
|
121
127
|
|
|
122
128
|
headbar_z: int = ...
|
|
123
129
|
headbar_pitch: int = ...
|
|
124
130
|
headbar_roll: int = ...
|
|
125
131
|
lickport_z: int = ...
|
|
126
|
-
lickport_x: int = ...
|
|
127
132
|
lickport_y: int = ...
|
|
133
|
+
lickport_x: int = ...
|
|
128
134
|
wheel_x: int = ...
|
|
129
135
|
|
|
130
136
|
@dataclass()
|
|
131
137
|
class MesoscopePositions(YamlConfig):
|
|
132
|
-
"""Stores real and virtual Mesoscope objective
|
|
138
|
+
"""Stores the positions of real and virtual Mesoscope objective axes reused between experiment sessions that use the
|
|
133
139
|
Mesoscope-VR system.
|
|
134
140
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
Notes:
|
|
140
|
-
Since the API to read and write these positions automatically is currently not available, this class relies on
|
|
141
|
-
the experimenter manually entering all positions and setting the mesoscope to these positions when necessary.
|
|
141
|
+
This class is designed to help the experimenter move the Mesoscope to the same imaging plane across imaging
|
|
142
|
+
sessions. It stores both the physical (real) position of the objective along the motorized X, Y, Z, and Roll axes,
|
|
143
|
+
and the virtual (ScanImage software) tip, tilt, and fastZ (virtual zoom) axes.
|
|
142
144
|
"""
|
|
143
145
|
|
|
144
146
|
mesoscope_x: float = ...
|
|
@@ -148,3 +150,4 @@ class MesoscopePositions(YamlConfig):
|
|
|
148
150
|
mesoscope_fast_z: float = ...
|
|
149
151
|
mesoscope_tip: float = ...
|
|
150
152
|
mesoscope_tilt: float = ...
|
|
153
|
+
laser_power_mw: float = ...
|