Commit Graph
1463 Commits
Author SHA1 Message Date
perl_d b57b26d1e2 chore: update aarecommon dependency
Build and Publish / test (pull_request) Successful in 2m19s
Build and Publish / build (pull_request) Successful in 22s
Build and Publish / Build and Deploy Docs (pull_request) Successful in 34s
Build and Publish / test (pull_request_target) Successful in 2m11s
Build and Publish / test (push) Successful in 2m17s
Build and Publish / build (pull_request_target) Successful in 18s
Build and Publish / build (push) Successful in 16s
Build and Publish / Build and Deploy Docs (pull_request_target) Successful in 34s
Build and Publish / Build and Deploy Docs (push) Successful in 37s
2026-07-06 12:06:44 +02:00
perl_d b0863e5ddb style: format with ruff
Build and Publish / test (pull_request) Failing after 1m23s
Build and Publish / build (pull_request) Skipped
Build and Publish / Build and Deploy Docs (pull_request) Skipped
2026-07-06 11:53:49 +02:00
perl_d 13bddd43c7 refactor: use aarecommon and remove common 2026-07-06 11:53:49 +02:00
perl_d 8f0a85316d refactor: move qt logging to gui module 2026-07-06 11:53:49 +02:00
perl_d ccc2185561 chore: add aarecommon dependency 2026-07-06 11:49:29 +02:00
perl_d 9025c425f8 chore: add a bunch of stuff to gitignore
Build and Publish / build (pull_request_target) Canceled after 0s
Build and Publish / Build and Deploy Docs (pull_request_target) Canceled after 0s
Build and Publish / test (pull_request_target) Canceled after 19s
Build and Publish / build (pull_request) Canceled after 0s
Build and Publish / Build and Deploy Docs (pull_request) Canceled after 0s
Build and Publish / test (pull_request) Canceled after 39s
Build and Publish / test (push) Successful in 2m18s
Build and Publish / build (push) Successful in 18s
Build and Publish / Build and Deploy Docs (push) Successful in 42s
2026-07-06 10:57:04 +02:00
perl_d b0b655aea0 feat: live changes 26-07-06
Build and Publish / test (push) Successful in 2m32s
Build and Publish / build (push) Successful in 18s
Build and Publish / Build and Deploy Docs (push) Successful in 47s
2026-07-06 10:45:15 +02:00
perl_d 3d46663e23 chore: add uv to dependencies
Build and Publish / test (pull_request) Successful in 2m13s
Build and Publish / test (push) Successful in 2m9s
Build and Publish / build (pull_request) Successful in 19s
Build and Publish / test (pull_request_target) Successful in 2m16s
Build and Publish / build (push) Successful in 20s
Build and Publish / build (pull_request_target) Successful in 22s
Build and Publish / Build and Deploy Docs (pull_request) Successful in 39s
Build and Publish / Build and Deploy Docs (push) Successful in 42s
Build and Publish / Build and Deploy Docs (pull_request_target) Successful in 42s
2026-07-06 10:29:31 +02:00
appleb_m 4de76d9333 fixed workflows test to use mock_devs.dtz
Build and Publish / test (push) Successful in 2m18s
Build and Publish / build (push) Successful in 17s
Build and Publish / Build and Deploy Docs (push) Successful in 39s
2026-07-03 14:22:11 +02:00
appleb_m 18fe88469a bec/gui: added save_current_psotion and save_and_reload macros to GUI
Build and Publish / test (push) Failing after 2m13s
Build and Publish / build (push) Skipped
Build and Publish / Build and Deploy Docs (push) Skipped
2026-07-03 14:13:36 +02:00
appleb_m a6fc27dc9f rotation_scan_manager.py: fixed missing imports bug
Build and Publish / build (push) Skipped
Build and Publish / test (push) Failing after 2m15s
Build and Publish / Build and Deploy Docs (push) Skipped
2026-07-03 11:29:20 +02:00
appleb_m fdd0bd3868 local_contact_panel.py: added config for autoamtion, currently just the sleep between mount and wait.
Build and Publish / test (push) Failing after 2m12s
Build and Publish / build (push) Skipped
Build and Publish / Build and Deploy Docs (push) Skipped
2026-07-03 11:28:07 +02:00
appleb_m 6a90a01dbe local_contact_panel.py: added config for autoamtion, currently just the sleep between mount and wait. 2026-07-03 11:28:00 +02:00
appleb_m ce1f939e63 exceptio_handling: removed warning message from log when user does not have rights to do something.
Build and Publish / test (push) Failing after 2m8s
Build and Publish / build (push) Skipped
Build and Publish / Build and Deploy Docs (push) Skipped
2026-07-03 10:41:34 +02:00
appleb_m 7d20534c60 tell_backend: all exceptions where being caught and squashed/renamed. Hopefully fixed, may lead to strange error behaviours for other fails.
Build and Publish / test (push) Failing after 2m6s
Build and Publish / build (push) Skipped
Build and Publish / Build and Deploy Docs (push) Skipped
2026-07-02 17:37:29 +02:00
appleb_m 1b7c254654 tell_backend: all exceptions where being caught and squashed/renamed. Hopefully fixed, may lead to strange error behaviours for other fails.
Build and Publish / test (push) Failing after 2m1s
Build and Publish / build (push) Skipped
Build and Publish / Build and Deploy Docs (push) Skipped
2026-07-02 17:31:20 +02:00
appleb_m 25f8959ffc tell_backend: unhandled pshell errors are now critical 2026-07-02 17:21:52 +02:00
appleb_m 031391b40b bec: reinitialise_beamline_environemnt now fixed 2026-07-02 17:19:11 +02:00
appleb_m 99634f69c2 scan_completed is now beamline agnostic 2026-07-02 17:18:50 +02:00
appleb_m aea43a31cc workflows: fixed bug where safe_positon check was looking at the desired dtz position 2026-07-02 17:18:36 +02:00
duan_j 0af58574b2 debug with logger warning
Build and Publish / test (push) Failing after 13m54s
Build and Publish / build (push) Skipped
Build and Publish / Build and Deploy Docs (push) Skipped
2026-06-30 16:50:40 +02:00
duan_j cfa1cd669d debug with print
Build and Publish / test (push) Successful in 2m11s
Build and Publish / build (push) Successful in 17s
Build and Publish / Build and Deploy Docs (push) Successful in 40s
2026-06-30 16:49:15 +02:00
GotthardG 51535239d0 adding beam center to raster shots, correcting test logic
Build and Publish / test (push) Successful in 2m7s
Build and Publish / build (push) Successful in 17s
Build and Publish / Build and Deploy Docs (push) Successful in 40s
2026-06-30 15:16:22 +02:00
GotthardG 85d568fe52 adding beam center to raster shots, correcting test logic
Build and Publish / test (push) Failing after 2m3s
Build and Publish / build (push) Skipped
Build and Publish / Build and Deploy Docs (push) Skipped
2026-06-30 15:01:46 +02:00
appleb_m 1afdb00e26 Add beam center display option to diffraction image rendering
Build and Publish / test (push) Failing after 2m5s
Build and Publish / build (push) Skipped
Build and Publish / Build and Deploy Docs (push) Skipped
2026-06-30 14:56:32 +02:00
appleb_m 22749f18d6 Enable screening mode for rotation scans and improve logging/debug messages in rotation and raster services.
Build and Publish / test (push) Successful in 2m9s
Build and Publish / build (push) Successful in 17s
Build and Publish / Build and Deploy Docs (push) Successful in 39s
2026-06-30 14:54:18 +02:00
GotthardG 05bd967733 adding test for rotation screening diffraction image ingestion logic to aaredb and service methods
Build and Publish / test (push) Successful in 2m11s
Build and Publish / build (push) Successful in 18s
Build and Publish / Build and Deploy Docs (push) Successful in 41s
2026-06-29 16:05:05 +02:00
GotthardG 5c9635d35d adding screening diffraction image ingestion logic to aaredb and service methods
Build and Publish / test (push) Successful in 2m14s
Build and Publish / build (push) Successful in 17s
Build and Publish / Build and Deploy Docs (push) Successful in 42s
2026-06-29 15:58:41 +02:00
appleb_mandClaude Opus 4.8 bfa9bf04a9 Bump version to 0.3.3 for PyPI publish
Build and Publish / Build and Deploy Docs (push) Successful in 40s
Build and Publish / test (push) Successful in 2m23s
Build and Publish / build (push) Successful in 18s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0.3.3
2026-06-26 17:04:06 +02:00
appleb_m 64e054f9d8 Merge branch 'ml_zoom'
Build and Publish / test (push) Successful in 2m12s
Build and Publish / build (push) Failing after 17s
Build and Publish / Build and Deploy Docs (push) Skipped
# Conflicts:
#	src/aare/daq/operations/raster/service.py
2026-06-26 16:45:20 +02:00
appleb_m 07bff1e37e Merge remote-tracking branch 'origin/raster_score' 2026-06-26 16:43:28 +02:00
appleb_m ad44acabc0 DAQ: have the get xtal size, best res, get best b factor added 2026-06-26 16:37:16 +02:00
appleb_m f33aa8c91a yaml update 2026-06-26 11:19:18 +02:00
appleb_m 929b9aee8d Raster_grid_manager: renabled load from file 2026-06-26 11:19:10 +02:00
appleb_mandClaude Opus 4.8 b8dd3756cc raster auto-center: allow extra grid padding at the bottom of the y scan
Make the first-grid y padding asymmetric: the bottom (far end of the n_y scan)
can be padded more than the top via daq.auto_raster.grid_padding_fraction_y_
bottom (defaults to grid_padding_fraction_y, so symmetric unless set higher).
The top padding still shifts smargon_top_left; the extra bottom padding only
grows n_y.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 11:08:02 +02:00
appleb_m 6420709114 Smargon_panel: Russell added z-axis smargon buttons to the GUI, already tested! 2026-06-26 10:52:29 +02:00
appleb_m 88d17d6b33 status_bar: shutter renamed fast shutter 2026-06-26 10:50:56 +02:00
appleb_mandClaude Opus 4.8 5377e7d489 raster auto-center: unified first-grid padding in x and y (shifts top-left)
Replace the loop_face-only box padding with a single grid padding applied to
the first auto-center grid scan for any loop box (loop_all or loop_face). It
pads each side by a fraction of the grid size (daq.auto_raster.grid_padding_
fraction_x / _y, default 0.15), with a minimum of one cell per side, and
extends *before* cell 0 too so smargon_top_left shifts outward. Manual grid
(get_ml_bounding_box) is unchanged (grid_padding defaults off).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 10:43:12 +02:00
appleb_mandClaude Opus 4.8 0ac948746a raster auto-center: make vertical line-scan Y padding configurable
The 2nd-stage vertical line scan (n_x=1, height from the ML box) padded its
height by a hardcoded 0.10 each side (20% total), which was often too short to
cover the whole loop. Read the per-side fraction from
daq.auto_raster.line_scan_y_padding_fraction (default 0.15) so it can be tuned
per beamline.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 10:08:18 +02:00
appleb_mandClaude Opus 4.8 48111e5718 gui: always allow pausing automation; only gate starting/resuming
The play/pause toggle ran its start-time checks (beamline state, busy, baton,
maintenance) before the pause branch, so when running you could be blocked from
pausing if the beamline was in the wrong state or busy.

