docs(omny): note that scilog_last_ptycho_scans still needs porting
CI for csaxs_bec / test (push) Successful in 2m18s

flomni and LamNI both have scilog_last_ptycho_scans plus its
projection-timing-log infrastructure; OMNY has neither, only the
older per-subtomo write_to_scilog/_write_subtomo_to_scilog. Flag it
as a TODO (same style as the existing filter/eye-check and
tomo_reconstruct TODOs in this folder) so it isn't lost, and note
that the step-size field just added to flomni/lamni's version should
be included from the start when this gets ported.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CpPtD7tCRwRZZnREhWcJi8
This commit is contained in:
x12sa
2026-09-16 11:40:29 +02:00
co-authored by Claude Sonnet 5
parent 066d93f6cf
commit 43aa84ac0e
@@ -0,0 +1,44 @@
# TODO: OMNY is missing the scilog_last_ptycho_scans command (and its timing-log infrastructure) that flomni/LamNI have
Found while adding a step-size field to flomni's and LamNI's
`scilog_last_ptycho_scans` per-scan summary line (branch
`fixes/flomni_beamtime_2`). OMNY has no equivalent at all, not even the
older/pre-step-size version — porting it is a bigger job than the two-line
fixes just made to flomni/lamni, so it's flagged here instead of attempted
opportunistically.
## 1. scilog_last_ptycho_scans + timing-log infrastructure (new feature, not yet on OMNY at all)
flomni (`flomni.py`) and LamNI (`lamni.py`) both have a full
timing-instrumented pipeline behind `scilog_last_ptycho_scans(number_of_scans=1)`:
- `_TIMING_LOG_DIR`/`_PROJECTION_TIMING_LOG` — an append-only JSONL log of
per-projection timing records, one written per completed projection via
`_log_projection_timing(...)` (flomni.py:3180, lamni.py:966), called from
each setup's per-angle tomo-scan loop (flomni.py:2578/3502, lamni.py:1611).
- `_read_last_timing_records(number_of_scans)` (flomni.py:3265, lamni.py:1051)
— reads back the last N records from that log.
- `scilog_last_ptycho_scans(number_of_scans=1)` (flomni.py:3291, lamni.py:1077)
— prompts for a free-text comment, builds one summary line per record (scan
number(s), FOV, step size, exposure, duration), and sends it via each
setup's tolerant scilog-write helper (`Flomni._scilog_write`, flomni.py:2993;
`LamNI.write_to_scilog`, lamni.py:928).
OMNY (`omny.py`) only has the much older `write_to_scilog(content, tags=None)`
(omny.py:855) and `_write_subtomo_to_scilog(subtomo_number)` (omny.py:916) — a
per-subtomo one-liner, not a "last N scans" summary command — and no timing
log, no duration measurement, and no `scilog_last_ptycho_scans` at all.
`OMNY.tomo_scan()`/`_tomo_scan_at_angle()` (omny.py:1005/966) would be the
natural hook point for a `_log_projection_timing`-style call, mirroring where
flomni/lamni call theirs.
Porting this means: adding the timing-log write call to OMNY's per-angle
loop, then copying `_read_last_timing_records`/`scilog_last_ptycho_scans`
across (with OMNY-specific field names in place of `fovx`/`fovy` or
`lamni_piezo_range_x`/`y` — whatever OMNY's equivalent scan-size parameter is
called). Remember to include the `step {value} um` field in the per-scan
line from the start (already added to flomni's and lamni's versions, keyed
off `tomo_shellstep`) rather than needing a second follow-up fix like this
one.
Not scoped/designed further here — just flagging it so it isn't lost.