mirror of
https://github.com/slsdetectorgroup/aare.git
synced 2026-11-12 06:43:54 +01:00
Dev/filereading for disabled udp (#342)
- handles file reading of disabled udp ports - adds members disabled_udp_ports in master file as an optional - adds member diasbled_udp_port_types in master file as an optional - Treats enabled udp ports as ROIs - merges/combines consecutive ROis into one ### To discuss: - right now can only handle either ROI or disabled udp ports (disabled udp ports has higher precedence) - Should Frames in File be removed from Master File as value is nonsense for disabled udp ports --------- Co-authored-by: Erik Fröjdh <erik.frojdh@psi.ch>
This commit is contained in:
1 parent
eddb919328
commit
641ef047b5
25 files changed
+1252
-267
No files matched your search
@@ -0,0 +1,57 @@
|
||||
#include "aare/ROI.hpp"
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
namespace aare {
|
||||
|
||||
TEST_CASE("merge ROIs", "[utility_functions]") {
|
||||
|
||||
SECTION("not fully contiguous") {
|
||||
|
||||
std::vector<ROI> rois = {ROI{20, 30, 50, 60}, ROI{20, 30, 40, 50},
|
||||
ROI{10, 20, 40, 50}};
|
||||
|
||||
auto merged_rois = merge_consecutive_rois<false, false>(rois);
|
||||
|
||||
REQUIRE(merged_rois.size() == 2);
|
||||
|
||||
REQUIRE(merged_rois[0] == ROI{10, 30, 40, 50});
|
||||
REQUIRE(merged_rois[1] == ROI{20, 30, 50, 60});
|
||||
}
|
||||
SECTION("complex merge") {
|
||||
|
||||
std::vector<ROI> rois = {ROI{40, 50, 20, 30}, ROI{10, 20, 30, 40},
|
||||
ROI{10, 20, 50, 60}, ROI{20, 30, 30, 40},
|
||||
ROI{60, 70, 30, 40}, ROI{60, 70, 20, 30},
|
||||
ROI{20, 30, 20, 30}, ROI{10, 20, 20, 30}};
|
||||
|
||||
auto merged_rois = merge_consecutive_rois<false, false>(rois);
|
||||
|
||||
REQUIRE(merged_rois.size() == 4);
|
||||
|
||||
REQUIRE(merged_rois[0] == ROI{10, 30, 20, 40});
|
||||
REQUIRE(merged_rois[1] == ROI{10, 20, 50, 60});
|
||||
REQUIRE(merged_rois[2] == ROI{40, 50, 20, 30});
|
||||
REQUIRE(merged_rois[3] == ROI{60, 70, 20, 40});
|
||||
}
|
||||
SECTION("horizontally aligned") {
|
||||
std::vector<ROI> rois = {ROI{10, 20, 30, 40}, ROI{10, 20, 50, 60},
|
||||
ROI{10, 20, 20, 30}};
|
||||
|
||||
auto merged_rois = merge_consecutive_rois<true, false>(rois);
|
||||
|
||||
REQUIRE(merged_rois.size() == 2);
|
||||
REQUIRE(merged_rois[0] == ROI{10, 20, 20, 40});
|
||||
REQUIRE(merged_rois[1] == ROI{10, 20, 50, 60});
|
||||
}
|
||||
SECTION("vertically aligned") {
|
||||
std::vector<ROI> rois = {ROI{10, 20, 30, 40}, ROI{30, 40, 30, 40},
|
||||
ROI{20, 30, 30, 40}};
|
||||
|
||||
auto merged_rois = merge_consecutive_rois<false, true>(rois);
|
||||
|
||||
REQUIRE(merged_rois.size() == 1);
|
||||
REQUIRE(merged_rois[0] == ROI{10, 40, 30, 40});
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace aare
|
||||
Reference in new issue
Block a user