Improve plotting
This commit is contained in:
@@ -48,6 +48,7 @@ TEST_CASE("CBORSerialize_Start", "[CBOR]") {
|
||||
.series_unique_id = "bla",
|
||||
.series_id = 4567,
|
||||
.gain_file_names = {"abc" , "def", "/dsadasdsa/dadsadas/dsadsa/M056.bin"},
|
||||
.roi_names = {"roi0", "roi1"},
|
||||
.omega = {
|
||||
.increment = 0.1f,
|
||||
.start = 10.0f,
|
||||
@@ -63,7 +64,6 @@ TEST_CASE("CBORSerialize_Start", "[CBOR]") {
|
||||
.az_int_bin_to_q = {0.1, 0.2, 0.3, 0.5},
|
||||
.total_flux = 123,
|
||||
.attenuator_transmission = 0.345,
|
||||
.roi_summation_area = ROIRectangle{12,15,17,29},
|
||||
.user_data = "Some random string 12345"
|
||||
};
|
||||
|
||||
@@ -136,12 +136,8 @@ TEST_CASE("CBORSerialize_Start", "[CBOR]") {
|
||||
REQUIRE (output_message.attenuator_transmission);
|
||||
CHECK(output_message.attenuator_transmission.value() == message.attenuator_transmission.value());
|
||||
CHECK(output_message.user_data == message.user_data);
|
||||
REQUIRE(output_message.roi_summation_area);
|
||||
CHECK(output_message.roi_summation_area->x_min == message.roi_summation_area->x_min);
|
||||
CHECK(output_message.roi_summation_area->x_max == message.roi_summation_area->x_max);
|
||||
CHECK(output_message.roi_summation_area->y_min == message.roi_summation_area->y_min);
|
||||
CHECK(output_message.roi_summation_area->y_max == message.roi_summation_area->y_max);
|
||||
CHECK(output_message.gain_file_names == message.gain_file_names);
|
||||
CHECK(output_message.roi_names == message.roi_names);
|
||||
CHECK(output_message.countrate_correction_enabled == message.countrate_correction_enabled);
|
||||
CHECK(output_message.flatfield_enabled == message.flatfield_enabled);
|
||||
}
|
||||
@@ -390,7 +386,6 @@ TEST_CASE("CBORSerialize_Image", "[CBOR]") {
|
||||
.jf_info = UINT32_MAX,
|
||||
.receiver_aq_dev_delay = 2323,
|
||||
.storage_cell = 0xF,
|
||||
.roi_sum = 456,
|
||||
.xfel_pulse_id = UINT64_MAX - 5678,
|
||||
.xfel_event_code = UINT64_MAX - 123,
|
||||
};
|
||||
@@ -430,7 +425,6 @@ TEST_CASE("CBORSerialize_Image", "[CBOR]") {
|
||||
REQUIRE(image_array.bkg_estimate == message.bkg_estimate);
|
||||
REQUIRE(image_array.image_collection_efficiency == message.image_collection_efficiency);
|
||||
REQUIRE(image_array.user_data == message.user_data);
|
||||
REQUIRE(image_array.roi_sum == message.roi_sum);
|
||||
}
|
||||
|
||||
TEST_CASE("CBORSerialize_Image_2", "[CBOR]") {
|
||||
@@ -618,7 +612,7 @@ TEST_CASE("CBORSerialize_Image_Rad_Int_Profile", "[CBOR]") {
|
||||
|
||||
TEST_CASE("CBORSerialize_Image_Spots", "[CBOR]") {
|
||||
std::vector<uint8_t> buffer(8*1024*1024);
|
||||
CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
|
||||
std::vector<SpotToSave> spots;
|
||||
spots.push_back(SpotToSave{.x = 7, .y = 8, .intensity = 34, .indexed = false});
|
||||
@@ -667,6 +661,56 @@ CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
REQUIRE(image_array.spots[1].indexed);
|
||||
}
|
||||
|
||||
TEST_CASE("CBORSerialize_Image_ROI", "[CBOR]") {
|
||||
std::vector<uint8_t> buffer(8*1024*1024);
|
||||
CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
|
||||
std::vector<uint8_t> test(1024);
|
||||
for (int i = 0; i < test.size(); i++)
|
||||
test[i] = (i * 253 + 56) % 256;
|
||||
|
||||
CompressedImage image {
|
||||
.data = test.data(),
|
||||
.size = 1024,
|
||||
.xpixel = 256,
|
||||
.ypixel = 2,
|
||||
.pixel_depth_bytes = 2,
|
||||
.algorithm = CompressionAlgorithm::NO_COMPRESSION,
|
||||
.channel = "default"
|
||||
};
|
||||
|
||||
DataMessage message {
|
||||
.number = 789,
|
||||
.image = image,
|
||||
};
|
||||
|
||||
message.roi["roi0"] = {.sum = -876, .sum_square = 89998, .max_count = -1, .pixels = 4567};
|
||||
message.roi["roi1"] = {.sum = 876, .sum_square = 998, .max_count = 12, .pixels = 234};
|
||||
|
||||
REQUIRE_NOTHROW(serializer.SerializeImage(message));
|
||||
|
||||
CBORStream2Deserializer deserializer;
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::IMAGE);
|
||||
|
||||
auto image_array = deserializer.GetDataMessage();
|
||||
REQUIRE(image_array.number == 789);
|
||||
|
||||
REQUIRE(image_array.roi.size() == 2);
|
||||
REQUIRE(image_array.roi.contains("roi0"));
|
||||
REQUIRE(image_array.roi.contains("roi1"));
|
||||
|
||||
CHECK(image_array.roi["roi0"].sum == message.roi["roi0"].sum);
|
||||
CHECK(image_array.roi["roi0"].sum_square == message.roi["roi0"].sum_square);
|
||||
CHECK(image_array.roi["roi0"].max_count == message.roi["roi0"].max_count);
|
||||
CHECK(image_array.roi["roi0"].pixels == message.roi["roi0"].pixels);
|
||||
|
||||
CHECK(image_array.roi["roi1"].sum == message.roi["roi1"].sum);
|
||||
CHECK(image_array.roi["roi1"].sum_square == message.roi["roi1"].sum_square);
|
||||
CHECK(image_array.roi["roi1"].max_count == message.roi["roi1"].max_count);
|
||||
CHECK(image_array.roi["roi1"].pixels == message.roi["roi1"].pixels);
|
||||
}
|
||||
|
||||
inline bool CmpString(const char *str1, const std::string& str2) {
|
||||
return (strncmp(str1, str2.c_str(), str2.size()) == 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user