6#ifndef OPENEV_CONTAINERS_DEQUE_HPP
7#define OPENEV_CONTAINERS_DEQUE_HPP
12#include <opencv2/core/types.hpp>
15constexpr bool USING_DEQUE_HPP =
true;
23class Deque_ :
public std::deque<Event_<T>> {
25 using ResultType = TimeType;
32 [[nodiscard]]
inline ResultType
duration()
const {
33 return std::deque<ev::Event_<T>>::back().t - std::deque<ev::Event_<T>>::front().t;
40 [[nodiscard]]
inline ResultType
rate()
const {
41 return std::deque<ev::Event_<T>>::size() /
duration();
53 return {x, y, t, p > 0.5};
60 [[nodiscard]]
inline cv::Point_<ResultType>
meanPoint()
const {
70 [[nodiscard]]
inline ResultType
meanTime()
const {
78 [[nodiscard]]
inline ResultType
midTime()
const {
79 return 0.5 * (std::deque<ev::Event_<T>>::front().t + std::deque<ev::Event_<T>>::back().t);
This class extends std::deque to implement event deques. For more information, please refer here.
Definition deque.hpp:23
ResultType midTime() const
Calculate the midpoint time between the oldest and the newest event.
Definition deque.hpp:78
cv::Point_< ResultType > meanPoint() const
Compute the mean x,y point of the events.
Definition deque.hpp:60
Event_< ResultType > mean() const
Compute the mean of the events.
Definition deque.hpp:48
ResultType duration() const
Time difference between the last and the first event.
Definition deque.hpp:32
ResultType meanTime() const
Compute the mean time of the events.
Definition deque.hpp:70
ResultType rate() const
Compute event rate as the ratio between the number of events and the time difference between the last...
Definition deque.hpp:40
This class extends cv::Point_<T> for event data. For more information, please refer here.
Definition types.hpp:77
PolarityType p
Definition types.hpp:80
TimeType t
Definition types.hpp:79
Deque_< double > Dequed
Definition deque.hpp:85
Deque_< int > Dequei
Definition deque.hpp:82
Deque_< float > Dequef
Definition deque.hpp:84
Dequei Deque
Definition deque.hpp:86
Deque_< long > Dequel
Definition deque.hpp:83
Basic event-based vision structures based on OpenCV components.