Kstars

imagingcameradata.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 IMAGINGCAMERADATA_H
10#define IMAGINGCAMERADATA_H
11
12#include <QAbstractItemModel>
13#include <QVector>
14#include "cameragainreadmode.h"
15#include "cameragainreadnoise.h"
16
17QT_BEGIN_NAMESPACE
18namespace OptimalExposure
19{
20
21typedef enum { SENSORTYPE_MONOCHROME, SENSORTYPE_COLOR } SensorType;
22// GAIN_SELECTION_TYPE_FIXED is for future development of CCD cameras in which read-noise does not vary with gain.
23typedef enum { GAIN_SELECTION_TYPE_NORMAL, GAIN_SELECTION_TYPE_ISO_DISCRETE, GAIN_SELECTION_TYPE_FIXED } GainSelectionType;
24
25
26class ImagingCameraData
27{
28
29 public:
30 ImagingCameraData() {}
31 ImagingCameraData(const QString &cameraId, OptimalExposure::SensorType sensorType,
32 OptimalExposure::GainSelectionType gainSelectionType, const QVector<int> &gainSelectionRange,
33 const QVector<OptimalExposure::CameraGainReadMode> &CameraGainReadModeVector);
34
35 int getDataClassVersion();
36 void setDataClassVersion(int newDataClassVersion);
37
38 QString getCameraId();
39 void setCameraId(const QString newCameraId);
40
41 SensorType getSensorType() const;
42 void setSensorType(SensorType newSensorType);
43
44 OptimalExposure::GainSelectionType getGainSelectionType() const;
45 void setGainSelectionType(OptimalExposure::GainSelectionType newGainSelectionType);
46
47 int getGainMin();
48 int getGainMax();
49
50 QVector<CameraGainReadMode> getCameraGainReadModeVector();
51 void setCameraGainReadModeVector(QVector<CameraGainReadMode> newCameraGainReadModeVector);
52
53 QVector<int> getGainSelectionRange();
54 void setGainSelectionRange(QVector<int> newGainSelectionRange);
55
56
57
58 private:
59 QString cameraId;
60 int dataClassVersion;
61
62 OptimalExposure::SensorType sensorType;
63 OptimalExposure::GainSelectionType gainSelectionType;
64
65 // For GAIN_SELECTION_TYPE_NORMAL gainSelection holds only the min and max gains.
66 // For GAIN_SELECTION_TYPE_ISO_DISCRETE, gainSelection hold the discrete values.
67 // For GAIN_SELECTION_TYPE_FIXED the gainSelection will not be populated
68 QVector<int> gainSelectionRange;
69 QVector<OptimalExposure::CameraGainReadMode> CameraGainReadModeVector;
70
71
72};
73}
74QT_END_NAMESPACE
75#endif // IMAGINGCAMERADATA_H
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.