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
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
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
1816b0c3ab
Add test cases for bond shift and rotation, update description of test structure
2026-08-31 19:35:44 +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
69c2cacbd8
Fix compilation errors
2026-08-25 16:10:18 +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
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
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
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
hinger_v
13b9f288a0
Rework ROI mirroring to clarify intent: Mirror on an axis
2026-08-20 16:49:22 +02:00
hinger_v
57e035abc3
Format
Build on RHEL9 / build (push) Successful in 2m32s
Build on RHEL8 / build (push) Successful in 3m13s
Run tests using data on local RHEL8 / build (push) Successful in 4m1s
2026-08-20 14:44:25 +02:00
hinger_v
cb76a948e4
Merge remote-tracking branch 'refs/remotes/origin/dev/strixels/remap_simple' into dev/strixels/remap_simple
Build on RHEL9 / build (push) Successful in 2m40s
Build on RHEL8 / build (push) Successful in 3m27s
Run tests using data on local RHEL8 / build (push) Successful in 4m1s
2026-08-20 13:55:30 +02:00
hinger_v
605c28bc19
Fix names of format helpers and remove unused
2026-08-20 12:30:11 +02:00
Erik Fröjdh
fef57c13c9
added const overload for NDArray::view() ( #351 )
...
Build on RHEL9 / build (push) Successful in 2m29s
Build on RHEL8 / build (push) Successful in 3m3s
Run tests using data on local RHEL8 / build (push) Successful in 3m59s
Build on local RHEL8 / build (push) Successful in 2m45s
- Added missing const T overload for NDArray::view()
- Tests
2026-08-19 16:21:37 +02:00
mazzol_a
e96778909e
Merge branch 'main' into dev/strixels/remap_simple
Build on RHEL9 / build (push) Successful in 2m34s
Build on RHEL8 / build (push) Successful in 3m9s
Run tests using data on local RHEL8 / build (push) Successful in 3m56s
2026-08-19 11:47:39 +02:00
Erik Fröjdh
aa39470686
Removed unused DynamicCluster ( #346 )
...
Build on RHEL9 / build (push) Successful in 2m31s
Build on RHEL8 / build (push) Successful in 3m4s
Run tests using data on local RHEL8 / build (push) Successful in 3m52s
Build on local RHEL8 / build (push) Successful in 2m45s
- Removed unused DynamicCluster
- Removed commented out references to ClusterFileV2
2026-08-14 11:11:43 +02:00
Erik Fröjdh
4f6b69fba6
Removing deprecated use of lmfit ( #344 )
...
Build on RHEL9 / build (push) Successful in 2m44s
Build on RHEL8 / build (push) Successful in 3m9s
Run tests using data on local RHEL8 / build (push) Successful in 3m58s
Build on local RHEL8 / build (push) Successful in 2m44s
Removed the lmfit based fitting and the old API for calling functions
closes #296
2026-08-14 10:31:07 +02:00
Erik Fröjdh
e26db97b5c
Prototype multi threaded file reader ( #343 )
...
Build on RHEL9 / build (push) Successful in 2m40s
Build on RHEL8 / build (push) Successful in 3m4s
Run tests using data on local RHEL8 / build (push) Successful in 3m51s
Build on local RHEL8 / build (push) Successful in 2m46s
- Reading files from nfs shares tops out at ~1GB/s for single threaded
reads.
- MultiThreadedFileReader uses our File wrapper to read a generic file
in parallel
- Placed in aare::experimental to show that it's not production ready
2026-08-11 15:28:54 +02:00
hinger_v
4bfe7eceea
InclusiveROI comment
2026-07-24 11:47:25 +02:00
hinger_v
13f8c9ea80
Document generators
Build on RHEL9 / build (push) Successful in 2m59s
Build on RHEL8 / build (push) Successful in 3m11s
Run tests using data on local RHEL8 / build (push) Successful in 3m49s
2026-07-22 15:52:58 +02:00
hinger_v
98cdc6ba08
Refactoring and simplifications:
...
Build on RHEL9 / build (push) Successful in 2m40s
Build on RHEL8 / build (push) Successful in 3m48s
Run tests using data on local RHEL8 / build (push) Successful in 4m1s
- Adjust for reduced remap result struct
- Add predefined SensorConfigs
- Move combine_group_maps to implementation detail of RemapGenerate
- Remove apply_rotation_shift and Rotation flip (have become superfluous)
2026-07-22 14:34:47 +02:00
hinger_v
9b5a15f2a4
Consistently add briefs
Build on RHEL8 / build (push) Failing after 1m31s
Build on RHEL9 / build (push) Failing after 1m34s
Run tests using data on local RHEL8 / build (push) Failing after 2m1s
2026-07-21 16:13:15 +02:00
hinger_v
c5ccd44a4c
Refactoring suggestion for remap result (better doc)
2026-07-21 16:04:41 +02:00
hinger_v
857059cdaf
Fix duplicate include
Build on RHEL8 / build (push) Failing after 1m40s
Build on RHEL9 / build (push) Failing after 2m8s
Run tests using data on local RHEL8 / build (push) Failing after 2m32s
2026-07-21 15:46:09 +02:00
hinger_v
81b91fb959
Refactoring suggestion for mapping result (reduced + doc)
2026-07-21 15:45:39 +02:00
hinger_v
9a63c9ac94
Refactoring suggestion for remap result (correct comments)
Build on RHEL8 / build (push) Failing after 1m28s
Build on RHEL9 / build (push) Failing after 1m38s
Run tests using data on local RHEL8 / build (push) Failing after 2m5s
2026-07-21 15:22:25 +02:00
hinger_v
f09ede2646
Refactoring suggestion for mapping result
2026-07-21 15:00:36 +02:00
hinger_v
9344cea819
Improve documentation of structs in defs and rename SensorPlacement -> SensorModulePlacement
Build on RHEL9 / build (push) Successful in 2m34s
Build on RHEL8 / build (push) Successful in 3m6s
Run tests using data on local RHEL8 / build (push) Successful in 4m1s
2026-07-17 15:51:16 +02:00
hinger_v
9bc4a4d6a9
Delete legacy configs
Build on RHEL9 / build (push) Successful in 2m33s
Build on RHEL8 / build (push) Successful in 3m8s
Run tests using data on local RHEL8 / build (push) Successful in 3m53s
2026-07-17 14:23:21 +02:00
hinger_v
6b0598cd30
Move SensorPixelGeometry to SensorConfig and rename group-specific entities to reflect independence of sensor
2026-07-17 14:16:50 +02:00
hinger_v
67690aacf9
Fix only one SensorPlacement also in RemapGenerate.hpp
2026-07-17 11:36:23 +02:00
hinger_v
d3e337d061
Fix compiler warning -> ssize_t
Build on RHEL9 / build (push) Successful in 2m34s
Build on RHEL8 / build (push) Successful in 3m32s
Run tests using data on local RHEL8 / build (push) Successful in 4m6s
2026-07-16 19:39:24 +02:00
hinger_v
1b05488173
Separate flat_index < 0 from >= input.size() and throw only at the latter
2026-07-16 19:30:02 +02:00
hinger_v
14bfc19b6a
Rework RemapAlgorithm.hpp according to comments
...
Build on RHEL9 / build (push) Successful in 2m36s
Build on RHEL8 / build (push) Successful in 3m9s
Run tests using data on local RHEL8 / build (push) Successful in 3m53s
- Add assert to flip
- Only one SensorPlacement for strixel_to_pixel_maps
- Pass order_map as NDView to ApplyRemap
Additional:
- Check output.shape() matches order_map.shape (correct buffer allocation)
- Chash nrows and ncols
- pass NDViews by value (copying is cheap and it makes the intent more clear that it only takes a snapshot of the arrays
2026-07-16 19:21:09 +02:00
hinger_v
a6927310a5
SImplify and document according to comments
Build on RHEL8 / build (push) Failing after 1m30s
Build on RHEL9 / build (push) Failing after 1m34s
Run tests using data on local RHEL8 / build (push) Failing after 2m10s
2026-07-16 12:15:01 +02:00
hinger_v
98385902df
Merge branch 'main' into dev/strixels/remap_simple
2026-07-16 11:05:30 +02:00
hinger_v
afd92ac457
Bugfix: Separate Rotation and Routing
2026-07-16 11:04:43 +02:00
4aadb6f7f0
refactor: hide Minuit2 from aare's public API ( #331 )
...
Build on RHEL9 / build (push) Successful in 3m13s
Build on RHEL8 / build (push) Successful in 3m52s
Run tests using data on local RHEL8 / build (push) Successful in 3m56s
Build on local RHEL8 / build (push) Successful in 2m45s
- Move Chi2.hpp from include/aare/ to src/ (private)
- Pimpl on FitModel<Model>: MnUserParameters/MnStrategy behind opaque
src/FitModelImpl.hpp, no Minuit2 includes in public headers
- Move fit_pixel/fit_3d bodies to Fit.cpp with explicit instantiations
for all 8 models; drop FCN template param from public API
- CMake: aare::Minuit2 wrapped in $<BUILD_INTERFACE:...> (hidden from
exported targets, same pattern as lmfit), MINUIT2_INSTALL OFF, Chi2.hpp
removed from PUBLICHEADERS
- Update python bindings and benchmark callsites accordingly
---------
Co-authored-by: Erik Fröjdh <erik.frojdh@psi.ch >
Co-authored-by: Alice <alice.mazzoleni@psi.ch >
2026-07-02 16:04:22 +02:00
mazzol_a
b4686e6b85
added moench05 defs ( #333 )
...
Build on RHEL9 / build (push) Successful in 2m37s
Build on RHEL8 / build (push) Successful in 3m16s
Run tests using data on local RHEL8 / build (push) Successful in 3m56s
Build on local RHEL8 / build (push) Successful in 2m42s
- add moench05 chip/chiptestboard defs
2026-06-26 17:43:06 +02:00
Erik Fröjdh
b4b28fc9e0
len() and pedestal subtraction ( #328 )
...
Build on RHEL9 / build (push) Successful in 2m57s
Build on RHEL8 / build (push) Successful in 3m28s
Run tests using data on local RHEL8 / build (push) Successful in 4m0s
Build on local RHEL8 / build (push) Successful in 2m44s
Collection of small improvements in usability:
- NDView works for large arrays
- Direct subtraction of Pedestal from np.array
- len() support for python bindings of files
2026-06-15 11:38:06 +02:00