Skip to content

Commit 59c3047

Browse files
Refactor attribute names to add um
1 parent 3adbb1e commit 59c3047

File tree

3 files changed

+29
-29
lines changed

3 files changed

+29
-29
lines changed

spec/ndx-microscopy.extensions.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,13 @@ groups:
6868
attributes:
6969
- name: scan_direction
7070
dtype: text
71-
doc: Direction of line scanning (horizontal, vertical, or diagonal).
71+
doc: Direction of line scanning (horizontal or vertical).
7272
required: false
73-
- name: line_rate
73+
- name: line_rate_in_Hz
7474
dtype: float64
7575
doc: Rate of line scanning in lines per second.
7676
required: false
77-
- name: dwell_time
77+
- name: dwell_time_in_s
7878
dtype: float64
7979
doc: Average time spent at each scanned point.
8080
required: false
@@ -87,7 +87,7 @@ groups:
8787
dtype: text
8888
doc: Specific raster scanning pattern (e.g., bidirectional, unidirectional).
8989
required: false
90-
- name: dwell_time
90+
- name: dwell_time_in_s
9191
dtype: float64
9292
doc: Average time spent at each scanned point.
9393
required: false
@@ -96,7 +96,7 @@ groups:
9696
neurodata_type_inc: ImagingModality
9797
doc: Resonant scanning method using a rapidly oscillating mirror for high-speed imaging.
9898
attributes:
99-
- name: resonant_frequency
99+
- name: resonant_frequency_in_Hz
100100
dtype: float64
101101
doc: Frequency of the resonant scanner in Hz.
102102
required: false
@@ -115,7 +115,7 @@ groups:
115115
- name: axial_point_spread_function_in_um
116116
dtype: text
117117
doc: Estimated axial spatial profile or point spread function, expressed as mean [um] ± s.d [um].
118-
- name: pulse_duration
118+
- name: pulse_duration_in_s
119119
dtype: float64
120120
doc: Duration of excitation pulses in seconds.
121121
required: false
@@ -128,7 +128,7 @@ groups:
128128
dtype: float64
129129
doc: Thickness of the light sheet in micrometers.
130130
required: false
131-
- name: illumination_angle
131+
- name: illumination_angle_in_degrees
132132
dtype: float64
133133
doc: Angle of light sheet illumination in degrees.
134134
required: false
@@ -141,7 +141,7 @@ groups:
141141
dtype: numeric
142142
doc: Maximum number of points that can be scanned in a single frame.
143143
required: false
144-
- name: dwell_time
144+
- name: dwell_time_in_s
145145
dtype: float64
146146
doc: Average time spent at each scanned point.
147147
required: false

src/pynwb/ndx_microscopy/testing/_mock.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -88,16 +88,16 @@ def mock_LineScanning(
8888
name: Optional[str] = None,
8989
description: str = "A mock instance of a LineScanning type to be used for rapid testing.",
9090
scan_direction: Optional[str] = "horizontal",
91-
line_rate: Optional[float] = 500.0,
92-
dwell_time: Optional[float] = 0.001,
91+
line_rate_in_Hz: Optional[float] = 1000.0,
92+
dwell_time_in_s: Optional[float] = 1.0e-6,
9393
) -> ndx_microscopy.LineScanning:
9494
"""Line scanning method used in microscopy, particularly common in two-photon imaging."""
9595
line_scanning = ndx_microscopy.LineScanning(
9696
name=name or name_generator("LineScanning"),
9797
description=description,
9898
scan_direction=scan_direction,
99-
line_rate=line_rate,
100-
dwell_time=dwell_time,
99+
line_rate_in_Hz=line_rate_in_Hz,
100+
dwell_time_in_s=dwell_time_in_s,
101101
)
102102
return line_scanning
103103

