// 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 "JFJochHelperWindow.h" #include "../common/IndexingSettings.h" #include "../widgets/SliderPlusBox.h" #include "../../image_analysis/spot_finding/SpotFindingSettings.h" class JFJochViewerProcessingWindow : public JFJochHelperWindow { Q_OBJECT QCheckBox *m_enableCheckBox; SliderPlusBox *m_signalToNoise; SliderPlusBox *m_photonCount; SliderPlusBox *m_minPixPerSpot; SliderPlusBox *m_maxPixPerSpot; SliderPlusBox *m_highResolution; SliderPlusBox *m_lowResolution; SliderPlusBox *m_maxSpotCount; // New: Max spot count slider QCheckBox *m_highResSpuriousFilterCheckBox; SliderPlusBox *m_highResSpuriousGapOneOverD; // [0.01 .. 0.5], step 0.001 QCheckBox *m_indexingCheckBox; QCheckBox *m_quickIntegrationCheckBox; QCheckBox *m_geomRefinementCheckBox; 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(); public: explicit JFJochViewerProcessingWindow(const SpotFindingSettings &settings, const IndexingSettings& indexing, QWidget *parent = nullptr); signals: void settingsChanged(const SpotFindingSettings &settings, const IndexingSettings &indexing, int64_t max_spots); }; #endif //JFJOCH_JFJOCHVIEWERPROCESSINGWIDGET_H