2511-eiger-mask #2

Merged
leonarski_f merged 69 commits from 2511-eiger-mask into main 2025-11-09 12:42:28 +01:00
14 changed files with 123 additions and 160 deletions
Showing only changes of commit 5431f9cefb - Show all commits

View File

@@ -29,7 +29,7 @@ DiffractionExperiment::DiffractionExperiment(const DetectorSetup& det_setup)
series_id = 0;
mode = DetectorMode::Conversion;
mode = DetectorMode::Standard;
image_format_settings.Conv();
summation = 1;
@@ -41,7 +41,7 @@ DiffractionExperiment &DiffractionExperiment::Detector(const DetectorSetup &inpu
detector = input;
// Conversion is always default mode after switching detectors
mode = DetectorMode::Conversion;
mode = DetectorMode::Standard;
auto settings = detector.GetDefaultSettings();
if (settings)
@@ -50,8 +50,6 @@ DiffractionExperiment &DiffractionExperiment::Detector(const DetectorSetup &inpu
}
DiffractionExperiment &DiffractionExperiment::Mode(DetectorMode input) {
mode = input;
// Handle allowed mode settings
switch (GetDetectorType()) {
case DetectorType::JUNGFRAU:
@@ -61,19 +59,15 @@ DiffractionExperiment &DiffractionExperiment::Mode(DetectorMode input) {
case DetectorType::DECTRIS:
if ((input == DetectorMode::PedestalG0) || (input == DetectorMode::PedestalG1) || (input == DetectorMode::PedestalG2))
throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, "Pedestal data collection is not supported for DECTRIS detector");
if (input == DetectorMode::Raw)
throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, "Raw data collection is not supported for DECTRIS detector");
break;
break;
case DetectorType::EIGER:
if ((input == DetectorMode::PedestalG0) || (input == DetectorMode::PedestalG1) || (input == DetectorMode::PedestalG2) || (input == DetectorMode::DarkMask))
throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, "Pedestal or dark mask data collection is not supported for PSI EIGER detector");
break;
}
if (input == DetectorMode::Conversion)
Conversion();
if (input == DetectorMode::Raw)
Raw();
mode = input;
return *this;
}
@@ -1241,12 +1235,14 @@ std::optional<float> DiffractionExperiment::GetJungfrauConversionFactor_keV() co
return image_format_settings.GetJungfrauConvFactor_keV();
}
void DiffractionExperiment::Conversion() {
DiffractionExperiment & DiffractionExperiment::Conversion() {
image_format_settings.Conv();
return *this;
}
void DiffractionExperiment::Raw() {
DiffractionExperiment & DiffractionExperiment::Raw() {
image_format_settings.Raw();
return *this;
}
DiffractionExperiment &DiffractionExperiment::ImportDetectorSettings(const DetectorSettings &input) {

View File

@@ -31,7 +31,7 @@
#include "../symmetry/gemmi/symmetry.hpp"
enum class DetectorMode {
Conversion, Raw, PedestalG0, PedestalG1, PedestalG2, DarkMask
Standard, PedestalG0, PedestalG1, PedestalG2, DarkMask
};
struct AcquisitionDeviceNetConfig {
@@ -355,8 +355,8 @@ public:
bool IsPedestalRun() const;
void Raw();
void Conversion();
DiffractionExperiment &Raw();
DiffractionExperiment &Conversion();
float GetPedestalG0RMSLimit() const;
uint32_t GetPedestalMinImageCount() const;

View File

@@ -172,7 +172,7 @@ TEST_CASE("DiffractionExperiment_DataStreams","[DiffractionExperiment]") {
TEST_CASE("DiffractionExperiment_DetectorGeometry","[DiffractionExperiment]") {
DiffractionExperiment x(DetJF(18)); // 9M configuration #1 - via constructor
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.DataStreams(4);
REQUIRE(x.GetDataStreamsNum() == 4);
@@ -191,13 +191,13 @@ TEST_CASE("DiffractionExperiment_DetectorGeometry","[DiffractionExperiment]") {
REQUIRE(x.GetPixelsNum() == 18 * 514 * 1030);
x.Mode(DetectorMode::Raw);
x.Raw();
REQUIRE(x.GetPixelsNum() == 18 * 512 * 1024);
REQUIRE(x.GetXPixelsNum() == 1024);
REQUIRE(x.GetYPixelsNum() == 512 * 18);
x.Mode(DetectorMode::Conversion);
x.Conversion();
x = DiffractionExperiment(DetJF(18, 2)); // 9M configuration #2
@@ -219,7 +219,7 @@ TEST_CASE("DiffractionExperiment_DetectorGeometry","[DiffractionExperiment]") {
REQUIRE_THROWS(x.GetPixel0OfModuleConv(18));
x.Mode(DetectorMode::Raw);
x.Raw();
REQUIRE(x.GetPixelsNum() == 1024 * 512 * 18);
REQUIRE(x.GetXPixelsNum() == 1024);
@@ -232,7 +232,7 @@ TEST_CASE("DiffractionExperiment_DetectorGeometry_gaps","[DiffractionExperiment]
const size_t gap_y = 36;
DiffractionExperiment x(DetJF(18, 2, gap_x, gap_y, false));
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.DataStreams(4);
REQUIRE(x.GetDataStreamsNum() == 4);
@@ -266,7 +266,7 @@ TEST_CASE("DiffractionExperiment_DetectorGeometry_gaps_mirror_y","[DiffractionEx
const size_t gap_y = 36;
DiffractionExperiment x(DetJF(20, 2, gap_x, gap_y, true));
x.Mode(DetectorMode::Conversion);
x.Conversion();
REQUIRE(x.GetPixel0OfModuleConv(0) == (2*1030+gap_x) * 513 + (2*1030 + gap_x) * 9 * (514 + gap_y));
REQUIRE(x.GetPixel0OfModuleConv(1) == (2*1030+gap_x) * 513 + (2*1030 + gap_x) * 9 * (514 + gap_y) + 1030 + gap_x);
@@ -425,17 +425,15 @@ TEST_CASE("DiffractionExperiment_InternalPacketGenerator", "[DiffractionExperime
}
TEST_CASE("DiffractionExperiment_CopyConstructor", "[DiffractionExperiment]") {
DiffractionExperiment a = DiffractionExperiment().Mode(DetectorMode::Raw);
DiffractionExperiment a = DiffractionExperiment();
a.BeamX_pxl(150);
REQUIRE(a.GetBeamX_pxl() == 150.0);
REQUIRE(a.GetDetectorMode() == DetectorMode::Raw);
DiffractionExperiment b(a);
REQUIRE(b.GetBeamX_pxl() == 150.0);
b.BeamX_pxl(100);
REQUIRE(a.GetBeamX_pxl() == 150.0);
REQUIRE(b.GetBeamX_pxl() == 100.0);
REQUIRE(b.GetDetectorMode() == DetectorMode::Raw);
DiffractionExperiment c = b;
REQUIRE (c.GetBeamX_pxl() == 100.0);
@@ -646,7 +644,7 @@ TEST_CASE("DiffractionExperiment_PulsedSource","[DiffractionExperiment]") {
DiffractionExperiment x;
REQUIRE(!x.IsPulsedSource()); // default must be off
x.ImagesPerTrigger(50).NumTriggers(100).Mode(DetectorMode::Conversion).PedestalG0Frames(1000)
x.ImagesPerTrigger(50).NumTriggers(100).Mode(DetectorMode::Standard).PedestalG0Frames(1000)
.PedestalG1Frames(200).PedestalG2Frames(100);
x.PulsedSource(true);
@@ -659,7 +657,7 @@ TEST_CASE("DiffractionExperiment_PulsedSource","[DiffractionExperiment]") {
REQUIRE(x.GetFrameNum() == 100 * 10);
REQUIRE(x.GetImageNum() == 100);
x.Mode(DetectorMode::Raw);
x.Raw();
REQUIRE(x.GetSummation() == 1);
REQUIRE(x.GetFrameNumPerTrigger() == 1);
REQUIRE(x.GetNumTriggers() == 100);
@@ -690,32 +688,32 @@ TEST_CASE("DiffractionExperiment_DefaultDataProcessingSettings","[DiffractionExp
TEST_CASE("DiffractionExperiment_FPGA_PixelSigned_JUNGFRAU","[DiffractionExperiment]") {
DiffractionExperiment x(DetJF(4));
x.Mode(DetectorMode::Conversion).PixelSigned({});
x.Conversion().PixelSigned({});
REQUIRE(x.IsPixelSigned());
x.Mode(DetectorMode::Raw).PixelSigned({});
x.Raw().PixelSigned({});
REQUIRE(!x.IsPixelSigned());
x.Mode(DetectorMode::Conversion).PixelSigned(false);
x.Conversion().PixelSigned(false);
REQUIRE(!x.IsPixelSigned());
x.Mode(DetectorMode::Raw).PixelSigned(true);
x.Raw().PixelSigned(true);
REQUIRE(x.IsPixelSigned());
}
TEST_CASE("DiffractionExperiment_FPGA_PixelSigned_EIGER","[DiffractionExperiment]") {
DiffractionExperiment x(DetEIGER(4));
x.Mode(DetectorMode::Conversion).PixelSigned({});
x.Conversion().PixelSigned({});
REQUIRE(!x.IsPixelSigned());
x.Mode(DetectorMode::Raw).PixelSigned({});
x.Raw().PixelSigned({});
REQUIRE(!x.IsPixelSigned());
x.Mode(DetectorMode::Conversion).PixelSigned(false);
x.Conversion().PixelSigned(false);
REQUIRE(!x.IsPixelSigned());
x.Mode(DetectorMode::Raw).PixelSigned(true);
x.Raw().PixelSigned(true);
REQUIRE(x.IsPixelSigned());
}
@@ -878,10 +876,10 @@ TEST_CASE("DiffractionExperiment_Appendix","") {
TEST_CASE("DiffractionExperiment_ConversionOnFPGA","[DiffractionExperiment]") {
DiffractionExperiment x;
x.Mode(DetectorMode::Conversion);
x.Conversion();
REQUIRE(x.IsJungfrauConvPhotonCnt()); // conversion on FPGA must be default true!
x.Mode(DetectorMode::Raw);
x.Raw();
REQUIRE(!x.IsJungfrauConvPhotonCnt()); // conversion on FPGA off for raw mode
x.Mode(DetectorMode::PedestalG0);
@@ -893,16 +891,17 @@ TEST_CASE("DiffractionExperiment_ConversionOnFPGA","[DiffractionExperiment]") {
x.Mode(DetectorMode::PedestalG2);
REQUIRE(!x.IsJungfrauConvPhotonCnt()); // conversion on FPGA off for pedestal modes
x.Mode(DetectorMode::Conversion).JungfrauConvPhotonCnt(false);
x.Mode(DetectorMode::Standard);
x.JungfrauConvPhotonCnt(false);
REQUIRE(!x.IsJungfrauConvPhotonCnt()); // conversion on FPGA turned explicitly off
x.Mode(DetectorMode::Conversion).JungfrauConvPhotonCnt(true);
x.JungfrauConvPhotonCnt(true);
REQUIRE(x.IsJungfrauConvPhotonCnt()); // conversion on FPGA back on
}
TEST_CASE("DiffractionExperiment_EIGER","[DiffractionExperiment]") {
DiffractionExperiment x(DetEIGER(4));
x.Mode(DetectorMode::Conversion);
x.Conversion();
REQUIRE(!x.IsJungfrauConvPhotonCnt());
REQUIRE(!x.IsPixelSigned());
x.ImagesPerTrigger(245).NumTriggers(100);
@@ -911,7 +910,7 @@ TEST_CASE("DiffractionExperiment_EIGER","[DiffractionExperiment]") {
TEST_CASE("DiffractionExperiment_JungfrauConversionFactor","[DiffractionExperiment]") {
DiffractionExperiment x(DetJF(4));
x.Mode(DetectorMode::Conversion).IncidentEnergy_keV(16.0);
x.Conversion().IncidentEnergy_keV(16.0);
REQUIRE(!x.GetJungfrauConversionFactor_keV().has_value());
REQUIRE(x.GetIncidentEnergy_keV() == 16.0f);
REQUIRE(x.GetPhotonEnergyForConversion_keV() == 16.0f);
@@ -979,11 +978,11 @@ TEST_CASE("DiffractionExperiment_AutoSummation", "[DiffractionExperiment]") {
DiffractionExperiment x(DetJF4M());
x.Summation(4).AutoSummation(true);
x.Mode(DetectorMode::Conversion).StorageCells(1);
x.Conversion().StorageCells(1);
x.AutoSummation(true);
REQUIRE(x.GetSummation() == 4);
x.Mode(DetectorMode::Raw).StorageCells(1);
x.Raw().StorageCells(1);
x.AutoSummation(true);
REQUIRE(x.GetSummation() == 4);
@@ -991,22 +990,22 @@ TEST_CASE("DiffractionExperiment_AutoSummation", "[DiffractionExperiment]") {
x.AutoSummation(true);
REQUIRE(x.GetSummation() == 1);
x.Mode(DetectorMode::Conversion).StorageCells(2);
x.Conversion().StorageCells(2);
x.AutoSummation(true);
REQUIRE(x.GetSummation() == 1);
x.Mode(DetectorMode::Conversion).StorageCells(1);
x.Conversion().StorageCells(1);
x.AutoSummation(false);
REQUIRE(x.GetSummation() == 1);
x.Mode(DetectorMode::Raw).StorageCells(1);
x.Raw().StorageCells(1);
x.AutoSummation(false);
REQUIRE(x.GetSummation() == 1);
}
TEST_CASE("DiffractionExperiment_ExportROIMask", "[DiffractionExperiment]") {
DiffractionExperiment x(DetJF4M());
x.Mode(DetectorMode::Raw);
x.Raw();
x.ROI().SetROI(ROIDefinition{.boxes = {
ROIBox("roi0", 800 , 800, 0, 4),

View File

@@ -16,7 +16,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator", "[FPGA][Full]") {
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(4).PedestalG0Frames(0);
HLSSimulatedDevice test(0, 64);
@@ -50,7 +50,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_data_stream", "[FPGA][Full
DiffractionExperiment x(DetJF(nmodules));
x.DataStreams(4);
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(4).PedestalG0Frames(0);
HLSSimulatedDevice test(3, 64);
@@ -89,7 +89,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_custom_frame", "[FPGA][Ful
for (auto &i: test_frame)
i = dist(g1);
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(nframes).PedestalG0Frames(0);
HLSSimulatedDevice test(0, 128);
@@ -126,7 +126,7 @@ TEST_CASE("HLS_C_Simulation_check_raw", "[FPGA][Full]") {
DiffractionExperiment x(DetJF(nmodules));
uint16_t data[4096];
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).ImagesPerTrigger(1).NumTriggers(1);
HLSSimulatedDevice test(0, 64);
@@ -160,7 +160,7 @@ TEST_CASE("HLS_C_Simulation_check_missing_modules", "[FPGA][Full]") {
std::vector<uint16_t> raw_frames(nframes * RAW_MODULE_SIZE, 0);
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).ImagesPerTrigger(nframes).NumTriggers(1);
HLSSimulatedDevice test(0, nframes + 2);
@@ -188,7 +188,7 @@ TEST_CASE("HLS_C_Simulation_check_cancel", "[FPGA][Full]") {
uint16_t data[4096];
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).ImagesPerTrigger(5).NumTriggers(1);
HLSSimulatedDevice test(0, 64);
@@ -213,7 +213,6 @@ TEST_CASE("HLS_C_Simulation_check_cancel_conversion", "[FPGA][Full]") {
uint16_t data[4096];
x.Mode(DetectorMode::Conversion);
x.PedestalG0Frames(0).ImagesPerTrigger(5).NumTriggers(1);
HLSSimulatedDevice test(0, 64);
@@ -238,7 +237,7 @@ TEST_CASE("HLS_C_Simulation_check_delay", "[FPGA][Full]") {
uint16_t data[4096];
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).ImagesPerTrigger(3).NumTriggers(1);
HLSSimulatedDevice test(0, 64);
@@ -283,7 +282,7 @@ TEST_CASE("HLS_C_Simulation_check_lost_frame_raw", "[FPGA][Full]") {
uint16_t data[4096];
for (int i = 0; i < 4096; i++) data[i] = i;
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).ImagesPerTrigger(3).NumTriggers(1);
HLSSimulatedDevice test(0, 64);
@@ -314,7 +313,6 @@ TEST_CASE("HLS_C_Simulation_check_lost_frame_conversion", "[FPGA][Full]") {
uint16_t data[4096];
for (int i = 0; i < 4096; i++) data[i] = i;
x.Mode(DetectorMode::Conversion);
x.PedestalG0Frames(0).ImagesPerTrigger(3).NumTriggers(1);
HLSSimulatedDevice test(0, 64);
@@ -350,7 +348,7 @@ TEST_CASE("HLS_C_Simulation_check_single_packet_raw", "[FPGA][Full]") {
wrong[i] = UINT16_MAX;
}
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).ImagesPerTrigger(3).NumTriggers(1);
HLSSimulatedDevice test(0, 64);
@@ -414,7 +412,6 @@ TEST_CASE("HLS_C_Simulation_check_single_packet_conv", "[FPGA][Full]") {
wrong[i] = INT16_MIN;
}
x.Mode(DetectorMode::Conversion);
x.PedestalG0Frames(0).ImagesPerTrigger(3).NumTriggers(1);
HLSSimulatedDevice test(0, 64);
@@ -473,7 +470,6 @@ TEST_CASE("HLS_C_Simulation_check_convert_full_range", "[FPGA][Full]") {
const uint16_t nmodules = 1;
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Conversion);
HLSSimulatedDevice test(0, 64);
auto gain_from_file = GainCalibrationFromTestFile();
@@ -522,7 +518,7 @@ TEST_CASE("HLS_C_Simulation_check_convert_full_range_HG0", "[FPGA][Full]") {
const uint16_t nmodules = 1;
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Conversion).UsingGainHG0(true);
x.UsingGainHG0(true);
HLSSimulatedDevice test(0, 64);
auto gain_from_file = GainCalibrationFromTestFile();
@@ -604,7 +600,7 @@ TEST_CASE("HLS_C_Simulation_check_convert_full_range_fixedG1", "[FPGA][Full]") {
const uint16_t nmodules = 1;
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Conversion).FixedGainG1(true);
x.FixedGainG1(true);
HLSSimulatedDevice test(0, 64);
auto gain_from_file = GainCalibrationFromTestFile();
@@ -655,7 +651,6 @@ TEST_CASE("HLS_C_Simulation_check_convert_full_range_I32", "[FPGA][Full]") {
const uint16_t nmodules = 1;
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Conversion);
HLSSimulatedDevice test(0, 64);
auto gain_from_file = GainCalibrationFromTestFile();
@@ -706,7 +701,6 @@ TEST_CASE("HLS_C_Simulation_check_convert_full_range_sum4", "[FPGA][Full]") {
const uint16_t nmodules = 1;
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Conversion);
HLSSimulatedDevice test(0, 64);
auto gain_from_file = GainCalibrationFromTestFile();
@@ -761,7 +755,6 @@ TEST_CASE("HLS_C_Simulation_check_convert_full_range_U16", "[FPGA][Full]") {
const uint16_t nmodules = 1;
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Conversion);
HLSSimulatedDevice test(0, 64);
auto gain_from_file = GainCalibrationFromTestFile();
@@ -815,7 +808,7 @@ TEST_CASE("HLS_C_Simulation_check_poisson_full_range", "[FPGA][Full]") {
for (int sqrtmult: {1, 2,4,8}) {
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw).PixelSigned(true).BitDepthImage(16);
x.Raw().PixelSigned(true).BitDepthImage(16);
HLSSimulatedDevice test(0, 64);
x.NumTriggers(1).ImagesPerTrigger(1).LossyCompressionPoisson(sqrtmult);
@@ -862,7 +855,7 @@ TEST_CASE("HLS_C_Simulation_check_threshold_full_range", "[FPGA][Full]") {
for (int threshold: {1, 2, 4, 8}) {
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw).PixelSigned(true).BitDepthImage(16);
x.Raw().PixelSigned(true).BitDepthImage(16);
HLSSimulatedDevice test(0, 64);
x.NumTriggers(1).ImagesPerTrigger(1).PixelValueLowThreshold(threshold);
@@ -914,7 +907,6 @@ TEST_CASE("HLS_C_Simulation_check_convert_full_range_poisson", "[FPGA][Full]") {
const uint16_t nmodules = 1;
DiffractionExperiment x(DetJF(nmodules));
x.LossyCompressionPoisson(2);
x.Mode(DetectorMode::Conversion);
HLSSimulatedDevice test(0, 64);
auto gain_from_file = GainCalibrationFromTestFile();
@@ -963,7 +955,7 @@ TEST_CASE("HLS_C_Simulation_no_conversion_U16", "[FPGA][Full]") {
const uint16_t nmodules = 1;
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Conversion).JungfrauConvPhotonCnt(false);
x.JungfrauConvPhotonCnt(false);
HLSSimulatedDevice test(0, 64);
x.PedestalG0Frames(0).NumTriggers(1).ImagesPerTrigger(1).PixelSigned(false).BitDepthImage(16);
@@ -998,7 +990,7 @@ TEST_CASE("HLS_C_Simulation_no_conversion_U32", "[FPGA][Full]") {
const uint16_t nmodules = 1;
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Conversion).JungfrauConvPhotonCnt(false);
x.JungfrauConvPhotonCnt(false);
HLSSimulatedDevice test(0, 64);
x.PedestalG0Frames(0).NumTriggers(1).ImagesPerTrigger(1).PixelSigned(false).BitDepthImage(32);
@@ -1034,7 +1026,7 @@ TEST_CASE("HLS_C_Simulation_no_conversion_I32", "[FPGA][Full]") {
const uint16_t nmodules = 1;
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Conversion).JungfrauConvPhotonCnt(false);
x.JungfrauConvPhotonCnt(false);
HLSSimulatedDevice test(0, 64);
x.PedestalG0Frames(0).NumTriggers(1).ImagesPerTrigger(1).PixelSigned(true).BitDepthImage(32);
@@ -1080,7 +1072,6 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_convert_full_range", "[FPG
data[i] = i % RAW_MODULE_SIZE;
}
x.Mode(DetectorMode::Conversion);
x.PedestalG0Frames(0).NumTriggers(1).ImagesPerTrigger(1).UseInternalPacketGenerator(true).IncidentEnergy_keV(energy)
.GeometryTransformation(false);
REQUIRE(x.GetIncidentEnergy_keV() == Catch::Approx(energy));
@@ -1185,7 +1176,6 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_convert_full_range_adu_his
data[i] = i % RAW_MODULE_SIZE;
}
x.Mode(DetectorMode::Conversion);
x.PedestalG0Frames(0).NumTriggers(1).ImagesPerTrigger(1).UseInternalPacketGenerator(true).IncidentEnergy_keV(energy);
REQUIRE(x.GetIncidentEnergy_keV() == Catch::Approx(energy));
@@ -1244,7 +1234,6 @@ TEST_CASE("HLS_C_Simulation_check_2_trigger_convert", "[FPGA][Full]") {
uint16_t data[4096];
x.Mode(DetectorMode::Conversion);
x.PedestalG0Frames(0).NumTriggers(1).ImagesPerTrigger(1);
HLSSimulatedDevice test(0, 64);
@@ -1301,7 +1290,6 @@ TEST_CASE("HLS_C_Simulation_check_detect_last_frame", "[FPGA][Full]") {
uint16_t data[4096];
x.Mode(DetectorMode::Conversion);
x.PedestalG0Frames(0).NumTriggers(2).ImagesPerTrigger(5);
HLSSimulatedDevice test(0, 64);
@@ -1324,7 +1312,6 @@ TEST_CASE("HLS_C_Simulation_check_wrong_packet_size", "[FPGA][Full]") {
uint16_t data[8192];
x.Mode(DetectorMode::Conversion);
x.PedestalG0Frames(0).NumTriggers(1).ImagesPerTrigger(5);
HLSSimulatedDevice test(0, 64);
@@ -1369,7 +1356,6 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_15_storage_cell_convert_G0
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Conversion);
x.PedestalG0Frames(0).NumTriggers(ntrigger).ImagesPerTrigger(nstoragecells).UseInternalPacketGenerator(true)
.IncidentEnergy_keV(10.0).StorageCells(nstoragecells);
@@ -1419,7 +1405,6 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_8_storage_cell_convert_G0"
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Conversion);
x.PedestalG0Frames(0).NumTriggers(ntrigger).ImagesPerTrigger(nstoragecells).UseInternalPacketGenerator(true)
.IncidentEnergy_keV(10.0).StorageCells(nstoragecells);
@@ -1470,7 +1455,6 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_16_storage_cell_convert_G0
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Conversion);
x.PedestalG0Frames(0).NumTriggers(ntrigger).ImagesPerTrigger(nstoragecells).UseInternalPacketGenerator(true)
.IncidentEnergy_keV(10.0).StorageCells(nstoragecells);
@@ -1516,7 +1500,6 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_storage_cell_convert_G1",
const uint16_t nmodules = 2;
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Conversion);
x.PedestalG0Frames(0).NumTriggers(1).ImagesPerTrigger(16).UseInternalPacketGenerator(true)
.IncidentEnergy_keV(10.0).StorageCells(16);
@@ -1564,7 +1547,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_integration", "[FPGA][Full
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(1).PedestalG0Frames(0);
HLSSimulatedDevice test(0, 64);
@@ -1623,7 +1606,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_integration_mask", "[FPGA]
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(1).PedestalG0Frames(0).ApplyPixelMask(false);
HLSSimulatedDevice test(0, 64);
@@ -1676,7 +1659,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_spot_finder_count_threshol
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(1).PedestalG0Frames(0);
HLSSimulatedDevice test(0, 64);
@@ -1728,7 +1711,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_spot_finder_mask", "[FPGA]
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(1).PedestalG0Frames(0);
x.ApplyPixelMask(false);
@@ -1801,7 +1784,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_spot_finder_overload", "[F
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(1).PedestalG0Frames(0).PixelSigned(true);
HLSSimulatedDevice test(0, 64);
@@ -1851,7 +1834,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_spot_finder_min_pix_per_sp
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(1).PedestalG0Frames(0);
HLSSimulatedDevice test(0, 64);
@@ -1913,7 +1896,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_spot_finder_d_min_max", "[
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(1).PedestalG0Frames(0);
HLSSimulatedDevice test(0, 64);
@@ -1969,7 +1952,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_spot_finder_snr_threshold"
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(1).PedestalG0Frames(0);
HLSSimulatedDevice test(0, 64);
@@ -2028,7 +2011,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_pixel_threshold_summation"
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(1).PedestalG0Frames(0).Summation(4)
.PixelValueLowThreshold(4).AutoSummation(true).PixelSigned(true)
.PixelValueHighThreshold(500);
@@ -2070,7 +2053,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_summation_mask", "[FPGA][F
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(1).PedestalG0Frames(0).Summation(4)
.AutoSummation(true).ApplyPixelMask(true).BitDepthImage(16).PixelSigned(true);
@@ -2136,7 +2119,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_32bit", "[FPGA][Full]") {
for (auto &i: test_frame)
i = dist(g1);
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(nframes).PedestalG0Frames(0).PixelSigned(false).BitDepthImage(32);
HLSSimulatedDevice test(0, 64);
@@ -2186,7 +2169,6 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_summation", "[FPGA][Full]"
for (auto &i: test_frame)
i = dist(g1);
x.Mode(DetectorMode::Conversion);
x.UseInternalPacketGenerator(true).ImagesPerTrigger(nframes).PedestalG0Frames(0).Summation(nsummation)
.JungfrauConvPhotonCnt(false).PixelSigned(true).BitDepthImage(32);
@@ -2226,7 +2208,7 @@ TEST_CASE("HLS_C_Simulation_count_sat_and_err_pixels", "[FPGA][Full]") {
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(4).PedestalG0Frames(0).PixelSigned(true);
HLSSimulatedDevice test(0, 64);
@@ -2268,7 +2250,7 @@ TEST_CASE("HLS_C_Simulation_pixel_count_mask", "[FPGA][Full]") {
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(4).PedestalG0Frames(0).PixelSigned(true);
x.ApplyPixelMask(false);
@@ -2317,7 +2299,7 @@ TEST_CASE("HLS_C_Simulation_count_pixel_sum", "[FPGA][Full]") {
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(4).PedestalG0Frames(0).PixelSigned(true);
HLSSimulatedDevice test(0, 64);
@@ -2352,7 +2334,7 @@ TEST_CASE("HLS_C_Simulation_check_bunchid", "[FPGA][Full]") {
const uint16_t nmodules = 4;
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).ImagesPerTrigger(3).NumTriggers(1);
HLSSimulatedDevice test(0, 64);
test.CreateXfelBunchIDPacket(bunchid, 0);
@@ -2380,7 +2362,7 @@ TEST_CASE("HLS_C_Simulation_check_raw_eiger", "[FPGA][Full]") {
DetectorSetup detector(DetEIGER(nmodules));
DiffractionExperiment x(detector);
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).ImagesPerTrigger(1).NumTriggers(1);
HLSSimulatedDevice test(0, 64);
@@ -2430,7 +2412,7 @@ TEST_CASE("HLS_C_Simulation_check_raw_eiger_8bit", "[FPGA][Full]") {
DiffractionExperiment x(detector);
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).ImagesPerTrigger(1).NumTriggers(1).EigerBitDepth(8).BitDepthImage(8);
REQUIRE(x.GetByteDepthImage() == 1);
@@ -2492,7 +2474,7 @@ TEST_CASE("HLS_C_Simulation_check_raw_eiger_32bit", "[FPGA][Full]") {
DiffractionExperiment x(detector);
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).ImagesPerTrigger(1).NumTriggers(1).EigerBitDepth(32).BitDepthImage(32);
REQUIRE(x.GetByteDepthImage() == 4);
@@ -2554,7 +2536,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_eiger", "[FPGA][Full]") {
DiffractionExperiment x(DetEIGER(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(4).PedestalG0Frames(0);
HLSSimulatedDevice test(0, 64);
@@ -2593,7 +2575,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_eiger_8bit", "[FPGA][Full]
DiffractionExperiment x(DetEIGER(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(4).PedestalG0Frames(0);
x.EigerBitDepth(8);
@@ -2674,7 +2656,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_roi_calc", "[FPGA][Full]")
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(nimages).PedestalG0Frames(0);
HLSSimulatedDevice test(0, 64);
@@ -2741,7 +2723,7 @@ TEST_CASE("HLS_C_Simulation_internal_packet_generator_4_images", "[FPGA][Full]")
const uint16_t nimages = 4;
DiffractionExperiment x(DetJF(nmodules));
x.Mode(DetectorMode::Raw);
x.Raw();
x.UseInternalPacketGenerator(true).ImagesPerTrigger(nimages).PedestalG0Frames(0).InternalPacketGeneratorImages(nimages);
HLSSimulatedDevice test(0, 64);

View File

@@ -32,7 +32,7 @@ TEST_CASE("FrameTransformation_Raw_NoCompression" ,"") {
DiffractionExperiment experiment(DetJF(ndatastreams * nmodules, 1));
experiment.DataStreams(ndatastreams);
experiment.Mode(DetectorMode::Raw);
experiment.Raw();
experiment.Compression(CompressionAlgorithm::NO_COMPRESSION);
FrameTransformation transformation(experiment);
@@ -73,7 +73,7 @@ TEST_CASE("FrameTransformation_Raw_NoCompression_bshuf_lz4" ,"") {
DiffractionExperiment experiment(DetJF(ndatastreams * nmodules, 1));
experiment.DataStreams(ndatastreams);
experiment.Mode(DetectorMode::Raw);
experiment.Raw();
experiment.Compression(CompressionAlgorithm::BSHUF_LZ4);
FrameTransformation transformation(experiment);
@@ -122,7 +122,7 @@ TEST_CASE("FrameTransformation_Conversion_NoGeomTransformation_NoCompression" ,"
DiffractionExperiment experiment(DetJF(ndatastreams * nmodules, 1));
experiment.DataStreams(ndatastreams);
experiment.Mode(DetectorMode::Conversion).GeometryTransformation(false);
experiment.GeometryTransformation(false);
experiment.Compression(CompressionAlgorithm::NO_COMPRESSION);
FrameTransformation transformation(experiment);
@@ -162,7 +162,7 @@ TEST_CASE("FrameTransformation_Converted_NoCompression" ,"") {
const uint16_t ndatastreams = 2;
DiffractionExperiment experiment(DetJF(ndatastreams * nmodules, 2));
experiment.DataStreams(ndatastreams);
experiment.Mode(DetectorMode::Conversion).Compression(CompressionAlgorithm::NO_COMPRESSION);
experiment.Compression(CompressionAlgorithm::NO_COMPRESSION);
FrameTransformation transformation(experiment);
@@ -212,7 +212,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_lz4" ,"") {
DiffractionExperiment experiment(DetJF(ndatastreams * nmodules, 2));
experiment.DataStreams(ndatastreams);
experiment.Mode(DetectorMode::Conversion).Compression(CompressionAlgorithm::BSHUF_LZ4);
experiment.Compression(CompressionAlgorithm::BSHUF_LZ4);
FrameTransformation transformation(experiment);
@@ -272,7 +272,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_zstd" ,"") {
DiffractionExperiment experiment(DetJF(ndatastreams * nmodules, 2));
experiment.DataStreams(ndatastreams);
experiment.Mode(DetectorMode::Conversion).Compression(CompressionAlgorithm::BSHUF_ZSTD);
experiment.Compression(CompressionAlgorithm::BSHUF_ZSTD);
FrameTransformation transformation(experiment);
@@ -331,7 +331,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_zstd_rle" ,"") {
DiffractionExperiment experiment(DetJF(ndatastreams * nmodules, 2));
experiment.DataStreams(ndatastreams);
experiment.Mode(DetectorMode::Conversion).Compression(CompressionAlgorithm::BSHUF_ZSTD_RLE);
experiment.Compression(CompressionAlgorithm::BSHUF_ZSTD_RLE);
FrameTransformation transformation(experiment);
@@ -390,7 +390,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_zstd_32bit" ,"") {
DiffractionExperiment experiment(DetJF(ndatastreams * nmodules, 2));
experiment.DataStreams(ndatastreams);
experiment.Mode(DetectorMode::Conversion).Compression(CompressionAlgorithm::BSHUF_ZSTD).BitDepthImage(32);
experiment.Compression(CompressionAlgorithm::BSHUF_ZSTD).BitDepthImage(32);
FrameTransformation transformation(experiment);
@@ -453,7 +453,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_zstd_8bit" ,"") {
DiffractionExperiment experiment(DetJF(ndatastreams * nmodules, 2));
experiment.DataStreams(ndatastreams);
experiment.Mode(DetectorMode::Conversion).Compression(CompressionAlgorithm::BSHUF_ZSTD).BitDepthImage(8);
experiment.Compression(CompressionAlgorithm::BSHUF_ZSTD).BitDepthImage(8);
FrameTransformation transformation(experiment);
@@ -516,7 +516,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_zstd_unsigned_16bit" ,"") {
DiffractionExperiment experiment(DetJF(ndatastreams * nmodules, 2));
experiment.DataStreams(ndatastreams);
experiment.Mode(DetectorMode::Conversion).Compression(CompressionAlgorithm::BSHUF_ZSTD).PixelSigned(false);
experiment.Compression(CompressionAlgorithm::BSHUF_ZSTD).PixelSigned(false);
REQUIRE(!experiment.IsPixelSigned());
REQUIRE(experiment.GetByteDepthImage() == 2);

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);

View File

@@ -9,27 +9,23 @@ TEST_CASE("JFPedestalCalc", "[JFPedestalCalc]") {
for (int gain_level = 0; gain_level < 3; gain_level++) {
uint16_t base_value;
uint16_t wrong_value;
uint16_t mask_value;
DiffractionExperiment x(DetJF(1));
switch (gain_level) {
case 1:
base_value = 0x4000;
wrong_value = 0xc000;
mask_value = 4;
x.Mode(DetectorMode::PedestalG1);
break;
case 2:
base_value = 0xc000;
wrong_value = 0;
mask_value = 8;
x.Mode(DetectorMode::PedestalG2);
break;
default:
base_value = 0;
wrong_value = 0x4000;
mask_value = 2;
x.Mode(DetectorMode::Conversion);
x.Mode(DetectorMode::PedestalG0);
break;
}
@@ -88,8 +84,6 @@ int16_t r(std::mt19937 &g, std::normal_distribution<double> &dist) {
TEST_CASE("JFPedestalCalc_MaskRMS", "[JFPedestalCalc]") {
DiffractionExperiment x(DetJF(1));
x.Mode(DetectorMode::Conversion);
std::vector<uint16_t> image(RAW_MODULE_SIZE, 0);
JFPedestalCalc calc(x);

View File

@@ -6,7 +6,7 @@
TEST_CASE("PixelMask_MaskModuleEdges","[PixelMask]") {
DiffractionExperiment experiment(DetJF(4, 1));
experiment.MaskModuleEdges(true).MaskChipEdges(false).Mode(DetectorMode::Raw);
experiment.MaskModuleEdges(true).MaskChipEdges(false).Raw();
PixelMask mask(experiment);
@@ -30,7 +30,7 @@ TEST_CASE("PixelMask_MaskModuleEdges","[PixelMask]") {
TEST_CASE("PixelMask_MaskChipEdges","[PixelMask]") {
DiffractionExperiment experiment(DetJF(4,1));
experiment.MaskChipEdges(true).MaskModuleEdges(false).Mode(DetectorMode::Raw);
experiment.MaskChipEdges(true).MaskModuleEdges(false).Raw();
PixelMask mask(experiment);
auto mask_out = mask.GetMaskRaw(experiment);

View File

@@ -92,7 +92,6 @@ TEST_CASE("RawToConvertedGeometry_Transform","[RawToConvertedGeometry]") {
DiffractionExperiment x(DetJF(20, 2, 0, 0, false));
x.DataStreams(4);
x.Mode(DetectorMode::Conversion);
REQUIRE(x.GetModulesNum(2) == 5);
REQUIRE(x.GetPixelsNum() == CONVERTED_MODULE_SIZE * x.GetModulesNum());
@@ -152,7 +151,7 @@ TEST_CASE("RawToConvertedGeometry_Transform_AdjustMultipixels","[RawToConvertedG
DiffractionExperiment x(DetJF(20, 2, 0, 0, false));
x.DataStreams(4);
x.Mode(DetectorMode::Conversion).PixelSigned(true).BitDepthImage(32);
x.PixelSigned(true).BitDepthImage(32);
REQUIRE(x.GetByteDepthImage() == 4);
REQUIRE(x.GetModulesNum(0) == 5);
@@ -215,7 +214,6 @@ TEST_CASE("RawToConvertedGeometry_Transform_upside_down","[RawToConvertedGeometr
DiffractionExperiment x(DetJF(24, 2, 0, 0, true));
x.DataStreams(4);
x.Mode(DetectorMode::Conversion);
REQUIRE(x.GetModulesNum(3) == 6);
REQUIRE(x.GetPixelsNum() == CONVERTED_MODULE_SIZE * x.GetModulesNum());
@@ -367,7 +365,6 @@ TEST_CASE("RawToConvertedGeometry","[RawToConvertedGeometry]") {
DiffractionExperiment x(DetJF(20, 2, 0, 0, true));
x.DataStreams(4);
x.Mode(DetectorMode::Conversion);
REQUIRE(x.GetModulesNum(2) == 5);
REQUIRE(x.GetPixelsNum() == CONVERTED_MODULE_SIZE * x.GetModulesNum());
@@ -396,7 +393,6 @@ TEST_CASE("RawToConvertedGeometry","[RawToConvertedGeometry]") {
TEST_CASE("RawToConvertedGeometry_int64","[RawToConvertedGeometry]") {
DiffractionExperiment x(DetJF(20, 2, 0, 0, true));
x.DataStreams(4);
x.Mode(DetectorMode::Conversion);
REQUIRE(x.GetModulesNum(2) == 5);
REQUIRE(x.GetPixelsNum() == CONVERTED_MODULE_SIZE * x.GetModulesNum());
@@ -421,7 +417,7 @@ TEST_CASE("RawToConvertedGeometry_int64","[RawToConvertedGeometry]") {
TEST_CASE("RawToConvertedGeometry_FP","[RawToConvertedGeometry]") {
DiffractionExperiment x(DetJF(20, 2, 0, 0, true));
x.DataStreams(4);
x.Mode(DetectorMode::Conversion);
REQUIRE(x.GetModulesNum(2) == 5);
REQUIRE(x.GetPixelsNum() == CONVERTED_MODULE_SIZE * x.GetModulesNum());
@@ -446,7 +442,6 @@ TEST_CASE("RawToConvertedGeometry_Gaps","[RawToConvertedGeometry]") {
DiffractionExperiment x(DetJF(8, 2, 8, 36, true));
x.DataStreams(2);
x.Mode(DetectorMode::Conversion);
REQUIRE(x.GetModulesNum(1) == 4);
REQUIRE(x.GetXPixelsNum() == 2 * CONVERTED_MODULE_COLS + 8);
REQUIRE(x.GetYPixelsNum() == 4 * CONVERTED_MODULE_LINES + 3*36);
@@ -490,7 +485,6 @@ TEST_CASE("RawToConvertedGeometry_Vertical","[RawToConvertedGeometry]") {
DiffractionExperiment x(DetJF(geometry));
x.DataStreams(3);
x.Mode(DetectorMode::Conversion);
std::vector<uint32_t> input(x.GetModulesNum() * RAW_MODULE_SIZE);
std::vector<uint32_t> input2(x.GetModulesNum() * RAW_MODULE_SIZE);
std::vector<uint32_t> output(x.GetPixelsNum(), UINT32_MAX);

View File

@@ -16,7 +16,7 @@ TEST_CASE("StreamWriterTest_ZMQ", "[StreamWriter]") {
DiffractionExperiment x(DetJF(2));
x.FilePrefix("subdir/StreamWriterTest").NumTriggers(1).ImagesPerTrigger(5)
.UseInternalPacketGenerator(true).Mode(DetectorMode::Raw).PedestalG0Frames(0).OverwriteExistingFiles(true);
.UseInternalPacketGenerator(true).Raw().PedestalG0Frames(0).OverwriteExistingFiles(true);
PixelMask pixel_mask(x);
@@ -72,7 +72,7 @@ TEST_CASE("StreamWriterTest_ZMQ_Update", "[StreamWriter]") {
DatasetSettings d;
d.FilePrefix("subdir/StreamWriterTest2").NumTriggers(1).ImagesPerTrigger(5).RunName("run1").RunNumber(256);
DiffractionExperiment x(DetJF(2));
x.UseInternalPacketGenerator(true).Mode(DetectorMode::Raw).PedestalG0Frames(0)
x.UseInternalPacketGenerator(true).Raw().PedestalG0Frames(0)
.ImportDatasetSettings(d).OverwriteExistingFiles(true);
PixelMask pixel_mask(x);
@@ -133,7 +133,7 @@ TEST_CASE("StreamWriterTest_ZMQ_Update_NoNotification", "[StreamWriter]") {
DatasetSettings d;
d.FilePrefix("subdir/StreamWriterTest3").NumTriggers(1).ImagesPerTrigger(5).RunName("run1").RunNumber(256);
DiffractionExperiment x(DetJF(2));
x.UseInternalPacketGenerator(true).Mode(DetectorMode::Raw).PedestalG0Frames(0)
x.UseInternalPacketGenerator(true).Raw().PedestalG0Frames(0)
.ImportDatasetSettings(d).OverwriteExistingFiles(true);
PixelMask pixel_mask(x);

View File

@@ -21,7 +21,7 @@ TEST_CASE("DiffractionSpot_AddOperator","[StrongPixelSet]") {
TEST_CASE("StrongPixelSet_BuildSpots","[StrongPixelSet]") {
DiffractionExperiment experiment(DetJF(1,1,0,0,false));
experiment.Mode(DetectorMode::Raw);
experiment.Raw();
SpotFindingSettings settings;
settings.low_resolution_limit = 200.0;

View File

@@ -58,7 +58,7 @@ TEST_CASE("ZMQImageCommTest_1Writer","[ZeroMQ]") {
Logger logger(Catch::getResultCapture().getCurrentTestName());
DiffractionExperiment x(DetJF(1));
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(false).IncidentEnergy_keV(12.4)
.ImagesPerTrigger(nframes).Compression(CompressionAlgorithm::NO_COMPRESSION);
@@ -128,7 +128,7 @@ TEST_CASE("ZMQImageCommTest_2Writers","[ZeroMQ]") {
Logger logger(Catch::getResultCapture().getCurrentTestName());
DiffractionExperiment x(DetJF(1));
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(false).IncidentEnergy_keV(12.4)
.ImagesPerTrigger(nframes).Compression(CompressionAlgorithm::NO_COMPRESSION);
@@ -221,7 +221,7 @@ TEST_CASE("ZMQImageCommTest_4Writers","[ZeroMQ]") {
Logger logger(Catch::getResultCapture().getCurrentTestName());
DiffractionExperiment x(DetJF(1));
x.Mode(DetectorMode::Raw);
x.Raw();
x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(false).IncidentEnergy_keV(12.4)
.ImagesPerTrigger(nframes).Compression(CompressionAlgorithm::NO_COMPRESSION);

View File

@@ -164,9 +164,7 @@ int main(int argc, char **argv) {
DiffractionExperiment x(DetectorSetup(DetectorGeometryModular(nmodules, 2, 8, 36, true), detector_type));
if (raw_data)
x.Mode(DetectorMode::Raw);
else
x.Mode(DetectorMode::Conversion);
x.Raw();
x.ImagesPerTrigger(nimages).Summation(nsummation).PedestalG0Frames(0).UseInternalPacketGenerator(true).
IncidentEnergy_keV(12.4).NumTriggers(1);

View File

@@ -75,7 +75,7 @@ int main(int argc, char **argv) {
} else
x.SetFileWriterFormat(FileWriterFormat::NXmxLegacy);
x.Mode(DetectorMode::Conversion).ImagesPerTrigger(nimages);
x.ImagesPerTrigger(nimages);
std::vector<int16_t> image_conv ( nimages * file_space.GetDimensions()[1] * file_space.GetDimensions()[2]);