Program Listing for File OutlierDetection.hpp

Return to documentation for file (src/navtk/utils/OutlierDetection.hpp)

#pragma once

#include <navtk/tensors.hpp>
#include <navtk/utils/RingBuffer.hpp>

namespace navtk {
namespace utils {

class OutlierDetection {
public:
    virtual ~OutlierDetection() = default;
    OutlierDetection(size_t buffer_size);

    bool is_outlier(double value);

private:
    virtual bool is_last_item_an_outlier(navtk::Vector const& data) const = 0;

    RingBuffer<double> value_history;

};  // class OutlierDetection

}  // namespace utils
}  // namespace navtk