mirror of
https://github.com/slsdetectorgroup/aare.git
synced 2026-10-20 08:16:20 +02: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
+14
-15
@@ -5,25 +5,24 @@ namespace aare {
|
||||
|
||||
ROIGeometry::ROIGeometry(const ROI &roi, DetectorGeometry &geometry)
|
||||
: m_pixels_x(roi.width()), m_pixels_y(roi.height()), m_geometry(geometry) {
|
||||
m_module_indices_in_roi.reserve(m_geometry.n_modules());
|
||||
// determine which modules are in the roi
|
||||
for (size_t i = 0; i < m_geometry.n_modules(); ++i) {
|
||||
auto &module_geometry = m_geometry.get_module_geometries(i);
|
||||
if (module_geometry.module_in_roi(roi)) {
|
||||
module_geometry.update_geometry_with_roi(roi);
|
||||
m_module_indices_in_roi.push_back(i);
|
||||
|
||||
if (complete_ROI({roi}, geometry)) {
|
||||
m_module_indices_in_roi.resize(m_geometry.n_modules());
|
||||
std::iota(m_module_indices_in_roi.begin(),
|
||||
m_module_indices_in_roi.end(), 0);
|
||||
} else {
|
||||
m_module_indices_in_roi.reserve(m_geometry.n_modules());
|
||||
// determine which modules are in the roi
|
||||
for (size_t i = 0; i < m_geometry.n_modules(); ++i) {
|
||||
auto &module_geometry = m_geometry.get_module_geometries(i);
|
||||
if (module_geometry.module_in_roi(roi)) {
|
||||
module_geometry.update_geometry_with_roi(roi);
|
||||
m_module_indices_in_roi.push_back(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ROIGeometry::ROIGeometry(DetectorGeometry &geometry)
|
||||
: m_pixels_x(geometry.pixels_x()), m_pixels_y(geometry.pixels_y()),
|
||||
m_geometry(geometry) {
|
||||
m_module_indices_in_roi.resize(m_geometry.n_modules());
|
||||
std::iota(m_module_indices_in_roi.begin(), m_module_indices_in_roi.end(),
|
||||
0);
|
||||
}
|
||||
|
||||
size_t ROIGeometry::num_modules_in_roi() const {
|
||||
return m_module_indices_in_roi.size();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user