Commit Graph
65 Commits
Author SHA1 Message Date
leonarski_fandClaude Opus 4.8 b7613c559c smargon: write chi/phi goniometer position into NXmx transformations
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 14m15s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 15m13s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 15m9s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 15m11s
Build Packages / build:rpm (rocky8) (push) Successful in 15m14s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 15m30s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 15m52s
Build Packages / build:windows:nocuda (push) Successful in 15m54s
Build Packages / build:windows:cuda (push) Successful in 17m32s
Build Packages / XDS test (neggia plugin) (push) Successful in 7m30s
Build Packages / Generate python client (push) Successful in 30s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 8m31s
Build Packages / Create release (push) Skipped
Build Packages / XDS test (durin plugin) (push) Successful in 8m47s
Build Packages / Build documentation (push) Successful in 58s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 11m37s
Build Packages / build:rpm (rocky9) (push) Successful in 12m37s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 12m44s
Build Packages / DIALS test (push) Successful in 12m55s
Build Packages / Unit tests (push) Successful in 1h0m54s
Add an optional Smargon static positioner (chi/phi angles + rotation axes)
that is reconstructed into the NXmx sample transformation chain. Chi/phi are
appended at the innermost end of the chain (closest to the sample) for both
the goniometer and grid-scan branches, with axes defaulting to chi {0,0,1}
and phi = omega default {1,0,0}.

- SmargonPosition gains chi_axis/phi_axis (common/JFJochMessages.h)
- OpenAPI: optional phi_axis/chi_axis arrays; clients regenerated
- OpenAPIConvert wires Dataset_settings.smargon -> DatasetSettings
- CBOR serializer/deserializer round-trip the axes
- tests: CBORSerialize_Start_Smargon

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 11:45:08 +02:00
leonarski_fandClaude Opus 4.8 2398330e52 Drop oversized-metadata frames instead of aborting the collection
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 13m55s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 14m54s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 15m1s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 15m11s
Build Packages / build:rpm (rocky8) (push) Successful in 15m6s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 15m16s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 15m58s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 7m52s
Build Packages / XDS test (durin plugin) (push) Successful in 8m9s
Build Packages / Generate python client (push) Successful in 29s
Build Packages / Create release (push) Skipped
Build Packages / XDS test (neggia plugin) (push) Successful in 8m8s
Build Packages / Build documentation (push) Successful in 59s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 11m17s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 12m12s
Build Packages / DIALS test (push) Successful in 12m20s
Build Packages / build:rpm (rocky9) (push) Successful in 13m38s
Build Packages / Unit tests (push) Successful in 1h0m37s
A serial-crystallography run on a detector with a large converted geometry
(JF17T16, modules tiled vertically + horizontally) aborted with
"Array out of bounds (Not enough memory to save image)". An indexed still on
such a detector predicts/integrates close to the kMaxReflections (10000) cap;
at ~170 B per serialized Reflection that is ~1.7 MB of per-image CBOR metadata,
which overflowed the fixed 1 MB the buffer slot reserved on top of the image.
The serialization guard then threw and cancelled the whole run.

- Raise the per-image metadata headroom from 1 MB to 4 MB
  (GetImageBufferLocationSize). The worst case - 10000 reflections + 2000 spots
  (API max) + 65534 azimuthal bins - serializes to 2.78 MB, leaving margin while
  staying negligible next to the multi-MB image slot.
- When metadata still does not fit, drop just that frame (log metadata/image/slot
  sizes + recycle the slot) instead of aborting, in both the FPGA and Lite
  receivers.