Handle the pause toggle first and return immediately (unconditional), and run
the start-condition gates only when starting/resuming from paused.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 09:58:05 +02:00
appleb_mandClaude Opus 4.8 53e29bece3 raster auto-center: zoom-to-fit loop + loop_face padding + optional crystal union
Before the first auto-center raster, zoom so the loop fills at most 1/3 of the
frame, pad loop_face grids, and optionally extend the grid to cover crystals
outside the loop.

- ml_bounding_box: add build_ml_raster_plan() (single prediction via
  predict_all_best) returning the grid request + raw loop_all/loop_face boxes +
  image size. Grid box is loop_face (else loop_all); loop_face is padded by
  daq.auto_raster.loop_face_padding_fraction (15% default); when
  daq.auto_raster.include_crystal is set, the grid is unioned with any crystal
  boxes lying beyond the loop. get_ml_bounding_box (manual button / endpoint)
  is unchanged.
- config: add zoom_for_pixel_to_mm(), the inverse of pixel_to_mm.
- raster service execute_auto_center: after the first detection (reused, no
  re-predict), pick loop_all if detected and not clipped at the frame edge else
  loop_face, compute the zoom that makes its larger side 1/3 of the frame, clamp
  to daq.hardware.zoom_min/max, set zoom and re-expose.
