summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorNikita Kostovsky <nikita@kostovsky.me>2026-07-15 10:13:10 +0200
committerNikita Kostovsky <nikita@kostovsky.me>2026-07-15 10:13:10 +0200
commit2aefb6902465c3c8a313f95bb1b7d9a80fe4c52a (patch)
tree525cafbc1a9f38df2f0d2ebe6fe9fd206e5f30d0 /src/main.cpp
parent169ddcb09cd26fa0a685f691f63b49e70e1be93b (diff)
in the middle of non-linear pixels debuggingconflicting_master
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp92
1 files changed, 38 insertions, 54 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 24e2bf4..2ca9bad 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -129,7 +129,7 @@ int main(int argc, char *argv[])
// return EXIT_SUCCESS;
auto stand = std::make_shared<Esp32Stand>(QHostAddress{"192.168.18.248"}, 80, 1600);
- if (false) {
+ if (true) {
if (false) {
// const QString tmpFN{"/home/radxa/dumps/binz/raw_profile_meas_100009_enc_35416"};
// const QString tmpFN{"/home/radxa/dumps/binz/raw_profile_meas_754290_enc_276336"};
@@ -151,42 +151,35 @@ int main(int argc, char *argv[])
exit(EXIT_FAILURE);
}
- // open binary calibration table
- if (false) {
+ // open binary calibration tables
+ if (true) {
initializers << QtConcurrent::run([&]() {
- if (!openCalibrationTable(QStringLiteral("/home/%1/dumps/binz.calibration_table")
- .arg(user),
- // "/tmp/binz.calibration_table",
- scanner->calibrationTableZ())) {
+ if (!op::openCalibrationTable(QStringLiteral(
+ "/home/%1/dumps/binz.calibration_table")
+ .arg(user),
+ // "/tmp/binz.calibration_table",
+ scanner->calibrationTableZ())) {
exit(EXIT_FAILURE);
}
});
initializers << QtConcurrent::run([&]() {
- if (!openCalibrationTable(QStringLiteral("/home/%1/dumps/binx.calibration_table")
- .arg(user),
- // "/tmp/binx.calibration_table",
- scanner->calibrationTableX())) {
+ if (!op::openCalibrationTable(QStringLiteral(
+ "/home/%1/dumps/binx.calibration_table")
+ .arg(user),
+ // "/tmp/binx.calibration_table",
+ scanner->calibrationTableX())) {
exit(EXIT_FAILURE);
}
});
}
- if (false) {
- auto rawProfiles = openDump(QStringLiteral("/home/%1/dumps/binx").arg(user));
- qDebug() << "raw x-profiles count is" << rawProfiles.size();
- // qDebug() << "height" << calibrationColumnHeight;
-
- auto filteredRawProfiles = filter(std::move(rawProfiles));
- qDebug() << "filtered x-profiles count is" << filteredRawProfiles.count();
-
- calibrateX(std::move(filteredRawProfiles), scanner->calibrationTableX());
-
- interpolate(scanner->calibrationTableX());
+ for (auto &i : initializers) {
+ i.waitForFinished();
}
// load binary calibration dumps and calibrate
- if (true) {
+ if (false) {
if (true) {
auto rawProfiles = openDump(QStringLiteral("/home/%1/dumps/binz").arg(user));
qDebug() << "raw z-profiles count is" << rawProfiles.size();
@@ -195,39 +188,28 @@ int main(int argc, char *argv[])
return EXIT_FAILURE;
}
- // for (const auto &rp : rawProfiles) {
- // if (rp.debugPrintIfInvalid()) {
- // exit(EXIT_FAILURE);
- // }
- // }
-
- exit(EXIT_FAILURE);
+ qDebug() << "filtered z-profiles count is" << rawProfiles.count();
- std::sort(rawProfiles.begin(), rawProfiles.end(), [](const auto &a, const auto &b) {
- return a.counters.encoderPosition < b.counters.encoderPosition;
- });
- auto filteredRawProfiles = filter(std::move(rawProfiles));
- qDebug() << "filtered z-profiles count is" << filteredRawProfiles.count();
-
- if (!calibrateZ(std::move(filteredRawProfiles),
- // requested_params.stepsPerMm,
- stand->stepsPerMm(),
- scanner->calibrationTableZ())) {
+ if (!op::calibrateZ(std::move(rawProfiles),
+ stand->stepsPerMm(),
+ scanner->calibrationTableZ())) {
qCritical() << "Z calibration failed, exiting";
exit(EXIT_FAILURE);
}
- // DEBUG
-
- // interpolate(scanner->calibrationTableZ());
const auto dumpZPath = QStringLiteral("/home/%1/dumps/binz.calibration_table")
.arg(user);
- if (!dump(scanner->calibrationTableZ(), dumpZPath)) {
+ op::calibrationTableToImage(scanner->calibrationTableZ()).save(dumpZPath + ".png");
+
+ op::interpolate(scanner->calibrationTableZ());
+
+ if (!op::dump(scanner->calibrationTableZ(), dumpZPath)) {
qApp->exit(EXIT_FAILURE);
}
qDebug() << __func__ << "calibration table z dump finished";
- calibrationTableToImage(scanner->calibrationTableZ()).save(dumpZPath + ".png");
+ op::calibrationTableToImage(scanner->calibrationTableZ())
+ .save(dumpZPath + "_interpolated.png");
qDebug() << __func__ << "calibration table z image dump finished";
}
@@ -238,27 +220,29 @@ int main(int argc, char *argv[])
auto rawProfiles = openDump(QStringLiteral("/home/%1/dumps/binx").arg(user));
qDebug() << "raw x-profiles count is" << rawProfiles.size();
- auto filteredRawProfiles = filter(std::move(rawProfiles));
- qDebug() << "filtered x-profiles count is" << filteredRawProfiles.count();
+ // auto filteredRawProfiles = op::filter(std::move(rawProfiles));
+ // qDebug() << "filtered x-profiles count is" << filteredRawProfiles.count();
- if (!calibrateX(std::move(filteredRawProfiles), scanner->calibrationTableX())) {
+ // if (!op::calibrateX(std::move(filteredRawProfiles), scanner->calibrationTableX())) {
+ if (!op::calibrateX(std::move(rawProfiles), scanner->calibrationTableX())) {
qCritical() << "X calibration failed, exiting";
exit(EXIT_FAILURE);
}
- qDebug() << __func__ << "try to interpolate";
- interpolate(scanner->calibrationTableX());
- qDebug() << __func__ << "interpolated";
-
const auto dumpXPath = QStringLiteral("/home/%1/dumps/binx.calibration_table")
.arg(user);
+ op::calibrationTableToImage(scanner->calibrationTableZ()).save(dumpXPath + ".png");
+ qDebug() << __func__ << "try to interpolate";
+ op::interpolate(scanner->calibrationTableX());
+ qDebug() << __func__ << "interpolated";
- if (!dump(scanner->calibrationTableX(), dumpXPath)) {
+ if (!op::dump(scanner->calibrationTableX(), dumpXPath)) {
qCritical() << "cannot dump calibration table x, exit with failure";
qApp->exit(EXIT_FAILURE);
}
qDebug() << __func__ << "calibration table x dump finished";
- calibrationTableToImage(scanner->calibrationTableZ()).save(dumpXPath + ".png");
+ op::calibrationTableToImage(scanner->calibrationTableZ())
+ .save(dumpXPath + "_interpolated.png");
qDebug() << __func__ << "calibration table x image dump finished";
}
}