diff options
| author | Nikita Kostovsky <nikita@kostovsky.me> | 2026-07-15 10:13:10 +0200 |
|---|---|---|
| committer | Nikita Kostovsky <nikita@kostovsky.me> | 2026-07-15 10:13:10 +0200 |
| commit | 2aefb6902465c3c8a313f95bb1b7d9a80fe4c52a (patch) | |
| tree | 525cafbc1a9f38df2f0d2ebe6fe9fd206e5f30d0 /src/main.cpp | |
| parent | 169ddcb09cd26fa0a685f691f63b49e70e1be93b (diff) | |
in the middle of non-linear pixels debuggingconflicting_master
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 92 |
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"; } } |
