dataset.h
Go to the documentation of this file.
1 #ifndef DNAI_MODELS_ML_DATASET_H
2 #define DNAI_MODELS_ML_DATASET_H
3 
4 #include <QObject>
5 #include <QQmlPropertyMap>
6 
9 
10 namespace dnai {
11 namespace models {
12 namespace ml {
13 class Label : public QObject
14 {
15  Q_OBJECT
16  Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged)
17  Q_PROPERTY(QString value READ value WRITE setValue NOTIFY valueChanged)
18 
19  QString m_path;
20 
21  QString m_value;
22 
23 public:
24  Label(QObject *parent = nullptr);
25  virtual ~Label();
26  QString path() const;
27  QString value() const;
28 
29 public slots:
30  void setPath(QString path);
31  void setValue(QString value);
32 
33 signals:
34  void pathChanged(QString path);
35  void valueChanged(QString value);
36 };
37 class Dataset : public QObject, public interfaces::ASerializable<Dataset>
38 {
39  Q_OBJECT
40  Q_PROPERTY(QQmlPropertyMap *data READ data WRITE setData NOTIFY dataChanged)
41 
42  Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
43  Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged)
44  Q_PROPERTY(int samples READ samples WRITE setSamples NOTIFY samplesChanged)
45  Q_PROPERTY(int training READ training WRITE setTraining NOTIFY trainingChanged)
46  Q_PROPERTY(int test READ test WRITE setTest NOTIFY testChanged)
47  Q_PROPERTY(bool autoGenerateCsv READ autoGenerateCsv WRITE setAutoGenerateCsv NOTIFY autoGenerateCsvChanged)
48  Q_PROPERTY(bool shuffleData READ shuffleData WRITE setShuffleData NOTIFY shuffleDataChanged)
49  Q_PROPERTY(QString csvPath READ csvPath WRITE setCsvPath NOTIFY csvPathChanged)
50  Q_PROPERTY(dnai::utils::IterableQQmlPropertyMap *labels READ labels WRITE setLabels NOTIFY labelsChanged)
51 
52 public:
53  Dataset(QObject *parent = nullptr);
54  virtual ~Dataset();
55 
56  QString name() const;
57 
58  QString path() const;
59 
60  int samples() const;
61 
62  int training() const;
63 
64  int test() const;
65 
66  bool autoGenerateCsv() const;
67 
68  bool shuffleData() const;
69 
70  QString csvPath() const;
71 
72  utils::IterableQQmlPropertyMap *labels();
73 
74 public slots:
75  void setName(const QString & name);
76 
77  void setPath(const QString & path);
78 
79  void setSamples(int samples);
80 
81  void setTraining(int training);
82 
83  void setTest(int test);
84 
85  void setAutoGenerateCsv(bool autoGenerateCsv);
86 
87  void setShuffleData(bool shuffleData);
88 
89  void setCsvPath(const QString & csvPath);
90 
91  void setLabels(utils::IterableQQmlPropertyMap *labels);
92 
93  void setData(QQmlPropertyMap * data);
94 
95 signals:
96  void nameChanged(const QString &name);
97 
98  void pathChanged(const QString & path);
99 
100  void samplesChanged(int samples);
101 
102  void trainingChanged(int training);
103 
104  void testChanged(int test);
105 
106  void autoGenerateCsvChanged(bool autoGenerateCsv);
107 
108  void shuffleDataChanged(bool shuffleData);
109 
110  void csvPathChanged(const QString & csvPath);
111 
112  void labelsChanged(utils::IterableQQmlPropertyMap *labels);
113 
114  void dataChanged(QQmlPropertyMap * data);
115 
116 private:
117  QQmlPropertyMap m_data;
118  utils::IterableQQmlPropertyMap m_labels;
119 
120 
121  // ISerializable interface
122 public:
123  void serialize(QJsonObject &obj) const;
124 
125  QQmlPropertyMap * data();
126 
127 protected:
128  void _deserialize(const QJsonObject &obj);
129 };
130 }
131 }
132 }
133 
134 
135 #endif // DNAI_MODELS_ML_DATASET_H
void valueChanged(QString value)
Definition: moc_dataset.cpp:204
QString m_value
Definition: dataset.h:21
void setPath(QString path)
Definition: dataset.cpp:173
QString m_path
Definition: dataset.h:19
Definition: dataset.h:13
void pathChanged(QString path)
Definition: moc_dataset.cpp:197
Definition: dataset.h:37
Definition: api.h:13
QString value() const
void setValue(QString value)
Definition: dataset.cpp:182
QString path() const