- x06da.yaml: zoom_min/max + daq.auto_raster block.
- tests for box selection, padding, crystal union and the clipped-loop_all rule.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 09:45:43 +02:00
duan_jandClaude Opus 4.8 f860e47914 DAQ/GUI: raster score as its own metric + score-based targeting
Build and Publish / test (pull_request) Successful in 2m7s
Build and Publish / build (pull_request) Successful in 17s
Build and Publish / Build and Deploy Docs (pull_request) Successful in 41s
Build and Publish / build (pull_request_target) Cancelled after 0s
Build and Publish / Build and Deploy Docs (pull_request_target) Cancelled after 0s
Build and Publish / test (pull_request_target) Cancelled after 16s
- promote crystal score to its own RasterGridMetric.RASTER_SCORE; first and
  default metric in the GUI dropdown; restore PR to original "Profile Radius"
- send per-cell raster score to AareDB via RasterPayloadModel
- split raster_highest_score (compute_crystal_score_array) from
  raster_centre_of_mass (restored to ndimage.center_of_mass); use score-based
  targeting for where-to-collect in both simulation and real mode
- add tests covering compute_crystal_score_array and raster_highest_score

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 18:05:29 +02:00
appleb_m c85bc347d1 bec_worker: reinitisiale config file added 2026-06-25 17:10:07 +02:00
appleb_m 1e9e5ae9a7 bec_worker: reinitisiale config file added 2026-06-25 17:06:02 +02:00
appleb_mandClaude Opus 4.8 ec45bf3729 daq: send commanded dtz (not live readback) to JFJoch/DB + wait for arrival
Build and Publish / test (push) Failing after 2m10s
Build and Publish / build (push) Skipped
Build and Publish / Build and Deploy Docs (push) Skipped
The detector_distance_mm sent to JFJoch and written to the DB came from the
live detector readback (diffraction.dtz_mm) captured before the detector
finished moving, so a scan requested at e.g. 100 mm could be recorded at the
old position (e.g. 800 mm).

