32 this->maximumValues = Eigen::MatrixXf::Zero(rows, cols);
33 this->noiseThreshold = noiseThreshold;
39 this->noiseSamples.push_back(
data);
45 if (
data.maxCoeff() <= noiseThreshold)
47 this->maximumValues = this->maximumValues.cwiseMax(
data);
60 getMatrixAverage(noiseSamples), maximumValues, calibratedMinimum, calibratedMaximum);
66 return this->maximumValues.minCoeff() >= threshold;
72 return this->maximumValues;
78 return this->noiseSamples.size();
82CalibrationHelper::getMatrixAverage(std::vector<Eigen::MatrixXf> samples)
84 if (samples.size() == 0)
86 throw std::runtime_error(
"Average of zero samples not possible");
89 Eigen::MatrixXf sum = samples.at(0);
91 for (std::vector<Eigen::MatrixXf>::iterator it = samples.begin() + 1; it != samples.end(); ++it)
96 return sum / (
float)samples.size();
Eigen::MatrixXf getMaximumValues()
CalibrationHelper(int rows, int cols, float noiseThreshold)
int getNoiseSampleCount()
bool checkMaximumValueThreshold(float threshold)
void addNoiseSample(Eigen::MatrixXf data)
bool addMaxValueSample(Eigen::MatrixXf data)
CalibrationInfo getCalibrationInfo(float calibratedMinimum, float calibratedMaximum)
This file offers overloads of toIce() and fromIce() functions for STL container types.