100 Commits

Author SHA1 Message Date
Mazzoleni Alice Francesca
76f050f69f solved merge conflict
Some checks failed
Build on RHEL9 / buildh (push) Failing after 1m22s
2025-04-10 09:21:50 +02:00
Erik Fröjdh
8b0eee1e66
fixed warnings and removed ambiguous read_frame (#154)
All checks were successful
Build on RHEL9 / buildh (push) Successful in 1m47s
Fixed warnings:
- unused variable in Interpolator
- Narrowing conversions uint64-->int64

Removed an ambiguous function from JungfrauDataFile
- NDarry read_frame(header&=nullptr)
- Frame read_frame()

NDArray and NDView size() is now signed
2025-04-09 17:54:55 +02:00
Erik Fröjdh
f16273a566
Adding support for Jungfrau .dat files (#152)
All checks were successful
Build on RHEL9 / buildh (push) Successful in 1m48s
closes #150 

**Not addressed in this PR:** 

- pixels_per_frame, bytes_per_frame and tell should be made cost in
FileInterface
2025-04-08 15:31:04 +02:00
Mazzoleni Alice Francesca
a12e43b176 underlying container of ClusterVcetor is now a std::vector 2025-04-07 12:27:44 +02:00
Mazzoleni Alice Francesca
9de84a7f87 added some python tests
Some checks failed
Build the package using cmake then documentation / build (ubuntu-latest, 3.12) (push) Failing after 41s
2025-04-04 17:19:15 +02:00
Mazzoleni Alice Francesca
885309d97c fix build
Some checks failed
Build the package using cmake then documentation / build (ubuntu-latest, 3.12) (push) Failing after 43s
2025-04-03 17:14:28 +02:00
Mazzoleni Alice Francesca
e24ed68416 fixed include 2025-04-03 16:50:02 +02:00
Mazzoleni Alice Francesca
248d25486f refactored python files 2025-04-03 16:38:12 +02:00
Mazzoleni Alice Francesca
d7ef9bb1d8 missed some refactoring of datatypes
Some checks failed
Build the package using cmake then documentation / build (ubuntu-latest, 3.12) (push) Failing after 49s
2025-04-03 11:36:15 +02:00
Mazzoleni Alice Francesca
de9fc16e89 generalize is_selected 2025-04-03 09:28:54 +02:00
Mazzoleni Alice Francesca
50eeba4005 restructured GainMap to have own class and generalized
Some checks failed
Build the package using cmake then documentation / build (ubuntu-latest, 3.12) (push) Failing after 40s
2025-04-02 17:58:26 +02:00
Mazzoleni Alice Francesca
98d2d6098e refactored other cpp files 2025-04-02 16:00:46 +02:00
Mazzoleni Alice Francesca
61af1105a1 templated eta and updated test 2025-04-02 14:42:38 +02:00
Mazzoleni Alice Francesca
240960d3e7 generalized FindCluster to read in general cluster sizes - assuming that finding cluster center is equal for all clusters 2025-04-02 12:05:16 +02:00
Mazzoleni Alice Francesca
04728929cb implemented sum_2x2() for general clusters, only one calculate_eta2 function for all clusters
Some checks failed
Build the package using cmake then documentation / build (ubuntu-latest, 3.12) (push) Failing after 37s
2025-04-01 18:29:08 +02:00
Mazzoleni Alice Francesca
3083d51699 merge conflict 2025-04-01 17:50:11 +02:00
Mazzoleni Alice Francesca
4240942cec solved merge conflict 2025-04-01 17:48:48 +02:00
Mazzoleni Alice Francesca
745d09fbe9 changed push_back to take Cluster as input argument 2025-04-01 15:30:10 +02:00
Erik Fröjdh
9d8e803474
Merge branch 'main' into developer 2025-04-01 14:35:27 +02:00
Erik Fröjdh
a42c0d645b
added roi, noise and gain (#143)
- Moved definitions of Cluster_2x2 and Cluster_3x3 to it's own file
- Added optional members for ROI, noise_map and gain_map in ClusterFile

**API:**

After creating the ClusterFile the user can set one or all of: roi,
noise_map, gain_map

```python
f = ClusterFile(fname)
f.set_roi(roi) #aare.ROI
f.set_noise_map(noise_map) #numpy array
f.set_gain_map(gain_map) #numpy array
```

**When reading clusters they are evaluated in the order:**

1. If ROI is enabled check that the cluster is within the ROI
1. If noise_map is enabled check that the cluster meets one of the
conditions
    - Center pixel above noise
    - Highest 2x2 sum above 2x noise
    - 3x3 sum above 3x noise
1. If gain_map is set apply the gain map before returning the clusters
(not used for noise cut)

**Open questions:**
1. Check for out of bounds access in noise and gain map?

closes #139 
closes #135 
closes #90
2025-04-01 14:31:25 +02:00
Mazzoleni Alice Francesca
508adf5016 refactoring of remaining files
Some checks failed
Build the package using cmake then documentation / build (ubuntu-latest, 3.12) (push) Failing after 40s
Build the package using cmake then documentation / deploy (push) Has been skipped
2025-04-01 10:01:23 +02:00
Mazzoleni Alice Francesca
e038bd1646 refactored and put calculate_eta function in seperate file 2025-03-31 17:35:39 +02:00
Mazzoleni Alice Francesca
7e5f91c6ec added benchmark to time generalize calculate_eta - twice as long so will keep specific version for 2x2 and 3x3 clusters 2025-03-31 17:04:57 +02:00
Mazzoleni Alice Francesca
ed9ef7c600 removed analyze_cluster function as not used anymore
Some checks failed
Build the package using cmake then documentation / build (ubuntu-latest, 3.12) (push) Failing after 52s
Build the package using cmake then documentation / deploy (push) Has been skipped
2025-03-31 12:26:29 +02:00
57bb6c71ae ClusterSize should be larger than 1
Some checks failed
Build the package using cmake then documentation / build (ubuntu-latest, 3.12) (push) Failing after 51s
Build the package using cmake then documentation / deploy (push) Has been skipped
2025-03-28 14:49:55 +01:00
f8f98b6ec3 Generalized calculate_eta2 function to work with general cluster types 2025-03-28 14:29:20 +01:00
0876b6891a cpp Cluster and ClusterVector and ClusterFile are templated now, they support generic cluster types 2025-03-25 21:42:50 +01:00
6e7e81b36b complete mess but need to install RedHat 9 2025-03-21 16:32:54 +01:00
Erik Fröjdh
5d8ad27b21
Developer (#138)
All checks were successful
Build the package using cmake then documentation / build (ubuntu-latest, 3.12) (push) Successful in 1m45s
- Fully functioning variable size cluster finder
- Added interpolation
- Bit reordering for ADC SAR 05

---------

Co-authored-by: Patrick <patrick.sieberer@psi.ch>
Co-authored-by: JulianHeymes <julian.heymes@psi.ch>
Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>
Co-authored-by: xiangyu.xie <xiangyu.xie@psi.ch>
2025-03-20 12:52:04 +01:00
Erik Fröjdh
11cd2ec654
Interpolate (#137)
- added eta based interpolation
2025-03-18 17:45:38 +01:00
froejdh_e
332bdeb02b modified algo 2025-03-14 11:07:09 +01:00
froejdh_e
5614cb4673 WIP 2025-03-05 17:40:08 +01:00
froejdh_e
8ae6bb76f8 removed warnings added clang-tidy 2025-02-21 11:18:39 +01:00
Xiangyu Xie
1d2c38c1d4
Enable VarClusterFinder (#134)
Co-authored-by: xiangyu.xie <xiangyu.xie@psi.ch>
2025-02-19 16:11:24 +01:00
Erik Fröjdh
b7a47576a1
Multi threaded fitting and returning chi2 (#132)
Co-authored-by: Patrick <patrick.sieberer@psi.ch>
Co-authored-by: JulianHeymes <julian.heymes@psi.ch>
Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>
2025-02-19 07:19:59 +01:00
Erik Fröjdh
fc1c9f35d6
Merge branch 'main' into developer 2025-02-18 21:52:20 +01:00
Erik Fröjdh
6a83988485
Added chi2 to fit results (#131)
- fit_gaus and fit_pol1 now return a dict
- calculate chi2 after fit
- cleaned up code
2025-02-18 21:13:27 +01:00
Erik Fröjdh
dadf5f4869
Added fitting, fixed roi etc (#129)
Co-authored-by: Patrick <patrick.sieberer@psi.ch>
Co-authored-by: JulianHeymes <julian.heymes@psi.ch>
2025-02-12 16:50:31 +01:00
Erik Fröjdh
7309cff47c
Added fitting with lmfit (#128)
- added stand alone fitting using:
https://jugit.fz-juelich.de/mlz/lmfit.git
- fit_gaus, fit_pol1 with and without errors
- multi threaded fitting

---------

Co-authored-by: JulianHeymes <julian.heymes@psi.ch>
2025-02-12 16:35:48 +01:00
Erik Fröjdh
c0c5e07ad8
added decoding of adc_sar_04 (#127) 2025-02-12 16:17:32 +01:00
Erik Fröjdh
d86cb533c8
Fix minor warnings (#126)
- Unused variables
- signed vs. unsigned
- added -flto=auto
2025-02-11 11:48:01 +01:00
Erik Fröjdh
4c750cc3be
Fixing ROI read of RawFile (#125)
- Bugfixes
- New abstraction for detector geometry
- Tests for updating geo with ROI
2025-02-11 11:08:22 +01:00
Erik Fröjdh
5a3ca2ae2d
Decoding for ADC SAR 05 64->16bit (#124)
Co-authored-by: Patrick <patrick.sieberer@psi.ch>
2025-02-05 14:40:26 +01:00
froejdh_e
078e5d81ec docs 2025-01-15 16:40:34 +01:00
froejdh_e
6cde968c60 summing 2x2 2025-01-15 16:12:06 +01:00
froejdh_e
f6d736facd docs for ClusterFile 2025-01-15 09:15:41 +01:00
froejdh_e
7ce02006f2 clear pedestal 2025-01-10 17:26:23 +01:00
froejdh_e
caf7b4ecdb added docs for ClusterFinderMT 2025-01-10 10:22:04 +01:00
froejdh_e
cc95561eda MultiThreaded Cluster finder 2025-01-09 16:53:22 +01:00
froejdh_e
dc9e10016d WIP 2025-01-08 16:45:24 +01:00