178 Commits

Author SHA1 Message Date
Erik Fröjdh a8225faa17 added parsing of period and exptime 2025-12-18 13:50:25 +01:00
Erik Fröjdh 520d86cec8 removed StringTo/ToString 2025-12-18 12:18:33 +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 8201c5e999 Fix/mythenfilereading (#250)
Build on RHEL8 / build (push) Failing after 0s
Build on RHEL9 / build (push) Successful in 3m23s
Add counter mask as member of RawFile
BugFix: temporarily handle -1 for ROI in mythenfile
2025-11-24 12:29:08 +01:00
mazzol_a 6f7cb4ae30 Merge branch 'main' into dev/license 2025-11-21 14:52:54 +01:00
mazzol_a 267ca87ab0 Dev/rosenblatttransform (#241)
- added rosenblatttransform 
- added 3x3 eta methods 
- interpolation can be used with various eta functions
- added documentation for interpolation, eta calculation 
- exposed full eta struct in python 
- disable ClusterFinder for 2x2 clusters 
- factory function for ClusterVector

---------

Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>
Co-authored-by: Erik Fröjdh <erik.frojdh@psi.ch>
2025-11-21 14:48:46 +01:00
Erik Fröjdh 200ae91622 also hpp 2025-11-21 10:14:14 +01:00
mazzol_a 8989d2eb4a Merge branch 'main' into dev/expose_sum_2x2_to_python 2025-10-27 19:47:09 +01:00
Erik Fröjdh ac83eeff9b added tell and better error checking to cluster file (#239)
Build on RHEL8 / build (push) Failing after 3m8s
Build on RHEL9 / build (push) Failing after 3m18s
- Check feof and ferror when reading frames
- added tell member function to ClusterFile
2025-10-27 15:46:31 +01:00
mazzol_a 01fa61cf47 index now returns enum type 2025-10-23 17:34:54 +02:00
mazzol_a 790dd63ba3 make max_sum_2x2 properly accessible from python 2025-10-23 15:00:52 +02:00
mazzol_a 516ef88d10 adresses SonarQube comments 2025-10-08 18:19:17 +02:00
mazzol_a 5329be816e removed times 2 in calculated photon center distance 2025-10-08 17:01:38 +02:00
mazzol_a 77a9788891 changed eta interpolation to take into account photon center 2025-10-07 16:48:14 +02:00
mazzol_a ad3ef88607 changed default DAC value in ScanParameters 2025-10-01 20:37:40 +02:00
mazzol_a 1f46266183 clang-format 2025-10-01 20:25:27 +02:00
mazzol_a d3d9f760b3 updated parse_json to parse new master json file 2025-10-01 20:17:37 +02:00
mazzol_a 474c35cc6b Merge branch 'main' into dev/reduce
Build on RHEL8 / build (push) Successful in 3m16s
Build on RHEL9 / build (push) Successful in 3m35s
2025-09-08 15:39:27 +02:00
mazzol_a 12114e7275 added documentation
Build on RHEL8 / build (push) Successful in 3m10s
Build on RHEL9 / build (push) Successful in 3m12s
2025-09-01 15:29:58 +02:00
mazzol_a 7926993bb2 reduction tests for python 2025-09-01 14:15:08 +02:00
mazzol_a 8733a1d66f added benchmark
Build on RHEL8 / build (push) Successful in 3m5s
Build on RHEL9 / build (push) Successful in 3m13s
2025-08-22 15:14:05 +02:00
mazzol_a b59277c4bf 3x3 reduction for general cluszter sizes
Build on RHEL8 / build (push) Successful in 3m8s
Build on RHEL9 / build (push) Successful in 3m9s
2025-08-19 12:37:55 +02:00
mazzol_a cb163c79b4 reduction to 2x2 clusters for general clusters 2025-08-18 18:23:15 +02:00
mazzol_a f54e76e6bf view is only allowed on l-value frame (#220)
Vadym accidentally called view() directly on an R-value frame, which
leads to a dangling view pointer.
Adjusted code such that compiler throws an error if called on an R-value
frame.

Co-authored-by: Erik Fröjdh <erik.frojdh@psi.ch>
2025-08-18 11:02:05 +02:00
JFMulvey c6da36d10b Fixed the order of cluster.data being incorrect (#221)
Build on RHEL8 / build (push) Successful in 3m4s
Build on RHEL9 / build (push) Successful in 3m11s
While using the cluster finder and saving a cluster, pixels which are
out of bounds are skipped. cluster.data should contain the pedestal
corrected ADU information of each pixel.

However, the counter "i" which keeps track of the position of
cluster.data is only incremented if the pixel was inside the bounds of
the frame.

This means that any clusters close to the frame's edges are not
construed properly. This means that if you want to extract a 3x3 from a
9x9 cluster, it can fail if the cluster data is not properly centered in
the pixel.

Fixed by moving i++ outside the bounds check.

Co-authored-by: Jonathan Mulvey <jonathan.mulvey@psi.ch>
2025-08-14 09:27:02 +02:00
froejdh_e 89bb8776ea check Ndim on drop_first_dim 2025-07-25 11:44:27 +02:00
froejdh_e 3d6858ad33 removed data_ref 2025-07-25 10:42:47 +02:00
froejdh_e d6222027d0 move constructor for Ndim-1 2025-07-25 10:40:32 +02:00
mazzol_a 1347158235 templated calculate_pedestal with boolean template argument only_gain0, added drop_dimension to NDArray and reference pointer to data 2025-07-24 15:40:05 +02:00
froejdh_e b8e91d0282 zero out switching pixels if 2D calibration is used 2025-07-24 12:10:13 +02:00
froejdh_e 46876bfa73 reduced duplicate code 2025-07-24 10:57:02 +02:00
froejdh_e 348fd0f937 removed unused code 2025-07-24 10:14:29 +02:00
froejdh_e 0fea0f5b0e added safe_divide to NDArray and used it for pedestal 2025-07-24 09:40:38 +02:00
froejdh_e 9a7713e98a added g0 calibration, pedestal and pixel counting 2025-07-22 16:42:09 +02:00
Erik Fröjdh 9a3694b980 Merge branch 'main' into dev/reduce
Build on RHEL9 / build (push) Successful in 3m10s
Build on RHEL8 / build (push) Successful in 3m11s
2025-07-18 10:19:42 +02:00
Erik Fröjdh abae2674a9 Apply calibration to Jungfrau raw data (#216)
- Added function to read calibration file
- Multi threaded pedestal subtraction and application of the calibration
2025-07-18 10:19:14 +02:00
Erik Fröjdh 83717571c8 Merge branch 'main' into dev/reduce 2025-06-27 17:10:24 +02:00
Erik Fröjdh 97dae4ac60 added empty() to ClusterVector and fixed docs (#209)
- added ClusterVector::empty() to check if the vector is empty
- Fixed generation of missing docs for ClusterVector
2025-06-27 17:00:46 +02:00
froejdh_e 5a9c3b717e naive implementation of 3x3 and 5x5 reduction 2025-06-27 16:36:21 +02:00
Erik Fröjdh e3f4b34b72 Const element access and fixed comparing bug (#208)
- Added const element access
- Added const data*
- Fixed bug comparing two Views of same size but different shapes

closes #207
2025-06-27 14:13:51 +02:00
mazzol_a 318e640639 only test over the public interface 2025-06-23 17:27:13 +02:00
mazzol_a c6990dabad deleted unused variables 2025-06-23 17:27:13 +02:00
mazzol_a 9f8eee5d08 fixed python bindings - only read headers of modules that are in the roi
Build on RHEL8 / build (push) Successful in 2m51s
Build on RHEL9 / build (push) Successful in 2m53s
2025-06-16 11:07:00 +02:00
mazzol_a b13f864b2b need n_modules 2025-06-13 17:01:13 +02:00
mazzol_a 0f56846e3d deleted some commented lines 2025-06-13 16:33:25 +02:00
mazzol_a be67bbab6b extended DetectorGeometry class with find_geometry, update_geometry (refactoring) 2025-06-13 16:16:23 +02:00
mazzol_a bd7870e75a review comments
Build on RHEL9 / build (push) Successful in 2m53s
Build on RHEL8 / build (push) Successful in 2m55s
2025-06-12 18:14:48 +02:00
mazzol_a 75f63607fc friend_test macro 2025-06-12 17:46:10 +02:00
mazzol_a 19ecc82fff solved merge conflict
Build on RHEL8 / build (push) Successful in 2m52s
Build on RHEL9 / build (push) Successful in 3m12s
2025-06-10 17:01:40 +02:00