From a2424f5867558e6954e14edff54ca59976455d6d Mon Sep 17 00:00:00 2001 From: x12sa Date: Mon, 18 May 2026 14:31:49 +0200 Subject: [PATCH] write ptycho alignment scan info for matlab --- .../plugins/flomni/flomni.py | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py b/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py index 86887cd..2310e4f 100644 --- a/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py +++ b/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py @@ -1618,7 +1618,7 @@ class Flomni( self.feye_out() tags = ["BEC_alignment_tomo", self.sample_name] - + self.write_alignment_scan_numbers(bec.queue.next_scan_number) start_angle = 0 alignment_scan_numbers = [] @@ -1667,6 +1667,32 @@ class Flomni( print(scilog_content) bec.messaging.scilog.new().add_text(scilog_content.replace("\n", "
")).add_tags("alignmentscan").send() + def write_alignment_scan_numbers(self, first_scan): + import os + + file = os.path.expanduser("~/data/raw/logs/ptychotomoalign_scannum.txt") + os.makedirs(os.path.dirname(file), exist_ok=True) + + scans = [first_scan + k for k in range(5)] + angles = [0, 45, 90, 135, 180] + + x_vals = [] + + for angle in angles: + x, y, z = self.get_alignment_offset(angle) + x_vals.append(x) + + zeros = [0] * len(angles) + + with open(file, "w") as f: + f.write(" ".join(map(str, scans)) + "\n") + f.write(" ".join(map(str, angles)) + "\n") + f.write(" ".join(f"{x:.2f}" for x in x_vals) + "\n") + f.write(" ".join(map(str, x_vals)) + "\n") + f.write(" ".join(map(str, zeros)) + "\n") + + + def sub_tomo_scan(self, subtomo_number, start_angle=None): """ Performs a sub tomogram scan.