Commit Graph

153 Commits

Author SHA1 Message Date
403d10b668 Cpp multi example (#84)
- Small modifications to the ProducerConsumerQueue to allow for storage
in a vector
- Example showing multi threading in C++ using queues
- fixes for python bindings

---------

Co-authored-by: Bechir <bechir.brahem420@gmail.com>
Co-authored-by: Bechir Braham <bachbrahem@gmail.com>
2024-07-16 18:43:23 +02:00
246ac90f71 ClusterFileV2 minor cleanup (#80)
- Using FILE* to keep track of state
- check FILE* before reading to avoid segfault if file is closed
- barebone tests
2024-07-11 14:00:15 +02:00
4760648d87 change pedestal types (#79)
Co-authored-by: Bechir <bechir.brahem420@gmail.com>
2024-07-09 20:53:11 +02:00
4f184ddf40 add .gitattributes to ignore jupyter from github linguist (#78) 2024-07-08 10:57:50 +02:00
68dcfca74e Feature/reactivate python bindings (#74)
major changes:
- add python bindings for all c++ features except network_io
- changes to cross compile on windows,linux and macos
- fix bugs with cluster_finder
- use Dtype in Frame instead of bitdepth
- remove boost::program_options and replace with our implementation 
- add Transforms class that applies a sequence of functions (c++ or
python functions) on a Frame.
- remove frame reorder and flip from SubFile.cpp. use Transforms instead
- Test clusterFinder and Pedestal results in comparison with
slsDetectorCalibration

---------

Co-authored-by: Bechir <bechir.brahem420@gmail.com>
Co-authored-by: Erik Fröjdh <erik.frojdh@gmail.com>
2024-07-04 11:51:48 +02:00
5b7ab5a810 cluster finder (#72)
implement fixed size cluster finder algorithm 
clusterFile functions are commented and put on hold.

---------

Co-authored-by: Bechir <bechir.brahem420@gmail.com>
Co-authored-by: Erik Fröjdh <erik.frojdh@gmail.com>
2024-06-17 10:57:23 +02:00
1dd361a343 template pedestal (#71)
template the type of m_sum and m_sum2 in pedestal
2024-05-27 15:24:26 +02:00
fed362e843 fix pedestal QA unit test (#70) 2024-05-15 11:20:13 +02:00
91a628cd6c pedestal (#67)
* add config files for multimodule receiving

* read subfiles with unordered and missing frames

* save work debugging

* Revert "save work debugging"

This reverts commit e791992a05.

* Revert "read subfiles with unordered and missing frames"

This reverts commit 1177fd129d.

* throw when two frames have different frame numbers

* write single part RawFile (working beta)

* correct total number of frames in master file

* add new mythen file with syncd frames

* save work

* save work for receive multimodule
multimodule config results in too much packet loss. needs more debugging.

* setup Task Distributiosn/ parallelization programming model

* read frames with same frame number

* clang-tidy fixes, formatting, add tests

* added second receiver

* Synchronize between zmq streams and merge frames

* improve readability in loop

* fix failing tests

* add simple test for merge frames

* restructure files and use top-level header

* working pedestal + tests

* test_pedestal statistics

* QA test pedestal, fix clang-tidy errors

---------

Co-authored-by: Bechir <bechir.brahem420@gmail.com>
Co-authored-by: Erik Frojdh <erik.frojdh@gmail.com>
2024-05-08 12:33:51 +02:00
9637d0602f receive multimodule (#65)
* add config files for multimodule receiving

* read subfiles with unordered and missing frames

* save work debugging

* Revert "save work debugging"

This reverts commit e791992a05.

* Revert "read subfiles with unordered and missing frames"

This reverts commit 1177fd129d.

* throw when two frames have different frame numbers

* write single part RawFile (working beta)

* correct total number of frames in master file

* add new mythen file with syncd frames

* save work

* save work for receive multimodule
multimodule config results in too much packet loss. needs more debugging.

* setup Task Distributiosn/ parallelization programming model

* read frames with same frame number

* clang-tidy fixes, formatting, add tests

* added second receiver

* Synchronize between zmq streams and merge frames

* improve readability in loop

* fix failing tests

* add simple test for merge frames

---------

Co-authored-by: Bechir <bechir.brahem420@gmail.com>
Co-authored-by: Erik Frojdh <erik.frojdh@gmail.com>
2024-05-07 11:06:37 +02:00
70acfbf4ac write rawfiles (single file) and read rawfiles in order (#66)
* read subfiles with unordered and missing frames

* save work debugging

* Revert "save work debugging"

This reverts commit e791992a05.

* Revert "read subfiles with unordered and missing frames"

This reverts commit 1177fd129d.

* throw when two frames have different frame numbers

* write single part RawFile (working beta)

* correct total number of frames in master file

* add new mythen file with syncd frames

* read frames with same frame number

* clang-tidy fixes, formatting, add tests

* improve readability in loop

* fix failing tests

---------

Co-authored-by: Bechir <bechir.brahem420@gmail.com>
2024-05-07 10:46:24 +02:00
a4850892e0 add license2 (#64)
* add license folder copied from slsDetectorPackage

* add COPYING file (LICENSE)

* change slsDetectorPackage to aare in COPING
2024-04-18 10:41:34 +02:00
23849338e6 add license folder copied from slsDetectorPackage (#63) 2024-04-18 09:34:43 +02:00
1d0de6876e fix clang-tidy on ci actions + other improvements (#62)
install version 17 for clang-tidy on github actions
use warnings as errors in .clang-tidy
use better clang-tidy checks
use option in CMakeLists to use clang-tidy-17 instead of clang-tidy (14)
2024-04-18 09:26:57 +02:00
28d7e8c07a read write cluster file (#60)
* Read and write cluster files (save work)

* add reading test

* use define for examples env variable and fix ci

* read and write cluster files (working)

* fix cluster CI
2024-04-16 13:14:41 +02:00
9dfd388927 use clang-tidy (#59)
* use clang-tidy for Frame.cpp

* fixes for defs.cpp

* clang-tidy 6/45

* clang-tidy for core

* clang-tidy fixes: for hpp File,FileInterface,SubFile.cpp

* ci fixes

* fix build errors

* fix clang-tidy command ci

* fix clang-tidy ci

* clang-tidy for rawfile.cpp

* clang-tidy numpy helpers

* fix ci

* clang-tidy file_io

* clang-tidy file_io and core working

* zmqheader

* clagn-tidy: network_io,file_io,core

* clang-tidy working

* format

---------

Co-authored-by: Bechir <bechir.brahem420@gmail.com>
2024-04-12 17:35:36 +02:00
eb7108b837 Merge pull request #58 from slsdetectorgroup/fix/make-file-variables-private
make file interface and rawfile variables private
2024-04-11 17:50:18 +02:00
04a2272937 make file interface and rawfile variables private 2024-04-11 17:42:45 +02:00
f7b3ef2cdc Merge pull request #57 from slsdetectorgroup/feature/remove-factories
file_io: remove file factories and add documentation
2024-04-11 17:38:33 +02:00
abf364765c Merge branch 'developer' into feature/remove-factories 2024-04-11 17:33:29 +02:00
2ebbd0d7cd setup doxygen and clang-uml files 2024-04-11 17:20:34 +02:00
111b421476 add documentation for file_io files 2024-04-10 18:09:09 +02:00
74be5b5c7c Merge pull request #55 from slsdetectorgroup/feature/stream-file
file streamer
2024-04-10 17:23:31 +02:00
260cb96f64 add documentation to code 2024-04-10 17:18:23 +02:00
530feca830 restore ssize_t changes 2024-04-10 13:57:16 +02:00
bfb59d650b remove factories and change to size_t 2024-04-10 13:48:10 +02:00
ea17a640cf fix for ci and fetchcontent build
replace cmake --build with actual command in github format workflow for faster checking
2024-04-10 11:03:58 +02:00
0755de309e working simple streamer 2024-04-09 17:30:42 +02:00
59b04ad6e8 add boost library 2024-04-09 15:45:01 +02:00
a48820059d headers are now included with their library prefix 2024-04-09 11:36:15 +02:00
a2499c96d6 restructure zmq socker interface
zmq socket can now return vector of frames. it knows end of transmission with header.data == 0
it can also send vector of frames
2024-04-09 11:14:21 +02:00
cd46f59b99 Merge pull request #54 from slsdetectorgroup/feature/zmq_sender_example
zmq sender example
2024-04-05 17:17:09 +02:00
598e9f6708 format files 2024-04-05 17:05:42 +02:00
2f23e4610d fix warnings 2024-04-05 16:04:01 +02:00
3c58039502 add tests for zmqheader and remove simdjson warnings 2024-04-05 15:22:31 +02:00
818ad608d9 Merge pull request #52 from slsdetectorgroup/feature/formatting-in-cmake
add formatting as target in cmake
2024-04-04 17:25:45 +02:00
35d2b274f4 add simdjson as public for network_io
in ZmqHeader.hpp we are using templates that depend on simdjson. other libraries should also link simdjson
2024-04-04 16:35:46 +02:00
47cf462f3d zmq sender and receiver examples 2024-04-04 15:51:18 +02:00
f772434072 add network_io folder 2024-04-03 16:40:00 +02:00
bb7459d36b test instructions (#53) 2024-04-03 15:57:28 +02:00
9e96f8b150 format headers 2024-04-03 14:53:06 +02:00
76c0f7a757 add formatting to cmake 2024-04-03 14:50:14 +02:00
2e4eec0c8a Merge pull request #49 from slsdetectorgroup/numpy-warnings
compiler generated constructors and reduced warnings
2024-04-03 14:44:48 +02:00
8627f5e97b format 2024-04-03 14:14:27 +02:00
b02feceb2c compiler generated constructors and reduced warnings 2024-04-03 14:12:25 +02:00
31a20d4f6c fix ci and add formatting (#48)
* add dependency

* dont run blocking zmq example and add formatting

* format files
2024-04-03 13:47:52 +02:00
23c855acbc Merge pull request #43 from slsdetectorgroup/zmq
ZmqSocket prototype
2024-04-03 13:13:22 +02:00
0efee0c96d Merge pull request #47 from slsdetectorgroup/frame-test
Added tests to Frame and some cleanup
2024-04-03 13:13:07 +02:00
0aafde730e added missing test file 2024-04-03 12:23:17 +02:00
77785fa89b more tests 2024-04-03 12:21:40 +02:00