// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #ifndef JFJOCH_JFJOCHVIEWERIMAGEROISTATISTICS_H #define JFJOCH_JFJOCHVIEWERIMAGEROISTATISTICS_H #include #include #include #include "../JFJochImageReadingWorker.h" #include "JFJochViewerImageROIStatistics_Box.h" #include "JFJochViewerImageROIStatistics_Circle.h" #include "JFJochViewerROIResult.h" #include "../../reader/JFJochReaderImage.h" class JFJochViewerImageROIStatistics : public QWidget { Q_OBJECT QRadioButton *box_radio; QRadioButton *circle_radio; QRadioButton *azim_radio; QButtonGroup *radio_group; JFJochViewerImageROIStatistics_Box *box_settings; JFJochViewerImageROIStatistics_Circle *circle_settings; JFJochViewerROIResult *roi_result; public: JFJochViewerImageROIStatistics(QWidget *parent); private slots: void BoxButtonClicked(); void CircleButtonClicked(); public slots: void SetROIBox(QRect box); void SetROICircle(double x, double y, double radius); void SetROIResult(ROIMessage msg); signals: void ROIBoxConfigured(QRect box); // Signal emitted when Box ROI is set void ROICircleConfigured(double center_x, double center_y, double radius); // Signal emitted when Circle ROI is set void AddROIToUserMask(); void SubtractROIFromUserMask(); }; #endif //JFJOCH_JFJOCHVIEWERIMAGEROISTATISTICS_H