@@ -107,14 +107,14 @@ def mock_RasterScanning(
107107
name: Optional[str] = None,
108108
description: str = "A mock instance of a RasterScanning type to be used for rapid testing.",
109109
scan_pattern: Optional[str] = "bidirectional",
110-
dwell_time: Optional[float] = 0.0005,
110+
dwell_time_in_s: Optional[float] = 1.0e-6,
111111
) -> ndx_microscopy.RasterScanning:
112112
"""Raster scanning method with grid-like point-by-point or line-by-line acquisition."""
113113
raster_scanning = ndx_microscopy.RasterScanning(
114114
name=name or name_generator("RasterScanning"),
115115
description=description,
116116
scan_pattern=scan_pattern,
117-
dwell_time=dwell_time,
117+
dwell_time_in_s=dwell_time_in_s,
118118
)
119119
return raster_scanning
120120

@@ -123,14 +123,14 @@ def mock_ResonantScanning(
123123
*,
124124
name: Optional[str] = None,
125125
description: str = "A mock instance of a ResonantScanning type to be used for rapid testing.",
126-
resonant_frequency: Optional[float] = 8000.0,
126+
resonant_frequency_in_Hz: Optional[float] = 8000.0,
127127
resonant_amplitude: Optional[float] = 1.5,
128128
) -> ndx_microscopy.ResonantScanning:
129129
"""Resonant scanning method using a rapidly oscillating mirror for high-speed imaging."""
130130
resonant_scanning = ndx_microscopy.ResonantScanning(
131131
name=name or name_generator("ResonantScanning"),
132132
description=description,
133-
resonant_frequency=resonant_frequency,
133+
resonant_frequency_in_Hz=resonant_frequency_in_Hz,
134134
resonant_amplitude=resonant_amplitude,
135135
)
136136
return resonant_scanning
@@ -142,15 +142,15 @@ def mock_TemporalFocusing(
142142
description: str = "A mock instance of a TemporalFocusing type to be used for rapid testing.",
143143
lateral_point_spread_function_in_um: str = "0.5 ± 0.1",
144144
axial_point_spread_function_in_um: str = "2.0 ± 0.3",
145-
pulse_duration: Optional[float] = 0.0000001, # 100 nanoseconds
145+
pulse_duration_in_s: Optional[float] = 0.0000001, # 100 nanoseconds
146146
) -> ndx_microscopy.TemporalFocusing:
147147
"""Temporal focusing scanning method for depth-resolved imaging."""
148148
temporal_focusing = ndx_microscopy.TemporalFocusing(
149149
name=name or name_generator("TemporalFocusing"),
150150
description=description,
151151
lateral_point_spread_function_in_um=lateral_point_spread_function_in_um,
152152
axial_point_spread_function_in_um=axial_point_spread_function_in_um,
153-
pulse_duration=pulse_duration,
153+
pulse_duration_in_s=pulse_duration_in_s,
154154
)
155155
return temporal_focusing
156156

@@ -160,14 +160,14 @@ def mock_LightSheet(
160160
name: Optional[str] = None,
161161
description: str = "A mock instance of a LightSheet type to be used for rapid testing.",
162162
sheet_thickness_in_um: Optional[float] = 5.0,
163-
illumination_angle: Optional[float] = 45.0,
163+
illumination_angle_in_degrees: Optional[float] = 45.0,
164164
) -> ndx_microscopy.LightSheet:
165165
"""Light sheet method."""
166166
light_sheet = ndx_microscopy.LightSheet(
167167
name=name or name_generator("LightSheet"),
168168
description=description,
169169
sheet_thickness_in_um=sheet_thickness_in_um,
170-
illumination_angle=illumination_angle,
170+
illumination_angle_in_degrees=illumination_angle_in_degrees,
171171
)
172172
return light_sheet
173173

@@ -177,15 +177,15 @@ def mock_RandomAccessScanning(
177177
name: Optional[str] = None,
178178
description: str = "A mock instance of a RandomAccessScanning type to be used for rapid testing.",
179179
max_scan_points: Optional[int] = 1000,
180-
dwell_time: Optional[float] = 0.0001,
180+
dwell_time_in_s: Optional[float] = 1.0e-6,
181181
scanning_pattern: Optional[str] = "spiral",
182182
) -> ndx_microscopy.RandomAccessScanning:
183183
"""Random access scanning method for targeted, high-speed imaging of specific regions."""
184184
random_access_scanning = ndx_microscopy.RandomAccessScanning(
185185
name=name or name_generator("RandomAccessScanning"),
186186
description=description,
187187
max_scan_points=max_scan_points,
188-
dwell_time=dwell_time,
188+
dwell_time_in_s=dwell_time_in_s,
189189
scanning_pattern=scanning_pattern,
190190
)
191191
return random_access_scanning

