caer
AER event-based framework, written in C, targeting embedded systems.
Dependencies:
Linux, MacOS X or Windows (for Windows build instructions see README.Windows)
gcc >= 5.2 or clang >= 3.6
cmake >= 2.6
Boost >= 1.50 (with system, filesystem, iostreams, program_options)
libcaer >= 2.4.0
Optional: tcmalloc >= 2.2 (faster memory allocation)
Optional: SFML >= 2.3.0 (visualizer module)
Optional: OpenCV >= 3.1 (cameracalibration, poseestimation modules)
Optional: libpng >= 1.6 (input/output frame PNG compression)
Optional: libuv >= 1.7.5 (output module)
Installation
- configure:
$ cmake <MODULES_TO_BUILD> .
The following options are currently supported:
-DUSE_TCMALLOC=1 -- Enables usage of TCMalloc from Google to allocate memory.
The following modules can currently be selected to be built:
-DDVS128=1 -- DVS128 device input.
-DEDVS=1 -- eDVS4337 device input.
-DDAVIS=1 -- DAVIS device input.
-DDYNAPSE=1 -- Dynap-se device input (neuromorphic chip).
-DBAFILTER=1 -- Filter background activity (uncorrelated noise).
-DFRAMEENHANCER=1 -- Demosaic/enhance frames.
-DCAMERACALIBRATION=1 -- Calculate and apply single camera lens calibration.
-DSTATISTICS=1 -- Print statistics to console.
-DVISUALIZER=1 -- Open windows in which to visualize data.
-DINPUT_FILE=1 -- Get input from an AEDAT file.
-DOUTPUT_FILE=1 -- Write data to an AEDAT 3.X file.
-DINPUT_NETWORK=1 -- Read input from a network stream.
-DOUTPUT_NETWORK=1 -- Send data out via network.
-DROTATE=1 -- Rotate events.
-DSYNAPSERECONFIG=1 -- Enable Davis240C to Dynap-se mapping
-DFPGASPIKEGEN=1 -- Enable FPGA spike generator Dynap-se
-DPOISSONSPIKEGEN=1 -- Enable FPGA Poisson spike generator for Dynap-se
To enable all just type:
cmake -DDVS128=1 -DEDVS=1 -DDAVIS=1 -DDYNAPSE=1 -DBAFILTER=1 -DFRAMEENHANCER=1 -DCAMERACALIBRATION=1 -DSTATISTICS=1 -DVISUALIZER=1 -DINPUT_FILE=1 -DOUTPUT_FILE=1 -DINPUT_NETWORK=1 -DOUTPUT_NETWORK=1 -DROTATE=1 -DMEANRATEFILTER=1 -DSYNAPSERECONFIG=1 -DFPGASPIKEGEN=1 -DPOISSONSPIKEGEN=1 .
2) build:
$ make
3) install:
$ make install
Usage
You will need a 'caer-config.xml' file that specifies which and how modules
should be interconnected. A good starting point is 'docs/davis-config.xml',
or 'docs/dynapse-config.xml', please also read through 'docs/modules.txt' for
an explanation of the modules system and its configuration syntax.
$ caer-bin (see docs/ for more info on how to use cAER)
$ caer-ctl (command-line run-time control program, optional)
Help
Please use our GitHub bug tracker to report issues and bugs, or our Google Groups mailing list for discussions and announcements.
BUG TRACKER: https://github.com/inilabs/caer/issues/
MAILING LIST: https://groups.google.com/d/forum/caer-users/
Ubuntu 16.04, dependencies installation
On an Ubuntu 16.04, you can install all the dependencies (except libcaer) by typing: $ sudo apt-get install libboost-all-dev libboost-program-options1.58-dev libuv1-dev libsfml-dev libglew-dev gcc-5 g++-5 cmake