// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #ifndef JFJOCH_JFJOCHVIEWERPROCESSINGWIDGET_H #define JFJOCH_JFJOCHVIEWERPROCESSINGWIDGET_H #include #include #include #include #include "../common/IndexingSettings.h" #include "../widgets/SliderPlusBox.h" #include "../../image_analysis/spot_finding/SpotFindingSettings.h" class JFJochViewerProcessingWindow : public QMainWindow { Q_OBJECT QCheckBox *m_enableCheckBox; SliderPlusBox *m_signalToNoise; SliderPlusBox *m_photonCount; SliderPlusBox *m_minPixPerSpot; SliderPlusBox *m_maxPixPerSpot; SliderPlusBox *m_highResolution; SliderPlusBox *m_lowResolution; QCheckBox *m_indexingCheckBox; QCheckBox *m_quickIntegrationCheckBox; QCheckBox *m_reanalyzeCheckBox; SliderPlusBox *m_idxTolerance; // [0.0 .. 0.5], step 0.001 SliderPlusBox *m_idxUnitCellDistTolerance; // [0.0001 .. 0.2001], step 0.0001 QCheckBox *m_idxIndexIceRings; SliderPlusBox *m_idxViableCellMinSpots; // integer >= 6 SliderPlusBox *m_iceRingWidthQRecipA; SpotFindingSettings m_settings; IndexingSettings m_indexing; void Update(); void closeEvent(QCloseEvent *event) override; public: explicit JFJochViewerProcessingWindow(const SpotFindingSettings &settings, const IndexingSettings& indexing, QWidget *parent = nullptr); public slots: void open(); signals: void settingsChanged(const SpotFindingSettings &settings, const IndexingSettings &indexing, bool reanalyze); void closing(); }; #endif //JFJOCH_JFJOCHVIEWERPROCESSINGWIDGET_H