44 double median_out = 0.0;
58 std::sort(vec_sorted.begin(), vec_sorted.end());
60 median_out = vec_sorted.at(vec_sorted.size() / 2);
74 double mean_out = 0.0;
82 mean_out = std::accumulate(
98 double std_dev_out = 0.0;
108 double sum_of_sq_diffs = 0;
113 sum_of_sq_diffs += std::pow(*it -
mean, 2);
115 std_dev_out = sqrt(sum_of_sq_diffs /
m_win_size);
133 return measurement > low_lim && measurement < upper_lim;
139 double threshold = this->
getMean();
140 return (value > threshold);
178 if (new_size < curr_size)
199 size_t sliding_win_size =
200 source.read_int(section,
"sliding_win_size", 10,
false);
210 "-----------[ %s: Sliding Window Properties ]-----------\n",
void loadFromConfigFile(const mrpt::config::CConfigFileBase &source, const std::string §ion)
This method load the options from a ".ini"-like file or memory-stored string list.
void resizeWindow(size_t new_size)
Resize the window.
std::vector< double > m_measurements_vec
bool evaluateMeasurementInGaussian(double measurement)
Determine whether the incoming measurement is inside the [-3sigma, +3sigma] boundaries from the curre...
bool evaluateMeasurementAbove(double value)
Determine whether the incoming measurement is over the current mean value.
void addNewMeasurement(double measurement)
Update the sliding window by appending a new measurement.
bool m_is_initialized
flag is raised the first time that TSlidingWindow::addNewMeasurement is called
SLAM methods related to graphs of pose constraints.
This class allows loading and storing values and vectors of different types from a configuration text...
double getStdDev()
Return the Standard deviation of the current measurement vector.
double m_mean_cached
Cached mean value.
double getMean()
Return the current mean value.
double m_std_dev_cached
Cached version of the standard deviation.
GLsizei const GLchar ** string
bool m_median_updated
Is the median up-to-date?
TSlidingWindow(std::string name="window")
std::string format(const char *fmt,...) MRPT_printf_format_check(1
A std::string version of C sprintf.
GLuint const GLchar * name
GLsizei GLsizei GLchar * source
std::string m_name
Name of the TSlidingWindow Instance at hand.
bool evaluateMeasurementBelow(double value)
Determine whether the incoming measurement is less or equal to the current mean value.
void dumpToTextStream(std::ostream &out) const
This method should clearly display all the contents of the structure in textual form, sending it to a std::ostream.
GLsizei const GLfloat * value
size_t getWindowSize() const
Return the size of the window.
bool m_mean_updated
Is the mean up-to-date?
bool windowIsFull() const
Check if the window has reached its limit.
const Scalar * const_iterator
double m_median_cached
Cached median value.
EIGEN_STRONG_INLINE double mean() const
Computes the mean of the entire matrix.
double getMedian()
Return the current median value.
bool m_std_dev_updated
Is the standard deviation up-to-date?