6#ifndef OPENEV_CONTAINERS_SLIDING_WINDOW_HPP
7#define OPENEV_CONTAINERS_SLIDING_WINDOW_HPP
11#include <opencv2/core/types.hpp>
15constexpr bool USING_SLIDING_WINDOW_HPP =
true;
46 [[nodiscard]]
inline TimeType
window()
const {
64 std::deque<Event_<T>>::push_back(event);
73 std::deque<Event_<T>>::push_back(std::move(event));
80 template <
typename... Args>
82 std::deque<Event_<T>>::emplace_back(std::forward<Args>(args)...);
91 const auto newest = std::deque<Event_<T>>::back().t;
92 while(Deque_<T>::size() > 1 && (newest - Deque_<T>::front().t) > window_) {
93 Deque_<T>::pop_front();
This class extends std::deque to implement event deques. For more information, please refer here.
Definition deque.hpp:23
This class extends cv::Point_<T> for event data. For more information, please refer here.
Definition types.hpp:77
FIFO event container that retains only events within a trailing time window.
Definition sliding_window.hpp:34
TimeType window() const
Definition sliding_window.hpp:46
void push(const Event_< T > &event)
Push an event to the back and discard front events older than the window.
Definition sliding_window.hpp:63
SlidingWindow_(const TimeType window=0)
Construct a sliding window with the given temporal span.
Definition sliding_window.hpp:40
void push(Event_< T > &&event)
Push an event (move) to the back and discard front events older than the window.
Definition sliding_window.hpp:72
void setWindow(const TimeType window)
Set a new time window length and immediately discard events outside the new window.
Definition sliding_window.hpp:54
void emplace(Args &&...args)
Construct an event in-place at the back and discard front events older than the window.
Definition sliding_window.hpp:81
Deque container for basic event structures.
SlidingWindowi SlidingWindow
Definition sliding_window.hpp:104
SlidingWindow_< float > SlidingWindowf
Definition sliding_window.hpp:102
SlidingWindow_< long > SlidingWindowl
Definition sliding_window.hpp:101
SlidingWindow_< double > SlidingWindowd
Definition sliding_window.hpp:103
SlidingWindow_< int > SlidingWindowi
Definition sliding_window.hpp:100
Basic event-based vision structures based on OpenCV components.