# Debug scripts Throwaway diagnostics for investigating beamline problems. **Not** part of the plugin: nothing here is imported by `csaxs_bec`, and none of it needs BEC or a venv beyond the libraries each script names. Kept on the `debug/scan-artefacts` branch rather than `main` so that a half-finished diagnostic never reaches a production checkout. Promote anything that turns out to be generally useful; delete the rest once the question it answered is settled. ## scan_artefact_check.py Desk check for the July 2026 commissioning scan artefacts reported by Andreas Apseros and Kazu Hirosawa. Read-only — opens BEC master files and writes nothing. ```sh python3 scan_artefact_check.py --root /sls/x12sa/data/p23080/raw/data \ --scan 473 --scan 450 --scan 411 --scan 254 ``` Answers two questions without beam: - **end-of-line intensity** — is the last point of every line systematically weaker, and is the *first* point affected too (which would mean a different mechanism)? - **dropped line motion** — did the fast axis actually travel on every line? A line whose span collapsed is motion that did not happen while the scan still reported success. Include a known-clean scan (254) so a null result distinguishes "this scan was fine" from "the analysis is wrong". Run `--list` first if anything looks off; it dumps the file structure. > The motion check reads the fast-axis *readback*. If that axis is an open-loop stepper > with no encoder, the readback is the commanded position and lost steps are invisible: > a collapsed span still proves failure, but a healthy span proves nothing.