tobidelbruck / caer

AER event-based framework, written in C, targeting embedded systems.

Home Page:https://www.inilabs.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

caer

AER event-based framework, written in C, targeting embedded systems.
Build Status

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

  1. 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

About

AER event-based framework, written in C, targeting embedded systems.

https://www.inilabs.com/

License:GNU Lesser General Public License v2.1


Languages

Language:C 74.8%Language:C++ 24.2%Language:CMake 0.8%Language:Python 0.1%