/caer

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

Primary LanguageCGNU General Public License v2.0GPL-2.0

caer
====

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

REQUIREMENTS:

cmake >= 2.6
gcc >= 4.9 or clang >= 3.6
libcaer >= 2.0.0
mini-xml (mxml) >= 2.7
allegro5 >= 5.0.11 (optional, only if using the Visualizer)

INSTALLATION:

1) configure: 

$ cmake . 

One of the following options is required to select a device:
 -DDVS128=1           - set dvs128 (for DVS128 model)
 -DDAVISFX2=1         - set davisfx2 (for DAVIS240A/B/C models)
 -DDAVISFX3=1         - set davisfx3 (for FX3 platform models)

Optional input/output modules:
 -DENABLE_FILE_INPUT=1
 -DENABLE_NETWORK_INPUT=1
 -DENABLE_FILE_OUTPUT=1
 -DENABLE_NETWORK_OUTPUT=1

Optional modules:
 -DENABLE_BAFILTER=1    - enable background activity filter module
 -DENABLE_STATISTICS=1  - enable console statistics module
 -DENABLE_VISUALIZER=1  - enable visualizer module
 -DENABLE_IMAGEGENERATOR=1 - enable image generator
 -DENABLE_CAMERACALIBRATION=1 - enable camera calibration this requires OpenCV 3.1.0 to be installed - 
 -DENABLE_IMAGESTREAMERVISUALIZER=1 - this module produces images by accumulating a fixed number 
		of spikes. (press "r" to start recording png and "s" to stop)
		This module can be configured by editing the file: 
			"module/imagescreamervisualizer/imagescreamervisualizer.h"
		parameters:
			numSpikes 7000 // number of spikes that are accumulated per image
		control keys:
			"p" to save images as _pos_id.png
			"n" to save images as _neg_id.png
			"t" to save iamges as _testing_id.png
			"s" stop recording images, but keep displaying them
 -DENABLE_CAFFEINTERFACE=1 - Caffe interface to cAER, deep learning framework - https://github.com/BVLC/caffe - 
		This module depends on the visualizer module and on the imagestreamer 
		(ie. it requires -DENABLE_VISUALIZER=1 and -DENABLE_IMAGESTREAMERVISUALIZER=1)
		It also requires Caffe installed as well as Boost/OpenCV/Protobuffer (same as Caffe).
		You can load deep networks that have been trained with Caffe (like alexnet/caffenet/vgg etc.)
		This module can be configured by editing the file: 
			"module/caffeinterface/settings.h"
	-DCAFFE_CPU_ONLY=1 - to use the Caffe framework with CPU only (ie. no GPU)

2) build:

$ make

3) install:

$ make install

USAGE:

$ caer-bin (see docs/ for more info on how to use cAER)
$ caer-ctl (run-time settings control program, optional)