summaryrefslogtreecommitdiff
path: root/profile.h
diff options
context:
space:
mode:
authorNikita Kostovsky <nikita@kostovsky.me>2025-01-12 11:50:34 +0100
committerNikita Kostovsky <nikita@kostovsky.me>2025-01-12 11:50:34 +0100
commit9dde2ab53c8e2c97647164fce89cf149260fbc8f (patch)
treef428169ce67a93d0532d91883e18892736bb26b4 /profile.h
parent8630381c7e1fa1527026b9c823790dc3f92c6321 (diff)
implement calibration
Diffstat (limited to 'profile.h')
-rw-r--r--profile.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/profile.h b/profile.h
new file mode 100644
index 0000000..0e2f839
--- /dev/null
+++ b/profile.h
@@ -0,0 +1,29 @@
+#pragma once
+
+#include <QJsonObject>
+#include <QPointF>
+
+#include "calibration.h"
+#include "pixels.h"
+
+class Profile
+{
+public:
+ using PointsMm = std::array<QPointF, img_width>;
+
+public:
+ // TODO: make private/protected
+ explicit Profile(const Pixels& pixels,
+ const CalibrationTablePtr calibrationTableZ,
+ const CalibrationTablePtr calibrationTableX);
+
+public:
+ const Counters& counters() const;
+ const PointsMm& pointsMm() const;
+
+ operator const QJsonObject() const;
+
+private:
+ Counters m_counters{};
+ PointsMm m_pointsMm{QPointF{std::nan(""), std::nan("")}};
+};