- 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.
Add docs/developer/editing_docs.md documenting the MyST/Sphinx conventions
for this site: page anatomy (cross-reference label + single H1), language-
tagged code fences, admonitions, cross-references, the {download} role for
non-image files, the {figure} directive, and how to add a page to a toctree.
Also covers local preview, the merge-then-RTD-build flow, and pitfalls
(broken refs are warnings, public visibility, placeholder consistency).
Turn the empty developer.md stub into a landing page with a toctree and a
card linking to the new guide.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Migrate the SAXS data-analysis content into the RTD/Sphinx docs as
user/saxs/data_analysis.md, and turn the empty saxs.md stub into a
landing page linking to it.
Source: cSAXS documentation wiki, page "SAXS-data-analysis"
https://gitea.psi.ch/cSAXS/documentation/wiki/SAXS-data-analysis
(git@gitea.psi.ch:cSAXS/documentation.wiki.git, as of 408e535)
Converted Gitea-flavored Markdown to MyST: added cross-reference
labels, bash code fences, and {note} admonitions.
Also bundle the SAXS standards plate datasheet (SAXS_standards_plate.pdf),
previously at cSAXS/documentation/attachments/, linked via the MyST
{download} role so Sphinx copies it into the build.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>