Commit Graph

449 Commits

Author SHA1 Message Date
hinger_v fe1b818891 Create empty StrixelSensorConfig class
Build on RHEL8 / build (push) Successful in 2m19s
Build on RHEL9 / build (push) Successful in 2m36s
Run tests using data on local RHEL8 / build (push) Successful in 3m17s
2026-03-05 20:56:14 +01:00
hinger_v 495da9b2e9 Adapt namespaces 2026-03-05 20:55:20 +01:00
hinger_v 1ec11e4c80 Add missing simplification steps 2026-03-05 18:50:26 +01:00
hinger_v 33c0c55dec SImplify StrixelSensorConfig (1st step) 2026-03-05 18:25:43 +01:00
hinger_v be5b09ddfd Merge branch 'main' into dev/strixels/remap 2026-02-27 13:38:56 +01:00
hinger_v c665c0e6c6 Fix #281 std::bad_optional_access in RawMasterFile::roi() (#282)
Build on RHEL8 / build (push) Successful in 2m22s
Build on RHEL9 / build (push) Successful in 2m34s
Run tests using data on local RHEL8 / build (push) Successful in 3m7s
Build on local RHEL8 / build (push) Successful in 2m7s
Fixes #281
2026-02-27 12:17:17 +01:00
hinger_v 586012f525 Merge branch 'fix/ROI_bad_optional_access' into dev/strixels/remap 2026-02-27 11:31:18 +01:00
hinger_v 9f5c1a743b Specify throw if empty
Build on RHEL8 / build (push) Successful in 2m22s
Build on RHEL9 / build (push) Successful in 2m34s
Run tests using data on local RHEL8 / build (push) Successful in 3m11s
2026-02-27 11:15:24 +01:00
hinger_v e44563031e Merge branch 'main' into fix/ROI_bad_optional_access 2026-02-27 10:52:58 +01:00
mazzol_a bfbb4eab05 Dev/remove rh9 local workflow (#280)
Build on RHEL8 / build (push) Successful in 2m31s
Build on RHEL9 / build (push) Successful in 2m39s
Run tests using data on local RHEL8 / build (push) Successful in 3m10s
Build on local RHEL8 / build (push) Successful in 1m57s
2026-02-26 16:56:58 +01:00
hinger_v d6127f3986 Merge branch 'fix/ROI_bad_optional_access' into dev/strixels/remap 2026-02-26 16:42:52 +01:00
hinger_v f9a74a3be7 Prevent acces and throw of m_rois.value() in if condition if m_rois->empty() 2026-02-26 16:25:28 +01:00
hinger_v 1f123286a1 Merge branch 'main' into dev/strixels/remap 2026-02-26 15:49:55 +01:00
mazzol_a 3ef54cb4b2 fixed workflow (#277)
Build on local RHEL9 / build (push) Successful in 1m11s
Build on RHEL8 / build (push) Successful in 2m29s
Build on RHEL9 / build (push) Successful in 2m33s
Run tests using data on local RHEL8 / build (push) Successful in 3m7s
Build on local RHEL8 / build (push) Successful in 1m56s
2026-02-26 14:47:10 +01:00
mazzol_a 2a3c121574 Fix/test (#278)
Build on RHEL8 / build (push) Successful in 2m29s
Build on RHEL9 / build (push) Successful in 2m40s
Build on local RHEL9 / build (push) Successful in 1m9s
Run tests using data on local RHEL8 / build (push) Has been cancelled
Build on local RHEL8 / build (push) Has been cancelled
2026-02-26 14:23:45 +01:00
hinger_v fba4aa77c6 Rename for clarity
Build on RHEL8 / build (push) Successful in 2m23s
Build on RHEL9 / build (push) Successful in 2m39s
Run tests using data on local RHEL8 / build (push) Failing after 3m7s
2026-02-25 17:29:37 +01:00
hinger_v e31c8582e4 Merge branch 'main' into dev/strixels/remap
Build on RHEL8 / build (push) Successful in 2m24s
Build on RHEL9 / build (push) Successful in 2m50s
Run tests using data on local RHEL8 / build (push) Failing after 3m16s
2026-02-25 17:21:34 +01:00
hinger_v 71a7024953 ROI conversion helpers 2026-02-25 17:20:44 +01:00
mazzol_a 31dd0ca8b7 Dev/automatic nfs server upload (#276)
Build on local RHEL9 / build (push) Successful in 1m10s
Build on RHEL8 / build (push) Successful in 2m17s
Build on RHEL9 / build (push) Successful in 2m37s
Run tests using data on local RHEL8 / build (push) Failing after 3m11s
Build on local RHEL8 / build (push) Successful in 1m55s
- automatically builds aare and uploads to mpc2935 (from there its
eventually uploaded to nfs every day)
2026-02-25 16:40:03 +01:00
hinger_v ee2dc56342 Stylistic rewrite to make read-only intent clear 2026-02-24 19:56:28 +01:00
hinger_v 95f05c619d Remove outdated FIXME comment 2026-02-24 19:54:55 +01:00
hinger_v 32eb686c87 Fix libc++ compilation error 2026-02-24 19:39:37 +01:00
hinger_v bb237ff012 Add first remapping draft 2026-02-24 19:33:28 +01:00
mazzol_a 2139e5843c Dev/stuff from pyctbgui (#273)
Build on RHEL8 / build (push) Successful in 2m23s
Build on RHEL9 / build (push) Successful in 2m35s
Run tests using data on local RHEL8 / build (push) Failing after 3m19s
Matterhorn10 Transform 
some other Transformations from pyctbGUI 
added method get_reading_mode for easier error handling in decoders 


## TODO: 

- proper error handling for all other decoders 
- proper documentation for all other decoders 
- refactoring all other decoders to store hard coded values in a Struct
ChipSpecification
2026-02-19 16:12:44 +01:00
mazzol_a 5dbc746462 clang-format
Build on RHEL8 / build (push) Successful in 2m30s
Build on RHEL9 / build (push) Successful in 2m34s
Run tests using data on local RHEL8 / build (push) Failing after 3m10s
2026-02-19 15:35:19 +01:00
mazzol_a 1f7a87cc30 updated Documentation and README (#274)
Build on RHEL8 / build (push) Successful in 2m38s
Build on RHEL9 / build (push) Successful in 2m58s
Run tests using data on local RHEL8 / build (push) Failing after 3m16s
2026-02-19 11:22:35 +01:00
mazzol_a 218f31ce60 Dev/multiple rois in aare (#263)
Build on RHEL8 / build (push) Successful in 2m23s
Build on RHEL9 / build (push) Successful in 2m32s
Run tests using data on local RHEL8 / build (push) Failing after 3m14s
Reading multiple ROI's for aare 

- read_frame, read_n etc throws for multiple ROIs
- new functions read_ROIs, read_n_ROIs 
-  read_roi_into (used for python bindings - to not copy) 

all these functions use get_frame or get_frame_into where one passes the
roi_index
## Refactoring:
- each roi keeps track of its subfiles that one has to open e.g.
subfiles can be opened several times
- refactored class DetectorGeometry - keep track of the updated module
geometries in new class ROIGeometry.
- ModuleGeometry updates based on ROI

## ROIGeometry: 
- stores number of modules overlapping with ROI and its indices
- size of ROI 

Note: only tested size of the resulting frames not the actual values

---------

Co-authored-by: Erik Fröjdh <erik.frojdh@psi.ch>
Co-authored-by: Erik Fröjdh <erik.frojdh@gmail.com>
2026-02-18 10:57:56 +01:00
mazzol_a 7f64b9a616 Read Xilinx CTB files (#271)
Build on RHEL8 / build (push) Successful in 2m14s
Build on RHEL9 / build (push) Successful in 2m37s
Run tests using data on local RHEL8 / build (push) Successful in 3m16s
File content is the same as the normal ctb files so no changes needed
for reading.

- Accept DetectorType::Xilinx_ChipTestBoard in the CtbRawFile class
- Check if file is open in constructor
2026-01-27 09:49:17 +01:00
Erik Fröjdh 0bc0165c11 Merge branch 'main' into fix/xctb 2026-01-27 09:06:21 +01:00
mazzol_a f6e48182d1 Fix offset in ClusterFinding (#269)
Build on RHEL8 / build (push) Successful in 2m20s
Build on RHEL9 / build (push) Successful in 2m31s
Run tests using data on local RHEL8 / build (push) Successful in 3m17s
Directly casting the values in the cluster finder would truncate the
resulting ADU value and create an offset when summing the cluster.

1. do pedestal subtraction and then round
2. static cast to result type only after rounding
3. if constexpr to avoid unnecessary rounding
2026-01-26 14:10:25 +01:00
Erik Fröjdh 8ac633dc75 open xilinx ctb 2026-01-26 10:44:09 +01:00
froejdh_e 9d6798b9c5 removed comment 2026-01-21 09:36:17 +01:00
froejdh_e 0ce6128b4f added rounding in cluster finder 2026-01-21 09:35:06 +01:00
mazzol_a b77a576f72 Dev/automate tests using data (#267)
Build on RHEL8 / build (push) Successful in 2m13s
Build on RHEL9 / build (push) Successful in 2m37s
Run tests using data on local RHEL8 / build (push) Successful in 3m12s
- automatically run python tests 
- automatically run test using data files on local runner from gitea
- fixed some of the workflows

---------

Co-authored-by: Erik Fröjdh <erik.frojdh@psi.ch>
2026-01-20 17:20:48 +01:00
mazzol_a cbefbc43e9 Fix/mt cluster finder dropping frames (#265)
Build on RHEL8 / build (push) Successful in 3m9s
Build on RHEL9 / build (push) Successful in 3m36s
Issue from Jonathan. 

- writing to output queue did not check if queue is full - such that
frames were dropped.

## Dataset to recreata issue: 

data overf 10G interface can be accessed on pc: pc-highz-02
raw frames:
/mnt/sls_det_storage_10G/highZ_data/JMulvey/Calibration_From_HZ02/2025Jan_m343/Zr15800eV/250129_CZTsolo_Xray_Tp_15C_tint_100_master_0.json

pedestal frames:
/mnt/sls_det_storage_10G/highZ_data/JMulvey/Calibration_From_HZ02/2025Jan_m343/Zr15800eV/250129_CZTsolo_Pedestal_Tp_15C_tint_100_master_0.json

---------

Co-authored-by: Erik Fröjdh <erik.frojdh@psi.ch>
2026-01-20 17:02:27 +01:00
siebsi 31f3a60cd3 added correct decoder for ADC-SAR-05-06-07-08 ASIC (#266)
Adding function to correctly decode the ADC-SAR-05-06-07-08 Chip. 

Co-authored-by: Erik Fröjdh <erik.frojdh@psi.ch>
2026-01-20 16:38:06 +01:00
mazzol_a f79ee55430 fixed parsing of dynamic range (#268)
Build on RHEL8 / build (push) Successful in 3m3s
Build on RHEL9 / build (push) Successful in 3m17s
1. fixed parsing of dynamic range (bug which I added during refactoring)
2. added tests for bitdepth!
3. updated path for test file
2026-01-19 16:54:19 +01:00
froejdh_e dceda21496 fixed parsing of dynamic range 2026-01-19 15:20:37 +01:00
Erik Fröjdh c0357e2020 Improvements to NDArray (#258)
Build on RHEL9 / build (push) Successful in 3m11s
Build on RHEL8 / build (push) Successful in 3m25s
- Removed redundant arr.value(ix,iy...) on NDArray use arr(ix,iy...)
- Removed Print/Print_some/Print_all form NDArray (operator << still
works)
- Added const* version of .data()
- Comment for documentation
- Some extra tests
2025-12-19 14:49:41 +01:00
mazzol_a dfb29b719f fixed out of bounds in test (#259)
- fixed test (out of bounds access)
2025-12-19 13:15:49 +01:00
Erik Fröjdh 7f3123d68f Added parsing of exptime and period from master files (#256)
Build on RHEL9 / build (push) Successful in 3m26s
Build on RHEL8 / build (push) Successful in 3m33s
- New aare:to_string/string_to similar to what we have in
slsDetectorPackage
- Added members period and exptime to RawMasterFile
- Parsing exposure time and period for json and raw master file formats
- Parsing of RawMasterFile from string stream to enable test without
files

Comments:

- to_string is at the moment not a public header. Can make it later if
needed. This gives us full freedom with the API
- FileConfig should probably be deprecated need to look into it.
Meanwhile removed python bindings and string conv
2025-12-18 17:04:12 +01:00
mazzol_a fb95e518b4 Dev/interpolation documentation (#255)
Build on RHEL8 / build (push) Successful in 3m5s
Build on RHEL9 / build (push) Successful in 3m21s
- added transform_eta_values for easier debugging more control for the
user
- updated Documentation
2025-12-16 13:06:28 +01:00
Erik Fröjdh 80a2b02345 Dev/decode my302 (#254)
Build on RHEL8 / build (push) Failing after 0s
Build on RHEL9 / build (push) Failing after 0s
This PR adds support for decoding digital data from the my320 test chip.
- Added BitOffset (strong type)
- Expand 24 to 32 bit 
- Python bindings for decoding my302
- Improved docs
2025-12-09 18:27:02 +01:00
mazzol_a e795310b16 fixed tests (#252)
Build on RHEL8 / build (push) Successful in 3m11s
Build on RHEL9 / build (push) Successful in 3m46s
- fixed failed tests 
- removed import of pickle, scipy 
- still requires boost_histogram, pytest_check

Co-authored-by: Erik Fröjdh <erik.frojdh@psi.ch>
2025-11-28 11:28:13 +01:00
mazzol_a 1d8b68bf75 Run catch2 tests in CI (#253)
Build on RHEL9 / build (push) Failing after 0s
Build on RHEL8 / build (push) Successful in 3m28s
- Build and run tests in CI
- Added macOS builds (and tests)
- Renamed workflow to build_with_docs.yml
2025-11-27 08:58:24 +01:00
Erik Fröjdh cf53922bd3 restrict upload artifact 2025-11-26 20:21:57 +01:00
Erik Fröjdh 13cffb1ea8 WIP 2025-11-26 20:11:38 +01:00
Erik Fröjdh bea373a112 with file 2025-11-26 20:09:05 +01:00
Erik Fröjdh a66ce15a6c renamed workflow and added macos-latest 2025-11-26 20:07:32 +01:00
Erik Fröjdh 44fd015cfe added catch2 to dev env 2025-11-26 20:00:03 +01:00