docs(omny): note that scilog_last_ptycho_scans still needs porting
CI for csaxs_bec / test (push) Successful in 2m18s
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:
@@ -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.
|
||||
Reference in New Issue
Block a user