src/pynwb/tests/test_constructors.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ def test_constructor_line_scanning():
7373
line_scanning = mock_LineScanning()
7474
assert line_scanning.description == "A mock instance of a LineScanning type to be used for rapid testing."
7575
assert line_scanning.scan_direction == "horizontal"
76-
assert line_scanning.line_rate == 500.0
77-
assert line_scanning.dwell_time == 0.001
76+
assert line_scanning.line_rate_in_Hz == 1000.0
77+
assert line_scanning.dwell_time_in_s == 1e-6
7878
assert isinstance(line_scanning, LineScanning)
7979
assert isinstance(line_scanning, ImagingModality) # Test inheritance
8080

@@ -84,7 +84,7 @@ def test_constructor_raster_scanning():
8484
raster_scanning = mock_RasterScanning()
8585
assert raster_scanning.description == "A mock instance of a RasterScanning type to be used for rapid testing."
8686
assert raster_scanning.scan_pattern == "bidirectional"
87-
assert raster_scanning.dwell_time == 0.0005
87+
assert raster_scanning.dwell_time_in_s == 1.0e-6
8888
assert isinstance(raster_scanning, RasterScanning)
8989
assert isinstance(raster_scanning, ImagingModality) # Test inheritance
9090

@@ -93,7 +93,7 @@ def test_constructor_resonant_scanning():
9393
"""Test constructor for ResonantScanning class."""
9494
resonant_scanning = mock_ResonantScanning()
9595
assert resonant_scanning.description == "A mock instance of a ResonantScanning type to be used for rapid testing."
96-
assert resonant_scanning.resonant_frequency == 8000.0
96+
assert resonant_scanning.resonant_frequency_in_Hz == 8000.0
9797
assert resonant_scanning.resonant_amplitude == 1.5
9898
assert isinstance(resonant_scanning, ResonantScanning)
9999
assert isinstance(resonant_scanning, ImagingModality) # Test inheritance
@@ -105,7 +105,7 @@ def test_constructor_temporal_focusing():
105105
assert temporal_focusing.description == "A mock instance of a TemporalFocusing type to be used for rapid testing."
106106
assert temporal_focusing.lateral_point_spread_function_in_um == "0.5 ± 0.1"
107107
assert temporal_focusing.axial_point_spread_function_in_um == "2.0 ± 0.3"
108-
assert temporal_focusing.pulse_duration == 0.0000001
108+
assert temporal_focusing.pulse_duration_in_s == 0.0000001
109109
assert isinstance(temporal_focusing, TemporalFocusing)
110110
assert isinstance(temporal_focusing, ImagingModality) # Test inheritance
111111

@@ -115,7 +115,7 @@ def test_constructor_light_sheet():
115115
light_sheet = mock_LightSheet()
116116
assert light_sheet.description == "A mock instance of a LightSheet type to be used for rapid testing."
117117
assert light_sheet.sheet_thickness_in_um == 5.0
118-
assert light_sheet.illumination_angle == 45.0
118+
assert light_sheet.illumination_angle_in_degrees == 45.0
119119
assert isinstance(light_sheet, LightSheet)
120120
assert isinstance(light_sheet, ImagingModality) # Test inheritance
121121

@@ -128,7 +128,7 @@ def test_constructor_random_access_scanning():
128128
== "A mock instance of a RandomAccessScanning type to be used for rapid testing."
129129
)
130130
assert random_access_scanning.max_scan_points == 1000
131-
assert random_access_scanning.dwell_time == 0.0001
131+
assert random_access_scanning.dwell_time_in_s == 1.0e-6
132132
assert random_access_scanning.scanning_pattern == "spiral"
133133
assert isinstance(random_access_scanning, RandomAccessScanning)
134134
assert isinstance(random_access_scanning, ImagingModality) # Test inheritance

0 commit comments

Comments
 (0)