feat(lamni): skip opaque pixels in the smear min-projection
CI for csaxs_bec / test (push) Failing after 2m59s

With the min-projection, the opaque sample holder rotating through the
X-ray eye view blackened every pixel it passed at any angle and shrank the
usable field of view. SmearComposite now ignores, per frame, pixels darker
than opaque_level (default 0.25) times the frame's 99th-percentile value
and takes the minimum over the remaining frames; pixels opaque at every
angle fall back to the plain minimum, and opaque_level=0 is the plain
minimum. opaque_level is passed through from
lamni.xrayeye_rotation_center_calibration_smear_experimental() and stored
in the calibration HDF5.

The smear capture-rate test now replaces the module's time instead of
patching time.time globally, which EPICS CA threads left running by other
tests also advanced.

Docs: smear opaque_level, LamNI optics in/out incl. central stop,
interferometer feedback commands, and moving to the scan centre including
the X-ray eye fit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155LWmbktVgWdnRZqtveqQv
This commit is contained in:
x12saandClaude Opus 5.5 committed 2026-10-12 18:55:42 +02:00
1 parent af83afeed4
commit 1b06729dba
6 files changed
+204 -31

No files matched your search

+1 -1
View File
@@ -39,7 +39,7 @@ Conventions for writing these MyST/Sphinx docs and how changes go live on Read t
## LamNI smear aid architecture
Device/ipython-client/GUI widget interfaces for the smear rotation-center calibration aid, and the `bw-generate-cli` regeneration pitfall.
Device/ipython-client/GUI widget interfaces for the smear rotation-center calibration aid, the min/max composite with opaque-pixel masking, and the `bw-generate-cli` regeneration pitfall.
```
````