Skip to content

Commit 3fd5ba8

Browse files
committed
changes for David
1 parent 018fa4d commit 3fd5ba8

File tree

3 files changed

+20
-6
lines changed

3 files changed

+20
-6
lines changed

src/aind_data_schema/device.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from aind_data_schema.coordinates import RelativePosition
1313
from aind_data_schema.manufacturers import Manufacturer
1414
from aind_data_schema.procedures import Reagent
15-
from aind_data_schema.utils.units import FrequencyUnit, PowerUnit, SizeUnit, TemperatureUnit
15+
from aind_data_schema.utils.units import FrequencyUnit, PowerUnit, SizeUnit, SpeedUnit, TemperatureUnit, UnitlessUnit
1616

1717

1818
class DeviceDriver(Enum):
@@ -593,7 +593,7 @@ class PolygonalScanner(Device):
593593

594594
device_type: Literal["Polygonal Scanner"] = Field("Polygonal Scanner", const=True, readOnly=True)
595595
speed: int = Field(..., title="Speed (rpm)")
596-
speed_unit: str = Field("Rotations per minute", title="Speed unit")
596+
speed_unit: SpeedUnit = Field(SpeedUnit.RPM, title="Speed unit")
597597
number_faces: int = Field(..., title="Number of faces")
598598

599599

@@ -604,6 +604,7 @@ class PockelsCell(Device):
604604
polygonal_scanner: str = Field(..., title="Polygonal scanner", description="Must match name of Polygonal scanner")
605605
on_time: Decimal = Field(..., title="On time (fraction of cycle)")
606606
off_time: Decimal = Field(..., title="Off time (fraction of cycle)")
607+
time_setting_unit: UnitlessUnit = Field(UnitlessUnit.FC, title="time setting unit")
607608

608609

609610
class MousePlatform(Device):

src/aind_data_schema/session.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,17 +127,17 @@ class Stack(AindModel):
127127
targeted_structure: Optional[str] = Field(None, title="Targeted structure")
128128

129129

130-
class SlapType(Enum):
130+
class SlapSessionType(Enum):
131131
"""Type of slap session"""
132132

133133
PARENT = "Parent"
134134
BRANCH = "Branch"
135135

136136

137-
class Slap(FieldOfView):
137+
class SlapFieldOfView(FieldOfView):
138138
"""Description of a Slap2 scan"""
139139

140-
session_type: SlapType = Field(..., title="Session type")
140+
session_type: SlapSessionType = Field(..., title="Session type")
141141
dmd_dilation_x: int = Field(..., title="DMD Dilation X (pixels)")
142142
dmd_dilation_y: int = Field(..., title="DMD Dilation Y (pixels)")
143143
dilation_unit: SizeUnit = Field(SizeUnit.PX, title="Dilation unit")
@@ -257,7 +257,7 @@ class Stream(AindModel):
257257
detectors: Optional[List[Detector]] = Field(None, title="Detectors", unique_items=True)
258258
fiber_photometry_assemblies: Optional[List[FiberPhotometryAssembly]] = Field(None, title="Fiber photometry devices")
259259
ophys_fovs: Optional[List[FieldOfView]] = Field(None, title="Fields of view", unique_items=True)
260-
slap_fovs: Optional[Slap] = Field(None, title="Slap2 field of view")
260+
slap_fovs: Optional[SlapFieldOfView] = Field(None, title="Slap2 field of view")
261261
stack_parameters: Optional[Stack] = Field(None, title="Stack parameters")
262262
stimulus_device_names: Optional[List[str]] = Field(None, title="Stimulus devices")
263263
notes: Optional[str] = Field(None, title="Notes")

src/aind_data_schema/utils/units.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ class FrequencyUnit(Enum):
3636
mHZ = "millihertz"
3737

3838

39+
class SpeedUnit(Enum):
40+
"""Enumeration of Speed Measurements"""
41+
42+
RPM = "rotations per minute"
43+
44+
3945
class VolumeUnit(Enum):
4046
"""Enumeration of Volume Measurements"""
4147

@@ -92,6 +98,13 @@ class TemperatureUnit(Enum):
9298
K = "Kelvin"
9399

94100

101+
class UnitlessUnit(Enum):
102+
"""Unitless options"""
103+
104+
PERCENT = "percent"
105+
FC = "fraction of cycle"
106+
107+
95108
def create_unit_with_value(model_name, scalar_type, unit_type, unit_default):
96109
"""this uses create_model instead of generics, which lets us set default values"""
97110

0 commit comments

Comments
 (0)