Files
Jungfraujoch/viewer/windows/JFJochViewerProcessingWindow.h
2025-10-20 20:43:44 +02:00

63 lines
1.9 KiB
C++

// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#ifndef JFJOCH_JFJOCHVIEWERPROCESSINGWIDGET_H
#define JFJOCH_JFJOCHVIEWERPROCESSINGWIDGET_H
#include <QMainWindow>
#include <QCheckBox>
#include <QLabel>
#include <QPushButton>
#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;
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;
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, int64_t max_spots, bool reanalyze);
void closing();
};
#endif //JFJOCH_JFJOCHVIEWERPROCESSINGWIDGET_H