libcaer
====
Minimal C library to access, configure and get data from neuromorphic sensors and processors.
Currently supported devices are the Dynamic Vision Sensor (DVS), the DAVIS cameras, and the
Dynap-SE neuromorphic processor.
REQUIREMENTS:
Linux, MacOS X or Windows (for Windows build instructions see README.Windows)
pkg-config
cmake >= 3.10.0
gcc >= 4.9 or clang >= 3.6
libusb >= 1.0.17
Optional: libserialport >= 0.1.1
Optional: OpenCV >= 3.1.0
Please make sure that you have the various development packages installed
for the above dependencies. They are usually called PKG-dev or PKG-devel.
On Fedora Linux: $ sudo dnf install @c-development cmake pkgconfig libusbx-devel
On Ubuntu Linux: $ sudo apt-get install build-essential cmake pkg-config libusb-1.0-0-dev
On MacOS X (using Homebrew): $ brew install cmake pkg-config libusb
INSTALLATION:
1) configure:
$ cmake -DCMAKE_INSTALL_PREFIX=/usr .
Optional: add -DENABLE_SERIALDEV=1 to enable support for serial port devices,
such as the eDVS4337, via libserialport.
Optional: add -DENABLE_OPENCV=1 to enable better support for frame enhancement
(demoisaicing for color, contrast, white-balance) via OpenCV.
2) build:
$ make
3) install:
$ sudo make install
DOCUMENTATION:
Online HTML documentation is available at https://inivation.gitlab.io/dv/libcaer/
Also check the examples/ directory and the iniVation Support website.
USAGE:
See the examples/ directory. Each example shows minimal working code
to connect to a device and print out data coming from it. To compile
the examples, see 'examples/README' for the build commands.
General usage follows this pattern (simplified):
h = caerDeviceOpen(TYPE);
caerDeviceSendDefaultConfig(h);
caerDeviceDataStart(h);
loop:
c = caerDeviceDataGet(h);
work with c (container) and its event packets
caerDeviceDataStop(h);
caerDeviceClose(&h);
All configuration parameters and event types are specified in the
public headers and documented there.
PAPER REFERENCES:
DVS: https://ieeexplore.ieee.org/document/4444573
P. Lichtsteiner, C. Posch and T. Delbruck, "A 128×128 120dB 15us Latency Asynchronous Temporal Contrast Vision Sensor",
IEEE Journal of Solid State Circuits, 43(2) 566-576, 2008.
DAVIS: https://ieeexplore.ieee.org/document/6889103
C. Brandli, R. Berner, M. Yang, S.-C. Liu, and T. Delbruck, “A 240x180 130dB 3us Latency Global Shutter Spatiotemporal Vision Sensor”,
IEEE Journal of Solid State Circuits, 49(10) 2333-2341, 2014.
For an exhaustive list of papers and research concerning event-based vision, please refer to:
https://github.com/uzh-rpg/event-based_vision_resources
HELP:
Please use our GitLab bug tracker to report issues and bugs, or
our Google Groups mailing list for discussions and announcements.
BUG TRACKER: https://gitlab.com/inivation/dv/libcaer/issues/
MAILING LIST: https://groups.google.com/d/forum/dv-users/
BUILD STATUS: https://gitlab.com/inivation/dv/libcaer/pipelines/
CODE ANALYSIS: https://sonarcloud.io/dashboard?id=com.inivation.libcaer