- Add a regression test asserting the worst-case metadata fits the headroom.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 17:11:41 +02:00
leonarski_f 75e401f0e5 v1.0.0-rc.153 (#63)
Build Packages / Unit tests (push) Successful in 1h31m59s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 8m43s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 10m5s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 9m27s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 8m56s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 9m24s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 10m27s
Build Packages / build:rpm (rocky8) (push) Successful in 9m20s
Build Packages / build:rpm (rocky9) (push) Successful in 10m50s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 9m54s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 8m38s
Build Packages / DIALS test (push) Successful in 12m13s
Build Packages / XDS test (durin plugin) (push) Successful in 7m8s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 7m8s
Build Packages / XDS test (neggia plugin) (push) Successful in 7m50s
Build Packages / Generate python client (push) Successful in 16s
Build Packages / Build documentation (push) Successful in 50s
Build Packages / Create release (push) Skipped
This is an UNSTABLE release. It includes many experimental features, as well as many AI generated fixes. We recommend using rc.152 for production use.

* jfjoch_broker: Add EXPERIMENTAL pixelrefine mode for image processing
* jfjoch_broker: Allow to load user mask from 8-bit and 16-bit TIFF files
* jfjoch_broker: Add ROI calculation in non-FPGA workflow
* jfjoch_broker: Fixes to TCP image pusher
* jfjoch_broker: Remove NUMA bindings
* jfjoch_broker: Improvements to indexing
* jfjoch_broker: For PSI EIGER, trimming energies are taken from the detector configuration (now compulsory) instead of hardcoded values
* jfjoch_writer: Save ROI definitions and the per-pixel ROI bitmap in the master file; azimuthal ROIs support phi (angular) sectors
* jfjoch_viewer: Major redesign with dockable panels and saved layouts, plus on-canvas creation/move/resize of box, circle and azimuthal ROIs
* jfjoch_viewer: Run jfjoch_process reprocessing jobs from inside the GUI and overlay per-run results

Reviewed-on: #63
2026-06-23 20:29:49 +02:00
leonarski_f cc3eb8352c v1.0.0-rc.148 (#58)
Build Packages / Unit tests (push) Skipped
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 9m28s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 10m9s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 9m47s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 10m58s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 11m39s
Build Packages / build:rpm (rocky8) (push) Successful in 11m43s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 12m59s
Build Packages / Generate python client (push) Successful in 35s
Build Packages / Build documentation (push) Successful in 59s
Build Packages / Create release (push) Skipped
Build Packages / build:rpm (ubuntu2204) (push) Successful in 11m48s
Build Packages / build:rpm (rocky9) (push) Successful in 12m32s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 10m24s
Build Packages / XDS test (durin plugin) (push) Successful in 7m35s
Build Packages / XDS test (neggia plugin) (push) Successful in 6m50s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 7m40s
Build Packages / DIALS test (push) Successful in 11m19s
This is an UNSTABLE release. The release has significant modifications for data processing - in case of troubles go back to 1.0.0-rc.144.

* jfjoch_broker: Improve azimuthal integration (add <I^2> calculation)
* jfjoch_broker: Fixes around indexing, aiming to handle multi-lattice crystals (work in progress, it is not fully integrated)
* jfjoch_writer: Save mean(I), stddev(I), and count(I) for each azimuthal bin

Reviewed-on: #58
2026-06-08 08:30:35 +02:00
leonarski_f 31a357fa57 v1.0.0-rc.113 (#19)
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 11m0s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 11m2s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 11m54s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 8m20s
Build Packages / Generate python client (push) Successful in 24s
Build Packages / Build documentation (push) Successful in 56s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8) (push) Successful in 8m51s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 9m9s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 8m53s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 8m21s
Build Packages / build:rpm (rocky9) (push) Successful in 9m47s
Build Packages / Unit tests (push) Successful in 1h13m38s
This is an UNSTABLE release and not recommended for production use (please use rc.111 instead).

* jfjoch_broker: Improve handling of rotation indexing
* jfjoch_broker: More information saved in CBOR end message (WIP)
* jfjoch_writer: Save rotation indexing lattice parameters and Niggli class
* jfjoch_viewer: Remove (for now) primitive cell information

Reviewed-on: #19
Co-authored-by: Filip Leonarski <filip.leonarski@psi.ch>
Co-committed-by: Filip Leonarski <filip.leonarski@psi.ch>
2025-12-02 09:29:22 +01:00
leonarski_f 061152279c v1.0.0-rc.91 2025-10-20 20:43:44 +02:00
leonarski_f 5d9d2de4a4 v1.0.0-rc.81 2025-09-21 19:27:51 +02:00
leonarski_f c67337cfe1 v1.0.0-rc.72 2025-09-08 20:28:59 +02:00
leonarski_f fa95858008 v1.0.0-rc.69 2025-08-17 21:21:20 +02:00
leonarski_f e4ec9fb38f v1.0.0-rc.61 2025-07-08 07:16:59 +02:00
leonarski_f fbaf15aa07 v1.0.0-rc.60 2025-07-05 18:52:42 +02:00
leonarski_f fb87f376c8 v1.0.0-rc49 2025-06-18 15:19:18 +02:00
leonarski_f 41a3e671f4 v1.0.0-rc.41 2025-06-10 18:14:04 +02:00
leonarski_f 53c90ee5d8 v1.0.0-rc.40 2025-05-28 18:49:27 +02:00
leonarski_f 040cf08386 v1.0.0-rc.36 2025-05-05 19:32:22 +02:00
leonarski_f 9bec33290c v1.0.0-rc.35 2025-04-22 14:42:14 +02:00
leonarski_f b0607ab3ca v1.0.0-rc.34 2025-04-14 11:52:06 +02:00
leonarski_f ddf4c75645 v1.0.0-rc.31 2025-03-02 13:15:28 +01:00
leonarski_f b3e745a8dd version 1.0.0-rc.26 2024-11-26 16:04:38 +01:00
leonarski_f 28d224afab version 1.0.0-rc.25 2024-11-22 21:25:20 +01:00
leonarski_f e812918e2e version 1.0.0-rc.13 2024-10-05 13:14:49 +02:00
leonarski_f 3035d9e144 v1.0.0_rc.11 2024-06-30 17:48:35 +02:00
leonarski_f 30a92d8eb9 Minor modifications to jfjoch_writer and OpenAPI 2024-06-28 20:44:51 +02:00
leonarski_f 1717e171b9 Modifications after CristallinaMX beamtime 2024-06-27 20:26:11 +02:00
leonarski_f a32c7274a6 Release 1.0.0_rc.9 2024-06-20 11:26:40 +02:00
leonarski_f 953c3fa972 Updates after MAX IV experiment 2024-06-03 10:56:43 +02:00
leonarski_f 3ef89483e8 MAX IV experiment day 2 corrections 2024-05-23 12:15:36 +02:00
leonarski_f 91fd44bff7 Improve release/versioning of Jungfraujoch repository 2024-05-15 11:29:01 +02:00
leonarski_f ea667f3313 Small fixes 2024-05-01 20:24:11 +02:00
leonarski_f 64dbd2291e Further enhacements 2024-04-29 14:13:35 +02:00
leonarski_f ea70b27e85 Improvements before MAX IV test 2024-04-25 20:11:58 +02:00
leonarski_f 85a169ec19 Refactor how frames are sent from receiver 2024-04-14 21:47:06 +02:00
leonarski_f c6d2b5eedf File writer and spot finding improvements 2024-04-08 11:18:50 +02:00
leonarski_f 30e775d8a2 Improve plotting 2024-03-31 23:08:19 +02:00
leonarski_f 59aacf516d Updates March 2023 2024-03-14 20:26:03 +01:00
leonarski_f d315506633 * Enhancements for XFEL
* Enhancements for EIGER
* Writer is more flexible and capable of handling DECTRIS data
2024-03-05 20:41:47 +01:00
leonarski_f f5f86d9ab6 Modifications in preparation to MAX IV experiment 2024-01-27 21:23:56 +01:00
leonarski_f 0b69dfb290 New REST+OpenAPI interface 2023-12-11 12:11:54 +01:00
leonarski_f f1935526a7 Generalized serializer 2023-12-11 06:49:24 +01:00
leonarski_f 624c928c84 JFJochReceiver: ADU histogram saved on per module basis at the end of the measurement (but not on per image basis) 2023-10-21 22:31:43 +02:00
leonarski_f 16bbf54f2a Remove open source license (for now) 2023-09-15 10:47:21 +02:00
leonarski_f 4ce2fcf98f DiffractionExperiment: Adjust storage cell delay as a parameter 2023-07-04 21:07:40 +02:00
leonarski_f 0904e1f198 JFJochFrameSerializer: Using CBORImage for mask and calibration + writing calibration in HDF5 file 2023-06-28 17:14:09 +02:00
leonarski_f d2788a09fd JFJochFrameSerializer: Add calibration settings 2023-06-27 16:20:47 +02:00
leonarski_f d831300d14 JFJochFrameSerializer: Generalize 2D arrays for floats 2023-06-27 14:52:18 +02:00
leonarski_f 1df16b1a1e JFJochReceiver: Save receiver_available_send_buffers and receiver_aq_dev_delay in HDF5 file 2023-05-18 12:46:58 +02:00
leonarski_f bb4cee9b2d JFJochReceiver: Save information on crystal lattice and spot indexing status to HDF5 file 2023-05-18 10:46:46 +02:00
leonarski_f ea719742ce DiffractionExperiment: Solid angle correction is saved with the master file 2023-05-17 22:53:41 +02:00
leonarski_f 7d5694139f FPGA: Save full JF timestamp and exptime 2023-05-17 21:30:42 +02:00
leonarski_f f372c0e697 ImageMessage: Add storage cell number 2023-05-17 20:40:55 +02:00