diff options
Diffstat (limited to 'src/calibration.cpp')
| -rw-r--r-- | src/calibration.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/calibration.cpp b/src/calibration.cpp index 73bd786..ff37e73 100644 --- a/src/calibration.cpp +++ b/src/calibration.cpp @@ -191,6 +191,34 @@ QImage calibrationTableToImage(const CalibrationTablePtr& calibrationTable) return result; } +QList<Pixels> filter(const QList<Pixels>& rawProfiles) +{ + QList<Pixels> result; + + QList<Pixels>::const_iterator it = rawProfiles.constBegin(); + + while (it != rawProfiles.constEnd()) + { + Pixels sum = *it; + + size_t count{1}; + ++it; + + while (it != rawProfiles.constEnd() && + it->counters.encoderPosition == sum.counters.encoderPosition) + { + sum += *it; + ++count; + ++it; + } + + sum /= float(count); + result << sum; + } + + return result; +} + CalibrationTablePtr calibrateZ(const QList<Pixels>& rawProfiles, const uint32_t& stepsPerMm) { |
