new BS logic for modes 6 and 7

This commit is contained in:
John Henry Beale
2026-06-12 08:39:33 +02:00
parent 1170855557
commit e5f96e8cb4
+7 -17
View File
@@ -540,28 +540,18 @@ class Jungfrau:
# --------------------------------------------------------
self.n_pulses_run = self._pulse_count_for_images(self.images)
if motion_mode in (6, 7):
# Hit-and-return modes are grouped into CTA cycles; align BS file boundaries to whole cycles.
cycles_per_jfj_block = ceil(
jf_block_size / self.images_per_cycle
)
self.block_size_to_slic = (
cycles_per_jfj_block *
self.pulses_per_cycle
)
_log.debug(
f"Mode {motion_mode}: aligning BS blocks to whole cycles: "
f"cycles_per_jfj_block={cycles_per_jfj_block}, "
f"block_size_to_slic={self.block_size_to_slic}"
)
else:
self.block_size_to_slic = self._pulse_count_for_images(jf_block_size)
self.block_size_to_slic = self._pulse_count_for_images(jf_block_size)
if motion_mode == 4:
# For continuous acquisition, image pulses and raw pulses are one-to-one.
self.block_size_to_slic = jf_block_size
_log.debug(
f"Mode {motion_mode}: exact BS block size for {jf_block_size} JF images = {self.block_size_to_slic}, "
f"images_per_cycle={self.images_per_cycle}, pulses_per_cycle={self.pulses_per_cycle}, "
f"n_pulses_run={self.n_pulses_run}"
)
_log.debug(
f"pulse/image mapping: motion_mode={motion_mode}, "
f"images_per_cycle={self.images_per_cycle}, "