fix(cont-grid): add extra point in lines to include endpoint

This commit is contained in:
2026-07-10 16:53:14 +02:00
parent 277a54b913
commit 46a05b48e0
2 changed files with 24 additions and 11 deletions
+7 -6
View File
@@ -141,12 +141,13 @@ class ContGrid(ScanBase):
or setting up the devices.
"""
self._check_motor_inputs()
frames_per_trigger = int(
np.ceil(np.abs(self.fast_end - self.fast_start) / self.fast_step_size)
)
self._cont_motor_params["num_lines"] = int(
np.ceil(np.abs(self.stepper_stop - self.stepper_start) / self.stepper_step_size)
)
frames_per_trigger = (
int(np.ceil(np.abs(self.fast_end - self.fast_start) / self.fast_step_size)) + 1
) # include last point
self._cont_motor_params["num_lines"] = (
int(np.ceil(np.abs(self.stepper_stop - self.stepper_start) / self.stepper_step_size))
+ 1
) # include last point
positions = position_generators.nd_grid_positions(
[
(self.fast_start, self.fast_end, frames_per_trigger),
+17 -5
View File
@@ -115,11 +115,23 @@ def test_cont_grid_prepare_scan_keeps_generated_positions_stable(v4_scan_assembl
scan.prepare_scan()
assert np.array_equal(scan.positions, np.array([[1.0, -2.0], [1.0, 2.0]]))
assert scan.scan_info.frames_per_trigger == 2
assert scan._cont_motor_params["num_lines"] == 2
assert scan.scan_info.additional_scan_parameters["num_lines"] == 2
assert np.array_equal(scan.positions, np.array([[1.0, -2.0], [1.0, 0.0], [1.0, 2.0]]))
assert scan.scan_info.frames_per_trigger == 3
assert scan._cont_motor_params["num_lines"] == 3
assert scan.scan_info.additional_scan_parameters["num_lines"] == 3
assert np.array_equal(
scan.scan_info.additional_scan_parameters["computed_positions"],
np.array([[-1.0, -2.0], [1.0, -2.0], [-1.0, 2.0], [1.0, 2.0]]),
np.array(
[
[-1.0, -2.0],
[0.0, -2.0],
[1.0, -2.0],
[-1.0, 0.0],
[0.0, 0.0],
[1.0, 0.0],
[-1.0, 2.0],
[0.0, 2.0],
[1.0, 2.0],
]
),
)