This class extends AbstractCamera to operate with DAVIS event cameras. DAVIS cameras offer events (DVS), framed images (APS), and IMU data. More...
#include <davis.hpp>
Public Member Functions | |
| BiasValue | getBias (const uint8_t name) const |
| Retrieve the bias value associated with the given name. | |
| bool | setBias (const uint8_t name, const BiasValue &value) |
| Set the bias value associated with the given name. | |
| void | enableDvs (bool state) |
| Enable DVS. | |
| void | setDvsTimeInterval (uint32_t usec) |
| Set DVS maximum time interval between subsequent transmissions. | |
| void | setDvsEventsPerPacket (uint32_t n) |
| Set DVS maximum number of events per transmission. | |
| void | enableAps (bool state) |
| Enable APS. | |
| void | setApsTimeInterval (uint32_t usec) |
| Set APS maximum time interval between subsequent transmissions. | |
| void | setExposure (uint32_t exposure) |
| Set APS exposure time. | |
| void | enableImu (bool state) |
| Enable IMU. | |
| bool | getData (Vector &events) override |
| Get DVS data. | |
| bool | getData (Queue &events) override |
| Get DVS data. | |
| bool | getData (StampedMat &frame) |
| Get APS data. | |
| bool | getData (StampedMatVector &frames) |
| Get APS data. | |
| bool | getData (StampedMatQueue &frames) |
| Get APS data. | |
| bool | getData (Imu &imu) |
| Get IMU data. | |
| bool | getData (ImuVector &imu) |
| Get IMU data. | |
| bool | getData (ImuQueue &imu) |
| Get IMU data. | |
| bool | getData (Vector &events, StampedMat &frame) |
| Get DVS+APS data. | |
| bool | getData (Vector &events, StampedMatVector &frames) |
| Get DVS+APS data. | |
| bool | getData (Queue &events, StampedMatQueue &frames) |
| Get DVS+APS data. | |
| bool | getData (Vector &events, Imu &imu) |
| Get DVS+IMU data. | |
| bool | getData (Vector &events, ImuVector &imu) |
| Get DVS+IMU data. | |
| bool | getData (Queue &events, ImuQueue &imu) |
| Get DVS+IMU data. | |
| bool | getData (Vector &events, StampedMat &frame, Imu &imu) |
| Get DVS+APS+IMU data. | |
| bool | getData (Vector &events, StampedMatVector &frame, ImuVector &imu) |
| Get DVS+APS+IMU data. | |
| bool | getData (Queue &events, StampedMatQueue &frame, ImuQueue &imu) |
| Get DVS+APS+IMU data. | |
| void | getEventRaw (std::vector< uint64_t > &data) |
| Retrieve raw event data. | |
| std::size_t | getEventRaw (uint64_t *data, const bool allow_realloc=true) |
| Retrieve raw event data. | |
Public Member Functions inherited from ev::AbstractCamera | |
| void | setTimeOffset (const double offset) |
| Set offset to add after receiving events. | |
| void | start () |
| Start reading data. | |
| void | stop () |
| Stop reading data. | |
| cv::Size | getSensorSize () const |
| Get device sensor size. | |
| cv::Rect_< uint16_t > | getRoi () const |
| Get current ROI. | |
| bool | setRoi (const cv::Rect_< uint16_t > &roi) |
| Set current ROI. Events outside the ROI are not considered. Images are cropped according to the ROI. | |
| BiasValue | getBias (const int8_t config_bias, const uint8_t name) const |
| Retrieve the bias value associated with a specific configuration and name. | |
| bool | setBias (const int8_t config_bias, const uint8_t name, const BiasValue &value) |
| Set the bias value associated with a specific configuration and name. | |
| void | flush (const double msec) const |
| Discard data during an interval of time. | |
Static Public Attributes | |
| static constexpr uint32_t | DEFAULT_INTERVAL = 20000 |
| static constexpr uint32_t | DEFAULT_EXPOSURE = 6500 |
This class extends AbstractCamera to operate with DAVIS event cameras. DAVIS cameras offer events (DVS), framed images (APS), and IMU data.
| void ev::Davis::enableAps | ( | bool | state | ) |
| void ev::Davis::enableDvs | ( | bool | state | ) |
| void ev::Davis::enableImu | ( | bool | state | ) |
| ev::BiasValue ev::Davis::getBias | ( | const uint8_t | name | ) | const |
Retrieve the bias value associated with the given name.
| name | The identifier for the bias value to retrieve. |
| bool ev::Davis::getData | ( | Imu & | imu | ) |
| bool ev::Davis::getData | ( | ImuQueue & | imu | ) |
Get IMU data.
| imu | Imu data queue to which imu data will be added |
| bool ev::Davis::getData | ( | ImuVector & | imu | ) |
Get IMU data.
| imu | Imu data vector to which imu data will be added |
|
overridevirtual |
Get DVS data.
| events | Event queue to which events will be added. |
Implements ev::AbstractCamera.
| bool ev::Davis::getData | ( | ev::Queue & | events, |
| ev::ImuQueue & | imu ) |
| bool ev::Davis::getData | ( | ev::Queue & | events, |
| ev::StampedMatQueue & | frames, | ||
| ev::ImuQueue & | imu ) |
| bool ev::Davis::getData | ( | ev::Queue & | events, |
| ev::StampedMatQueue & | frames ) |
Get DVS+APS data.
| events | Event queue to which events will be added |
| frames | Frame queue to which frame will be added |
| bool ev::Davis::getData | ( | StampedMat & | frame | ) |
Get APS data.
| frame | Frame destination |
| bool ev::Davis::getData | ( | StampedMatQueue & | frames | ) |
Get APS data.
| frames | Frame queue to which frame will be added |
| bool ev::Davis::getData | ( | StampedMatVector & | frames | ) |
Get APS data.
| frames | Frame vector to which frame will be added |
|
overridevirtual |
Get DVS data.
| events | Event vector to which events will be added |
Implements ev::AbstractCamera.
| bool ev::Davis::getData | ( | ev::Vector & | events, |
| ev::Imu & | imu ) |
| bool ev::Davis::getData | ( | ev::Vector & | events, |
| ev::ImuVector & | imu ) |
| bool ev::Davis::getData | ( | ev::Vector & | events, |
| ev::StampedMat & | frame ) |
Get DVS+APS data.
| events | Event vector to which events will be added |
| frame | Frame destination |
| bool ev::Davis::getData | ( | ev::Vector & | events, |
| ev::StampedMat & | frame, | ||
| ev::Imu & | imu ) |
| bool ev::Davis::getData | ( | ev::Vector & | events, |
| ev::StampedMatVector & | frames, | ||
| ev::ImuVector & | imu ) |
| bool ev::Davis::getData | ( | ev::Vector & | events, |
| ev::StampedMatVector & | frames ) |
Get DVS+APS data.
| events | Event vector to which events will be added |
| frames | Frame vector to which frame will be added |
| void ev::Davis::getEventRaw | ( | std::vector< uint64_t > & | data | ) |
Retrieve raw event data.
| data | A vector to which the raw event data will be added. |
| std::size_t ev::Davis::getEventRaw | ( | uint64_t * | data, |
| const bool | allow_realloc = true ) |
Retrieve raw event data.
| data | A vector to which the raw event data will be added. |
| allow_realloc | If true, this function will assume data is empty and automatically manage its size (reallocating if needed). |
| void ev::Davis::setApsTimeInterval | ( | uint32_t | usec | ) |
Set APS maximum time interval between subsequent transmissions.
| usec | Maximum time interval in microseconds |
| bool ev::Davis::setBias | ( | const uint8_t | name, |
| const BiasValue & | value ) |
Set the bias value associated with the given name.
| name | The identifier for the bias value to set. |
| value | The new bias value to set. |
| void ev::Davis::setDvsEventsPerPacket | ( | uint32_t | n | ) |
Set DVS maximum number of events per transmission.
| n | Maximum number of events |
| void ev::Davis::setDvsTimeInterval | ( | uint32_t | usec | ) |
Set DVS maximum time interval between subsequent transmissions.
| usec | Maximum time interval in microseconds |
| void ev::Davis::setExposure | ( | uint32_t | exposure | ) |
Set APS exposure time.
| usec | Exposure time in microseconds |