Kstars

exposurecalculatordialog.h
1/*
2 SPDX-FileCopyrightText: 2023 Joseph McGee <joseph.mcgee@sbcglobal.net>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#ifndef EXPOSURECALCULATORDIALOG_H
10#define EXPOSURECALCULATORDIALOG_H
11
12#include <QDialog>
13#include "optimalsubexposurecalculator.h"
14
15QT_BEGIN_NAMESPACE
16namespace Ui
17{
18class ExposureCalculatorDialog;
19}
20QT_END_NAMESPACE
21
22class ExposureCalculatorDialog : public QDialog
23{
25
26 public:
27 // ExposureCalculatorDialog(QWidget *parent = nullptr);
28 ExposureCalculatorDialog(QWidget *parent = nullptr,
29 double aPreferredSkyQualityValue = 20.0,
30 double aPreferredFocalRatioValue = 5.0,
31 const QString &aPreferredCameraId = "");
32
33 ~ExposureCalculatorDialog();
34
35 public slots:
36 void applyInitialInputs(); // This method is acting as a "fill-in" for initiating the calculator with data from KStars ekos/indi
37 void handleUserAdjustment(); // Change to gain, does not change exposure envelope, but does require recalculation of shot
38 void handleStackCalculation();
39
40 private slots:
41 void on_downloadCameraB_clicked();
42
43 private:
44 Ui::ExposureCalculatorDialog *ui;
45
46 OptimalExposure::OptimalSubExposureCalculator *anOptimalSubExposureCalculator;
47 OptimalExposure::ImagingCameraData *anImagingCameraData;
48
49 void initializeSubExposureCalculator(double aNoiseTolerance, double aSkyQualityValue, double aFocalRatioValue,
50 double aFilterCompensationValue, QString aSelectedImagingCamera);
51 void calculateSubExposure(double aNoiseTolerance, double aSkyQualityValue, double aFocalRatioValue,
52 double aFilterCompensationValue, int aSelectedReadMode, int aSelectedGainValue);
53
54 int getGainSelection(OptimalExposure::GainSelectionType aGainSelectionType);
55 QColor makeASkyQualityColor(double anSQMValue);
56
57 double aPreferredSkyQualityValue;
58 double aPreferredFocalRatioValue;
59 QString aPreferredCameraId;
60
61 void refreshCameraSelector(Ui::ExposureCalculatorDialog *ui, QStringList availableCameraFileNames,
62 const QString aPreferredCameraId);
63
64 void hideGainSelectionWidgets();
65 void showGainSelectionFixedWidgets();
66 void showGainSelectionNormalWidgets();
67 void showGainSelectionISODiscreteWidgets();
68
69
70};
71#endif // EXPOSURECALCULATORDIALOG_H
Q_OBJECTQ_OBJECT
QObject * parent() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 4 2024 16:38:42 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.