blob: c2e5d731c11586f08eb0d21f949714a9ac38022e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#pragma once
#include <array>
#include "fuck_intel.h"
#include <QSharedPointer>
#include "constants.h"
#include "pixels.h"
using CalibrationColumn = std::array<float, calibrationTableHeight>;
// map [0; discretesInRage] (discretes) to [0; zRangeMm] (mm)
using CalibrationTable = std::array<CalibrationColumn, img_width>;
using CalibrationTablePtr = QSharedPointer<CalibrationTable>;
constexpr auto calibrationColumnHeight = std::tuple_size<CalibrationColumn>();
bool openCalibrationTable(const QString &filename, CalibrationTablePtr &table);
void dumpCalibrationPixels(std::vector<Pixels> &&calibrationPixels);
bool dump(const CalibrationTablePtr &table, const QString &filename);
QList<Pixels> filter(const QList<Pixels> &rawProfiles);
CalibrationTablePtr calibrateX(const QList<Pixels> &rawProfiles);
CalibrationTablePtr calibrateZ(const QList<Pixels> &rawProfiles,
const uint32_t &stepsPerMm);
QImage calibrationTableToImage(const CalibrationTablePtr &calibrationTable);
void interpolate(CalibrationTablePtr &table);
void interpolate(CalibrationColumn &column);
|