v1.0.0-rc.97
Some checks failed
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 8m11s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 9m9s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 9m18s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 10m14s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 10m3s
Build Packages / Generate python client (push) Successful in 15s
Build Packages / Build documentation (push) Successful in 50s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8) (push) Successful in 8m31s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 8m21s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m42s
Build Packages / build:rpm (rocky9) (push) Successful in 9m11s
Build Packages / Unit tests (push) Failing after 1h13m19s

This is an UNSTABLE release and not recommended for production use (please use rc.96 instead).

* jfjoch_broker: For DECTRIS detectors add dark data collection during initialization for bad pixel mask
* jfjoch_broker: Refactor of calibration logic for more clear code (likely to introduce problems)
* jfjoch_viewer: Add option to handle user pixel mask (experimental)
* jfjoch_viewer: More options for ROI
* jfjoch_viewer: Add window to display calibration

Reviewed-on: #2
Co-authored-by: Filip Leonarski <filip.leonarski@psi.ch>
Co-committed-by: Filip Leonarski <filip.leonarski@psi.ch>
This commit was merged in pull request #2.
This commit is contained in:
2025-11-09 12:42:27 +01:00
committed by leonarski_f
parent 8b356a7001
commit 4dbbf0e365
243 changed files with 4532 additions and 1832 deletions

View File

@@ -15,7 +15,7 @@ TEST_CASE("JFJochReceiverTest_Raw", "[JFJochReceiver]") {
DiffractionExperiment x(DetJF(4));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(100).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(CompressionAlgorithm::NO_COMPRESSION);
@@ -47,7 +47,7 @@ TEST_CASE("JFJochReceiverTest_Conversion", "[JFJochReceiver]") {
DiffractionExperiment x(DetJF(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(32).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD);
@@ -77,7 +77,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_NoGeomTransform", "[JFJochReceiver]") {
DiffractionExperiment x(DetJF(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(32).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD)
.GeometryTransformation(false);
@@ -106,7 +106,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_Poisson", "[JFJochReceiver]") {
DiffractionExperiment x(DetJF(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(32).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(
CompressionAlgorithm::BSHUF_ZSTD);
@@ -136,7 +136,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_Threshold", "[JFJochReceiver]") {
DiffractionExperiment x(DetJF(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(32).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(
CompressionAlgorithm::BSHUF_ZSTD);
@@ -166,7 +166,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_ApplyMask", "[JFJochReceiver]") {
DiffractionExperiment x(DetJF(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(32).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD);
x.ApplyPixelMask(true).MaskChipEdges(true).MaskModuleEdges(true);
@@ -195,7 +195,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_Threshold_Summation", "[JFJochReceiver]
DiffractionExperiment x(DetJF(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(1).Summation(4).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(
CompressionAlgorithm::BSHUF_ZSTD);
@@ -225,7 +225,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_FixedGainG1", "[JFJochReceiver]") {
DiffractionExperiment x(DetJF(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(32).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD)
.FixedGainG1(true);
@@ -255,7 +255,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_FixedGainG1_onlyG1", "[JFJochReceiver]"
DiffractionExperiment x(DetJF(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(32).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD)
.FixedGainG1(true);
@@ -285,7 +285,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_U16", "[JFJochReceiver]") {
DiffractionExperiment x(DetJF(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(32).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD)
.BitDepthImage(16).PixelSigned(false);
@@ -315,7 +315,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_U8", "[JFJochReceiver]") {
DiffractionExperiment x(DetJF(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(32).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD)
.BitDepthImage(8).PixelSigned(false);
@@ -347,7 +347,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_I32", "[JFJochReceiver]") {
DiffractionExperiment x(DetJF(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(32).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD)
.PixelSigned(true).BitDepthImage(32);
@@ -376,7 +376,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_Summation2", "[JFJochReceiver]") {
DiffractionExperiment x(DetJF(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(32).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD).Summation(2);
@@ -404,7 +404,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_Summation7_CPU", "[JFJochReceiver]") {
DiffractionExperiment x(DetJF(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(8).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD)
.Summation(7).CPUSummation(true);
@@ -433,7 +433,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_StorageCell", "[JFJochReceiver]") {
DiffractionExperiment x(DetJF(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(32).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD).StorageCells(16);
@@ -793,7 +793,7 @@ TEST_CASE("JFJochReceiverTest_PacketLost_Raw", "[JFJochReceiver]") {
std::vector<uint16_t> frame_in(RAW_MODULE_SIZE);
for (auto &i: frame_in) i = 776;
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).NumTriggers(1)
.UseInternalPacketGenerator(false).ImagesPerTrigger(4).IncidentEnergy_keV(12.4)
.Compression(CompressionAlgorithm::NO_COMPRESSION);
@@ -856,7 +856,7 @@ TEST_CASE("JFJochReceiverTest_Cancel", "[JFJochReceiver]") {
std::vector<uint16_t> frame_in(RAW_MODULE_SIZE);
for (auto &i: frame_in) i = 776;
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).NumTriggers(1)
.UseInternalPacketGenerator(false).ImagesPerTrigger(4).IncidentEnergy_keV(12.4);
@@ -896,7 +896,7 @@ TEST_CASE("JFJochReceiverTest_EIGER", "[JFJochReceiver]") {
DiffractionExperiment x(DetEIGER(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(32).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD);
@@ -980,7 +980,7 @@ TEST_CASE("JFJochReceiverTest_EIGER_conversion", "[JFJochReceiver]") {
DiffractionExperiment x(DetEIGER(2));
const uint16_t nthreads = 4;
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true)
.ImagesPerTrigger(32).ImagesPerFile(10).IncidentEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD);