From ead6db7bd4db1235c8e95d83d6c0b0793b9a88b0 Mon Sep 17 00:00:00 2001 From: rettigl Date: Thu, 6 Feb 2025 23:37:10 +0100 Subject: [PATCH] estimate collection time for static exposures --- src/specsscan/helpers.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/specsscan/helpers.py b/src/specsscan/helpers.py index 371122e..4677bfe 100644 --- a/src/specsscan/helpers.py +++ b/src/specsscan/helpers.py @@ -426,8 +426,16 @@ def handle_meta( dt_list_iso = [time.replace(".", "-").replace(" ", "T") for time in time_list] datetime_list = [dt.datetime.fromisoformat(dt_iso) for dt_iso in dt_list_iso] - ts_from = dt.datetime.timestamp(datetime_list[0]) # POSIX timestamp - ts_to = dt.datetime.timestamp(datetime_list[-1]) # POSIX timestamp + ts_from = dt.datetime.timestamp(min(datetime_list)) # POSIX timestamp + ts_to = dt.datetime.timestamp(max(datetime_list)) # POSIX timestamp + if ts_from == ts_to: + try: + ts_to = ( + ts_from + + metadata["scan_info"]["Exposure"] / 1000 * metadata["scan_info"]["Averages"] + ) + except KeyError: + pass metadata["timing"] = { "acquisition_start": dt.datetime.fromtimestamp(ts_from, dt.timezone.utc).isoformat(), "acquisition_stop": dt.datetime.fromtimestamp(ts_to, dt.timezone.utc).isoformat(),