- JFJoch + DB now read the validated request target (request.dtz) instead of
  the live diffraction.dtz_mm; diffraction.dtz_mm stays live for the
  local-contact readout.
- jfjoch: raise if request.dtz is unset (setup_datacollection must validate it
  first) instead of silently falling back to the live readback.
- raster + rotation services: wait for the detector to reach request.dtz
  (set_dtz wait=True) right before triggering the scan, since the sa2dc move is
  non-blocking. (Raster setup-before-measure reorder landed earlier in daq.py.)
- tests: request.dtz now required in jfjoch/aaredb tests; xtal-snapshot exposure
  assertion updated to 1 ms.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 16:39:06 +02:00
appleb_m f7b5008be5 workflows.py: up the exposure time on xtal snapshot to 1 ms. 2026-06-25 16:28:49 +02:00
appleb_m 4d075eb79a GUI: reactivated show coordinates
Build and Publish / test (push) Successful in 2m8s
Build and Publish / build (push) Successful in 17s
Build and Publish / Build and Deploy Docs (push) Successful in 40s
2026-06-25 11:07:56 +02:00
appleb_m 09080b4227 PSS: removed annoying log statement
Build and Publish / test (push) Successful in 2m15s
Build and Publish / build (push) Successful in 18s
Build and Publish / Build and Deploy Docs (push) Successful in 40s
2026-06-25 09:59:07 +02:00
appleb_m 14e8ef4bdf DAQ/GUI: updated beam location to use fixed exp and gain. This can be set now from teh GUi and stored in REDIS. 2026-06-25 09:58:55 +02:00
appleb_m 8c9f594d24 DAQ/GUI: updated beam location to use fixed exp and gain. This can be set now from teh GUi and stored in REDIS. 2026-06-25 09:58:47 +02:00