OpenEV
Extending OpenCV to event-based vision
Toggle main menu visibility
Loading...
Searching...
No Matches
davis.hpp
Go to the documentation of this file.
1
6
#ifndef OPENEV_DEVICES_DAVIS_HPP
7
#define OPENEV_DEVICES_DAVIS_HPP
8
9
#include "
openev/containers/queue.hpp
"
10
#include "
openev/containers/vector.hpp
"
11
#include "
openev/devices/abstract-camera.hpp
"
12
#include <cstddef>
13
#include <stdint.h>
14
#include <vector>
15
16
namespace
ev {
20
class
Davis
:
public
AbstractCamera
{
21
public
:
22
constexpr
static
uint32_t DEFAULT_INTERVAL = 20000;
23
constexpr
static
uint32_t DEFAULT_EXPOSURE = 6500;
24
26
Davis
();
27
Davis
(
const
Davis
&) =
delete
;
28
Davis
(
Davis
&&)
noexcept
=
delete
;
29
Davis
&operator=(
const
Davis
&) =
delete
;
30
Davis
&operator=(
Davis
&&)
noexcept
=
delete
;
32
38
BiasValue
getBias
(
const
uint8_t name)
const
;
39
46
bool
setBias
(
const
uint8_t name,
const
BiasValue
&value);
47
52
void
enableDvs
(
bool
state);
53
59
void
setDvsTimeInterval
(uint32_t usec);
60
66
void
setDvsEventsPerPacket
(uint32_t n);
67
72
void
enableAps
(
bool
state);
73
78
void
setApsTimeInterval
(uint32_t usec);
79
84
void
setExposure
(uint32_t exposure);
85
90
void
enableImu
(
bool
state);
91
97
bool
getData
(
Vector
&events)
override
;
98
104
bool
getData
(
Queue
&events)
override
;
105
111
bool
getData
(
StampedMat
&frame);
112
118
bool
getData
(StampedMatVector &frames);
119
125
bool
getData
(StampedMatQueue &frames);
126
132
bool
getData
(
Imu
&imu);
133
139
bool
getData
(ImuVector &imu);
140
146
bool
getData
(ImuQueue &imu);
147
154
bool
getData
(
Vector
&events,
StampedMat
&frame);
155
162
bool
getData
(
Vector
&events, StampedMatVector &frames);
163
170
bool
getData
(
Queue
&events, StampedMatQueue &frames);
171
178
bool
getData
(
Vector
&events,
Imu
&imu);
179
186
bool
getData
(
Vector
&events, ImuVector &imu);
187
194
bool
getData
(
Queue
&events, ImuQueue &imu);
195
203
bool
getData
(
Vector
&events,
StampedMat
&frame,
Imu
&imu);
204
212
bool
getData
(
Vector
&events, StampedMatVector &frame, ImuVector &imu);
213
221
bool
getData
(
Queue
&events, StampedMatQueue &frame, ImuQueue &imu);
222
232
void
getEventRaw
(std::vector<uint64_t> &data);
233
245
std::size_t
getEventRaw
(uint64_t *data,
const
bool
allow_realloc =
true
);
246
247
private
:
248
template
<
typename
T1,
typename
T2,
typename
T3>
249
void
getData_([[maybe_unused]] T1 *dvs, [[maybe_unused]] T2 *aps, [[maybe_unused]] T3 *imu);
250
251
void
init()
override
;
252
};
253
254
}
// namespace ev
255
256
#endif
// OPENEV_DEVICES_DAVIS_HPP
abstract-camera.hpp
Abstract camera device driver.
ev::AbstractCamera
This is an auxiliary class. This class cannot be instanced.
Definition
abstract-camera.hpp:118
ev::Davis
This class extends AbstractCamera to operate with DAVIS event cameras. DAVIS cameras offer events (DV...
Definition
davis.hpp:20
ev::Davis::enableDvs
void enableDvs(bool state)
Enable DVS.
Definition
davis.cpp:78
ev::Davis::enableAps
void enableAps(bool state)
Enable APS.
Definition
davis.cpp:92
ev::Davis::setDvsEventsPerPacket
void setDvsEventsPerPacket(uint32_t n)
Set DVS maximum number of events per transmission.
Definition
davis.cpp:87
ev::Davis::setBias
bool setBias(const uint8_t name, const BiasValue &value)
Set the bias value associated with the given name.
Definition
davis.cpp:74
ev::Davis::setDvsTimeInterval
void setDvsTimeInterval(uint32_t usec)
Set DVS maximum time interval between subsequent transmissions.
Definition
davis.cpp:82
ev::Davis::getData
bool getData(Vector &events) override
Get DVS data.
Definition
davis.cpp:110
ev::Davis::enableImu
void enableImu(bool state)
Enable IMU.
Definition
davis.cpp:104
ev::Davis::getBias
BiasValue getBias(const uint8_t name) const
Retrieve the bias value associated with the given name.
Definition
davis.cpp:70
ev::Davis::setExposure
void setExposure(uint32_t exposure)
Set APS exposure time.
Definition
davis.cpp:100
ev::Davis::getEventRaw
void getEventRaw(std::vector< uint64_t > &data)
Retrieve raw event data.
Definition
davis.cpp:304
ev::Davis::setApsTimeInterval
void setApsTimeInterval(uint32_t usec)
Set APS maximum time interval between subsequent transmissions.
Definition
davis.cpp:96
ev::StampedMat
This class extends cv::Mat to include timestamp.
Definition
abstract-camera.hpp:54
queue.hpp
Persistent queue container for basic event structures.
ev::Queue
Queuei Queue
Definition
queue.hpp:117
ev::BiasValue
Definition
abstract-camera.hpp:36
ev::Imu
This struct is used to store IMU data from a DAVIS event camera.
Definition
abstract-camera.hpp:92
vector.hpp
Vector container for basic event structures.
ev::Vector
Vectori Vector
Definition
vector.hpp:86
modules
devices
include
openev
devices
davis.hpp
Generated by
1.17.0