30 lines
937 B
C++
30 lines
937 B
C++
// SPDX-FileCopyrightText: 2024 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
|
|
// SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
#ifndef JUNGFRAUJOCH_ROIBOX_H
|
|
#define JUNGFRAUJOCH_ROIBOX_H
|
|
|
|
#include "ROIElement.h"
|
|
|
|
class ROIBox : public ROIElement {
|
|
int64_t x_min;
|
|
int64_t x_max;
|
|
int64_t y_min;
|
|
int64_t y_max;
|
|
public:
|
|
ROIBox(const std::string &name, int64_t x_min, int64_t x_max, int64_t y_min, int64_t y_max);
|
|
~ROIBox() override = default;
|
|
[[nodiscard]] int64_t GetXMin() const;
|
|
[[nodiscard]] int64_t GetXMax() const;
|
|
[[nodiscard]] int64_t GetYMin() const;
|
|
[[nodiscard]] int64_t GetYMax() const;
|
|
[[nodiscard]] int64_t GetWidth() const;
|
|
[[nodiscard]] int64_t GetHeight() const;
|
|
[[nodiscard]] int64_t GetArea() const;
|
|
|
|
bool CheckROI(int64_t x, int64_t y, float resolution) const override;
|
|
ROIConfig ExportMetadata() const override;
|
|
};
|
|
|
|
#endif //JUNGFRAUJOCH_ROIBOX_H
|