// SPDX-FileCopyrightText: 2024 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #ifndef JUNGFRAUJOCH_ROIMAP_H #define JUNGFRAUJOCH_ROIMAP_H #include #include #include #include #include "DetectorSetup.h" #include "ROIDefinition.h" #include "DiffractionGeometry.h" class ROIMap { ROIDefinition rois; static constexpr const size_t roi_limit = 16; public: void SetROI(const ROIDefinition& input); [[nodiscard]] std::vector GetROIMap(const DiffractionGeometry &geom, size_t width, size_t height) const; [[nodiscard]] std::map GetROINameMap() const; [[nodiscard]] const ROIDefinition& GetROIDefinition() const; [[nodiscard]] bool empty() const; [[nodiscard]] size_t size() const; [[nodiscard]] std::vector ExportMetadata() const; }; #endif //JUNGFRAUJOCH_ROIMAP_H