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();
82 CalibrationHelper::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();