Refresh the Safety at cSAXS checklist PDF (now cross-links back to the
published safety page) and reword the checklist intro to note the local
contact walks users through it.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The 'Checkout BEC Plugin Repository' step pinned repository to bec/csaxs_bec
with ref github.head_ref. For a pull request opened from a fork, head_ref is
the fork's branch name, which does not exist in the base repo, so the checkout
failed with 'git ... exit code 1' before any tests ran.
Fall through to github.sha instead: on pull_request events that is the
test-merge commit, which lives in the base repo, so the checkout succeeds for
fork PRs and in-repo branches alike (and gates on the merged result).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a user-facing safety page featuring the Safety Declaration form and a
downloadable "Safety at cSAXS" checklist PDF, and list the key safety links
from the checklist. Register the page in the top-level toctree after the
introduction.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the 4-parameter (quadratic) constants with the 3-parameter
pure-exponential fit from plot_intensity_map.py (operating-locus
calibration, gap-residual RMS ~14 um). c2 was insignificant (0.2 sigma)
and left E_inf degenerate (+/-11 keV).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Add tomo_scan_resume() as the primary recommended way to continue an
interrupted scan, in both the user guide and the setup reference
(manual subtomo_start/start_angle/projection_number kept as fallback)
- Add a new "Queueing multiple scans" section (short walkthrough in the
user guide, full command reference + status semantics in the setup
reference, cross-linked via a new anchor)
- Document the live progress report's ETA, automatic gap detection, and
the total-time-lost-to-gaps summary
- Document the zero_deg_reference_at_each_subtomo tomo_parameters() option
- Fix stale SPEC_ptycho_align.m references -> BEC_ptycho_align.m
- Tomo scan queue: queue multiple parameter sets and run them sequentially,
unattended, on the same sample (tomo_queue_add/show/execute/delete/clear);
resumes a partially-completed job automatically rather than restarting it
- tomo_scan_resume(): resume a crashed/interrupted tomo scan from the exact
subtomo/angle it stopped at, instead of restarting from the beginning
- Idle-time-aware ETA: detects gaps (crashes, beamline-down pauses) and
excludes them from the remaining-time estimate; reports total time lost
to gaps at the end of a scan
- Fixed non-uniform angular spacing in the interlaced 8-sub-tomogram
tomogram (sub_tomo_scan): phase offsets and per-projection step now
derive from the same corrected value, independent of requested total
- Fixed corr_pos_y/corr_angle_y/corr_pos_y_2/corr_angle_y_2/
tomo_alignment_fit being silently wiped on every client restart
(XrayEyeAlign.__init__); tomo_alignment_fit now also resets at sample
change, where it was previously missed
- Tracked, stepped fsamy moves (umvr_fsamy_tracked/umv_fsamy_tracked) to
keep the laser tracker locked during large moves, used in sample
transfer and manual x-ray-eye alignment jogs
- Added zero_deg_reference_at_each_subtomo for radiation-damage tracking
- tomo_parameters(): fixed several display/rounding inconsistencies and
added a notification when the requested projection count gets adjusted
- Add show/hide/positionable target crosshair (RPC), separate from bec_widgets' mouse crosshair
- Add zoom in/out/fit buttons; fix manual zoom/pan being wiped on every live-view re-enable
- Add reset_zoom() RPC method, called at start of x_ray_eye_align.py
- Style ROI outline blue/thinner (was near-white via compact_color default)
- Append the current BEC scan number to the Projection info-item,
e.g. "120 / 400 (S06650→S06770)", for direct comparison against
ptycho reconstruction filenames (which use the same S##### scan
number convention). Read from
primary.info[0].active_request_block.scan_number — already
available on the queue object, no new global var needed.
- Add tomo_start_scan_number to the progress payload, mirroring the
existing tomo_start_time pattern: a new tomo_progress key to be
written once by the scan loop when a tomogram begins. Producer side
(flomni.py) not yet implemented — falls back to showing only the
current scan number until then.
- New "Beamline states" draggable card (positioned just above
Contacts): lists every beamline state currently registered with
BEC, its live status (valid/invalid/warning/unknown), and whether
the scan interlock is watching it. Cross-references
bec.builtin_actors.scan_interlock.states_watched/.enabled against
each state's live status to flag which watched states are
currently mismatched (i.e. actually contributing to a queue lock),
vs. states that are invalid but not watched and therefore not
blocking anything (e.g. a simulated/test shutter).
This is a display-only diagnostic; the "blocked" experiment_status
itself is unchanged and still derived from the queue's own locks
(_read_queue_locks), not from beamline states directly.
- Add fmtScan() JS helper (S##### zero-padded formatting, matching
the existing ptycho filename convention) and renderBeamlineStates().
- Help panel updated to explain both additions.