From 9dde2ab53c8e2c97647164fce89cf149260fbc8f Mon Sep 17 00:00:00 2001 From: Nikita Kostovsky Date: Sun, 12 Jan 2025 11:50:34 +0100 Subject: implement calibration --- src/calibration.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/calibration.h (limited to 'src/calibration.h') diff --git a/src/calibration.h b/src/calibration.h new file mode 100644 index 0000000..ddb66a6 --- /dev/null +++ b/src/calibration.h @@ -0,0 +1,31 @@ +#pragma once + +#include + +#include "fuck_intel.h" + +#include + +#include "constants.h" +#include "pixels.h" + +using CalibrationColumn = std::array; +// map [0; discretesInRage] (discretes) to [0; zRangeMm] (mm) +using CalibrationTable = std::array; +using CalibrationTablePtr = QSharedPointer; + +constexpr auto calibrationColumnHeight = std::tuple_size(); + +bool openCalibrationTable(const QString &filename, CalibrationTablePtr &table); + +void dumpCalibrationPixels(std::vector &&calibrationPixels); +bool dump(const CalibrationTablePtr &table, const QString &filename); + +CalibrationTablePtr calibrateX(const QList &rawProfiles); +CalibrationTablePtr calibrateZ(const QList &rawProfiles, + const uint32_t &stepsPerMm); + +QImage calibrationTableToImage(const CalibrationTablePtr &calibrationTable); + +void interpolate(CalibrationTablePtr &table); +void interpolate(CalibrationColumn &column); -- cgit v1.2.3-70-g09d2