Commit Graph
601 Commits
Author SHA1 Message Date
mazzol_a 19fa8dff2c updated Release Notes
Build on RHEL9 / build (push) Successful in 2m42s
Build on RHEL8 / build (push) Successful in 3m21s
Run tests using data on local RHEL8 / build (push) Failing after 4m15s
2026-09-08 19:30:31 +02:00
mazzol_a 864f58483f solved merge conflict 2026-09-08 19:26:12 +02:00
mazzol_a ea2bc9267a added python benchmarks 2026-09-08 19:16:28 +02:00
mazzol_a 77248d8695 missed documentation for InclusiveROI 2026-09-08 19:16:24 +02:00
mazzol_a 7c44b01f38 added python documentation 2026-09-08 19:16:09 +02:00
mazzol_a 6c0a3631c1 python bindings for strixel remap 2026-09-08 19:15:27 +02:00
Erik Fröjdh 8ee377f16d Fixed ClusterVector move, filtering, and improved documentation (#357)
- Default `ClusterVector` move operations simplifying the code and
fixing a bug.
- Fixed inconsistent frame number type (uint64/int32)
- Validate Python masks as one-dimensional, C-contiguous Boolean arrays,
handle empty masks safely, and reserve filtered storage based on the
selected cluster count.
- Align the C++ and Python API documentation with the implementation,
including concise `hitmap` and reduction documentation and a correctly
rendered constructor example.
2026-09-08 19:13:08 +02:00
mazzol_a f7563319b2 enum TiminMode same as in slsDetectorPackage (#360)
**BugFix: **
- enum TimingMode same as in slsDetectorPackage 
- supports reading all timing modes from RawMasterFile
2026-09-08 19:13:08 +02:00
mazzol_aandErik Fröjdh 09e16668ca Dev/filereading for disabled udp (#342)
- handles file reading of disabled udp ports
- adds members disabled_udp_ports in master file as an optional
- adds member diasbled_udp_port_types in master file as an optional
- Treats enabled udp ports as ROIs
- merges/combines consecutive ROis into one

- right now can only handle either ROI or disabled udp ports (disabled
udp ports has higher precedence)
- Should Frames in File be removed from Master File as value is nonsense
for disabled udp ports

---------

Co-authored-by: Erik Fröjdh <erik.frojdh@psi.ch>
2026-09-08 19:13:05 +02:00
hinger_v be768ad33a Move StrixelPixelRemapping to dedicated directory 2026-09-08 19:11:53 +02:00
hinger_v d62b8db822 Add explicit mapping test 2026-09-08 19:09:50 +02:00
mazzol_a b73f3b723f added test for apply_remap
Build on RHEL9 / build (push) Successful in 2m40s
Build on RHEL8 / build (push) Successful in 3m24s
Run tests using data on local RHEL8 / build (push) Failing after 4m22s
2026-09-08 12:34:28 +02:00
mazzol_a f8eeca2f7a python bindings for strixel remap 2026-09-07 22:53:58 +02:00
hinger_v 319a1a5b6a Merge branch 'main' into dev/strixels/remap_simple
Build on RHEL9 / build (push) Successful in 2m30s
Build on RHEL8 / build (push) Successful in 3m14s
Run tests using data on local RHEL8 / build (push) Failing after 4m17s
2026-09-07 18:06:16 +02:00
hinger_v d8d90b7ba5 Move StrixelPixelRemapping to dedicated directory 2026-09-07 17:40:50 +02:00
Erik Fröjdh dd409cfe41 Fixed ClusterVector move, filtering, and improved documentation (#357)
Run tests using data on local RHEL8 / build (push) Failing after 4m6s
Build on local RHEL8 / build (push) Successful in 2m52s
Build on RHEL9 / build (push) Successful in 2m44s
Build on RHEL8 / build (push) Successful in 3m16s
- Default `ClusterVector` move operations simplifying the code and
fixing a bug.
- Fixed inconsistent frame number type (uint64/int32)
- Validate Python masks as one-dimensional, C-contiguous Boolean arrays,
handle empty masks safely, and reserve filtered storage based on the
selected cluster count.
- Align the C++ and Python API documentation with the implementation,
including concise `hitmap` and reduction documentation and a correctly
rendered constructor example.
2026-09-07 08:19:26 +02:00
hinger_v 42b253474c Add explicit mapping test
Build on RHEL9 / build (push) Successful in 2m37s
Build on RHEL8 / build (push) Successful in 3m15s
Run tests using data on local RHEL8 / build (push) Failing after 4m11s
2026-09-04 15:55:55 +02:00
mazzol_a 4eb2bfcfcc enum TiminMode same as in slsDetectorPackage (#360)
Build on RHEL9 / build (push) Successful in 2m36s
Build on RHEL8 / build (push) Successful in 3m19s
Run tests using data on local RHEL8 / build (push) Failing after 4m13s
Build on local RHEL8 / build (push) Successful in 2m53s
**BugFix: **
- enum TimingMode same as in slsDetectorPackage 
- supports reading all timing modes from RawMasterFile
2026-09-04 12:19:00 +02:00
mazzol_aandErik Fröjdh 641ef047b5 Dev/filereading for disabled udp (#342)
Build on RHEL9 / build (push) Successful in 2m41s
Build on RHEL8 / build (push) Successful in 3m15s
Run tests using data on local RHEL8 / build (push) Failing after 4m13s
Build on local RHEL8 / build (push) Successful in 2m53s
- handles file reading of disabled udp ports 
- adds members disabled_udp_ports in master file as an optional 
- adds member diasbled_udp_port_types in master file as an optional
- Treats enabled udp ports as ROIs 
- merges/combines consecutive ROis into one 

### To discuss: 

- right now can only handle either ROI or disabled udp ports (disabled
udp ports has higher precedence)
- Should Frames in File be removed from Master File as value is nonsense
for disabled udp ports

---------

Co-authored-by: Erik Fröjdh <erik.frojdh@psi.ch>
2026-09-03 14:14:57 +02:00
mazzol_a a3cce166f0 solved merge conflict
Build on RHEL9 / build (push) Successful in 2m51s
Build on RHEL8 / build (push) Successful in 3m19s
Run tests using data on local RHEL8 / build (push) Failing after 4m15s
2026-09-02 23:26:15 +02:00
Erik Fröjdh eddb919328 FastPedestal + optimizations in the cluster finder (#341)
Build on RHEL9 / build (push) Successful in 2m42s
Build on RHEL8 / build (push) Successful in 3m21s
Run tests using data on local RHEL8 / build (push) Failing after 3m56s
Build on local RHEL8 / build (push) Successful in 2m54s
Optimized pedestal tracking with FastPedestal and performance improvements to the cluster finder. 
- ~2x faster hitting 14k FPS on benchmark dataset on 16 core threadripper pro


**Changes**
- No bounds check on interior of frame. (only within half of a cluster)
(~15% improvement)
- Cache threshold (std*n_rms) Biggest improvement comes from not
computing std for each access
- Cache pedestal subtracted frame
- Switched to FastPedestal which assumes we reached steady state

**Things tried but rejected:**
- Always store cluster values, commit on val==max (~15% drop in frame
rate)

**Options**
- using 16 bit clusters and 16 bit pedestal. (slows down the single
threaded case but allow us to reach 12k with multi threading)

**Other notes on performance**
- Passing in memory frames from python and doing nothing: 0.8us/frame
- Passing + pedestal subtraction: 28us/frame
- Passing + pedestal + cluster finding (no store): 652us/frame
- Passing + pedestal + cluster finding: 886 us/frame
2026-09-01 18:41:12 +02:00
hinger_v f63e812378 Edit documentation
Build on RHEL9 / build (push) Successful in 2m40s
Build on RHEL8 / build (push) Successful in 3m22s
Run tests using data on local RHEL8 / build (push) Successful in 3m58s
2026-09-01 16:12:38 +02:00
hinger_v 290a73a6c0 Edit test tags 2026-09-01 15:41:50 +02:00
hinger_v 05b4219f6e Edit doc strings
Build on RHEL9 / build (push) Successful in 2m38s
Build on RHEL8 / build (push) Successful in 3m22s
Run tests using data on local RHEL8 / build (push) Successful in 4m0s
2026-09-01 14:28:13 +02:00
hinger_v 4880b6e449 Remove chip_id dependent generators
Build on RHEL9 / build (push) Successful in 2m30s
Build on RHEL8 / build (push) Successful in 3m15s
Run tests using data on local RHEL8 / build (push) Successful in 3m58s
2026-09-01 13:50:45 +02:00
hinger_v c511231d2a Template SensorConfig on number of strixel groups and make it std::array
Build on RHEL9 / build (push) Successful in 2m31s
Build on RHEL8 / build (push) Successful in 3m20s
Run tests using data on local RHEL8 / build (push) Successful in 3m57s
2026-08-31 20:10:06 +02:00
hinger_v 4208871c2b Merge branch 'main' into dev/strixels/remap_simple
Build on RHEL9 / build (push) Successful in 2m45s
Build on RHEL8 / build (push) Successful in 3m12s
Run tests using data on local RHEL8 / build (push) Successful in 4m3s
2026-08-31 19:38:17 +02:00
hinger_v 1816b0c3ab Add test cases for bond shift and rotation, update description of test structure 2026-08-31 19:35:44 +02:00
hinger_v fe0ede546f Add test case modulo ordering
Build on RHEL9 / build (push) Successful in 2m32s
Build on RHEL8 / build (push) Successful in 3m19s
Run tests using data on local RHEL8 / build (push) Successful in 4m1s
2026-08-31 12:40:08 +02:00
Erik Fröjdh 568f94926b baseline AGENTS.md (#356)
Build on RHEL9 / build (push) Successful in 2m32s
Build on RHEL8 / build (push) Successful in 3m15s
Run tests using data on local RHEL8 / build (push) Successful in 3m57s
Build on local RHEL8 / build (push) Successful in 2m44s
- AI generated baseline for AGENTS.md
- Meant to be edited in the future
2026-08-28 09:22:29 +02:00
hinger_v 7886291895 Add remapping algorithm test (WIP)
Build on RHEL9 / build (push) Successful in 2m29s
Build on RHEL8 / build (push) Successful in 3m16s
Run tests using data on local RHEL8 / build (push) Successful in 3m55s
2026-08-27 21:14:27 +02:00
mazzol_a 152ef2e58c Merge branch 'main' into dev/strixels/remap_simple
Build on RHEL9 / build (push) Successful in 2m39s
Build on RHEL8 / build (push) Successful in 3m23s
Run tests using data on local RHEL8 / build (push) Successful in 4m0s
2026-08-26 17:37:41 +02:00
mazzol_a bffeab15f4 added to documentation 2026-08-26 17:33:49 +02:00
hinger_v a2f56002f3 typo
Build on RHEL9 / build (push) Successful in 2m34s
Build on RHEL8 / build (push) Successful in 3m4s
Run tests using data on local RHEL8 / build (push) Successful in 3m58s
2026-08-25 18:06:36 +02:00
hinger_v bfb8dec2b9 add rebase test sections (outside and larger input ROI) 2026-08-25 18:04:15 +02:00
hinger_v 1cc286b24c Fix typos
Build on RHEL9 / build (push) Successful in 2m51s
Build on RHEL8 / build (push) Successful in 3m7s
Run tests using data on local RHEL8 / build (push) Successful in 3m55s
2026-08-25 16:12:56 +02:00
hinger_v 69c2cacbd8 Fix compilation errors 2026-08-25 16:10:18 +02:00
hinger_v 22227f9310 Print warning with correct log level 2026-08-25 16:00:41 +02:00
hinger_v 43f812f459 Add inclusiveROI tests 2026-08-25 16:00:17 +02:00
Erik Fröjdh 85f9d0176a Dev/guess clusters (#355)
Build on RHEL9 / build (push) Successful in 2m40s
Build on RHEL8 / build (push) Successful in 3m17s
Run tests using data on local RHEL8 / build (push) Successful in 3m53s
Build on local RHEL8 / build (push) Successful in 2m47s
- exposing ClusterVector::empty in python
- added member guess_n_clusters
2026-08-25 09:15:38 +02:00
Erik Fröjdh 26d11f74a8 Fix/expand const buffer (#354)
Build on RHEL9 / build (push) Successful in 2m34s
Build on RHEL8 / build (push) Successful in 3m15s
Run tests using data on local RHEL8 / build (push) Successful in 3m53s
Build on local RHEL8 / build (push) Successful in 2m46s
Minor API change:

- NDView<T> implicitly converts to NDView<const T> (as std::span in
C++20)
- expand4to8bit and expand24to32bit now takes a view over const uint8_t
to show that the input is not changes

closes #291
2026-08-25 08:51:41 +02:00
hinger_v 16bce7df47 Merge branch 'main' into dev/strixels/remap_simple
Build on RHEL9 / build (push) Successful in 2m28s
Build on RHEL8 / build (push) Successful in 3m10s
Run tests using data on local RHEL8 / build (push) Successful in 3m59s
2026-08-24 19:07:46 +02:00
hinger_v 63c4ebb05d Try fix aare build errors
Build on RHEL9 / build (push) Successful in 2m36s
Build on RHEL8 / build (push) Successful in 3m2s
Run tests using data on local RHEL8 / build (push) Successful in 3m59s
2026-08-24 18:38:30 +02:00
hinger_v fc871377a0 Add first template for InclusiveROI unit tests 2026-08-24 18:31:21 +02:00
hinger_v d7addfba3e Make gap_rows size_t 2026-08-24 18:30:29 +02:00
hinger_v 142ffad079 Simplify algorithms based on comments 2026-08-24 18:29:56 +02:00
hinger_v a0a8fb6341 Remove designated initializers (C++20 -> C++17)
Build on RHEL9 / build (push) Successful in 3m1s
Build on RHEL8 / build (push) Successful in 3m10s
Run tests using data on local RHEL8 / build (push) Successful in 3m54s
2026-08-21 17:05:41 +02:00
hinger_v e6a42bbda7 Update renamed source in CMakeLists.txt
Build on RHEL9 / build (push) Successful in 2m36s
Build on RHEL8 / build (push) Successful in 3m3s
Run tests using data on local RHEL8 / build (push) Successful in 3m59s
2026-08-21 14:09:44 +02:00
hinger_v 794275fa62 Rename all to 'StrixepPixelRemap...' 2026-08-21 14:02:09 +02:00
hinger_v 99e4baffd2 Adapt algorithm to reflect new mirroring definition
Build on RHEL9 / build (push) Successful in 2m28s
Build on RHEL8 / build (push) Successful in 3m14s
Run tests using data on local RHEL8 / build (push) Successful in 3m55s
2026-08-20 17:02:53 +02:00