GithubHelp home page GithubHelp logo

prophesee-ai / openeb Goto Github PK

View Code? Open in Web Editor NEW
149.0 13.0 29.0 62.6 MB

Open source SDK to create applications leveraging event-based vision hardware equipment

Home Page: https://www.prophesee.ai/metavision-intelligence/

CMake 7.63% Python 12.47% C++ 66.12% C 13.29% Java 0.43% Shell 0.01% Cuda 0.04%
computer-vision event-based event-based-camera sdk camera-api neuromorphic event-camera neuromorphic-computing neuromorphic-engineering

openeb's Introduction

OpenEB

OpenEB is the open source project associated with Metavision SDK

It enables anyone to get a better understanding of event-based vision, directly interact with events and build their own applications or camera plugins. As a camera manufacturer, ensure your customers benefit from the most advanced event-based software suite available by building your own plugin. As a creator, scientist, academic, join and contribute to the fast-growing event-based vision community.

OpenEB is composed of the Open modules of Metavision SDK:

  • HAL: Hardware Abstraction Layer to operate any event-based vision device.
  • Base: Foundations and common definitions of event-based applications.
  • Core: Generic algorithms for visualization, event stream manipulation, applicative pipeline generation.
  • Core ML: Generic functions for Machine Learning, event_to_video and video_to_event pipelines.
  • Driver: High-level abstraction built on the top of HAL to easily interact with event-based cameras.
  • UI: Viewer and display controllers for event-based data.

OpenEB also contains the source code of Prophesee camera plugins, enabling to stream data from our event-based cameras and to read recordings of event-based data. The supported cameras are:

  • EVK2 - HD
  • EVK3 - VGA/320/HD
  • EVK4 - HD

This document describes how to compile and install the OpenEB codebase. For further information, refer to our online documentation where you will find some tutorials to get you started in C++ or Python, some samples to discover how to use our API and a more detailed description of our modules and packaging.

Compiling on Linux

Compilation and execution were tested on platforms that meet the following requirements:

  • Linux: Ubuntu 20.04 or 22.04 64-bit
  • Architecture: amd64 (a.k.a. x64)
  • Graphic card with support of OpenGL 3.0 minimum
  • CPU with support of AVX2

Compilation on other platforms (alternate Linux distributions, different versions of Ubuntu, ARM processor architecture etc.) was not tested. For those platforms some adjustments to this guide or to the code itself may be required.

Upgrading OpenEB

If you are upgrading OpenEB from a previous version, you should first read carefully the Release Notes as some changes may impact your usage of our SDK (e.g. API updates) and cameras (e.g. firmware update might be necessary).

Then, you need to clean your system from previously installed Prophesee software. If after a previous compilation, you chose to deploy the Metavision files in your system path, then go to the build folder in the source code directory and launch the following command to remove those files:

sudo make uninstall

In addition, make a global check in your system paths (/usr/lib, /usr/local/lib, /usr/include, /usr/local/include) and in your environment variables (PATH, PYTHONPATH and LD_LIBRARY_PATH) to remove occurrences of Prophesee or Metavision files.

Prerequisites

Install the following dependencies:

sudo apt update
sudo apt -y install apt-utils build-essential software-properties-common wget unzip curl git cmake
sudo apt -y install libopencv-dev libboost-all-dev libusb-1.0-0-dev libprotobuf-dev protobuf-compiler
sudo apt -y install libhdf5-dev hdf5-tools libglew-dev libglfw3-dev libcanberra-gtk-module ffmpeg 

Optionally, if you want to run the tests, you need to install Google Gtest and Gmock packages. For more details, see Google Test User Guide:

sudo apt -y install libgtest-dev libgmock-dev

For the Python API, you will need Python and some additional libraries. If Python is not available on your system, install it We support Python 3.8 and 3.9 on Ubuntu 20.04 and Python 3.9 and 3.10 on Ubuntu 22.04. If you want to use other versions of Python, some source code modifications will be necessary

Then install pip and some Python libraries:

sudo apt -y install python3-pip python3-distutils
sudo apt -y install python3.X-dev  # where X is 8, 9 or 10 depending on your Python version (3.8, 3.9 or 3.10)
python3 -m pip install pip --upgrade
python3 -m pip install "opencv-python==4.5.5.64" "sk-video==1.1.10" "fire==0.4.0" "numpy==1.23.4" "h5py==3.7.0" pandas scipy
python3 -m pip install jupyter jupyterlab matplotlib "ipywidgets==7.6.5" pytest command_runner

The Python bindings of the C++ API rely on the pybind11 library, specifically version 2.6.0.

Note that pybind11 is required only if you want to use the Python bindings of the C++ API . You can opt out of creating these bindings by passing the argument -DCOMPILE_PYTHON3_BINDINGS=OFF at step 3 during compilation (see below). In that case, you will not need to install pybind11, but you won't be able to use our Python interface to the C++ API.

Unfortunately, there is no pre-compiled version of pybind11 available, so you need to install it manually:

wget https://github.com/pybind/pybind11/archive/v2.6.0.zip
unzip v2.6.0.zip
cd pybind11-2.6.0/
mkdir build && cd build
cmake .. -DPYBIND11_TEST=OFF
cmake --build .
sudo cmake --build . --target install

To use Machine Learning features, you need to install some additional dependencies.

First, if you have some Nvidia hardware with GPUs, you can optionally install CUDA (11.6 or 11.7) and cuDNN to leverage them with pytorch and libtorch.

Make sure that you install a version of CUDA that is compatible with your GPUs by checking Nvidia compatibility page.

Note that, at the moment, we don't support OpenCL and AMD GPUs.

Then, you need to install PyTorch 1.13.1. Retrieve and execute the pip command of version 1.13.1 from the previous versions install guide section.

Then install some extra Python libraries:

python3 -m pip install "numba==0.56.3" "profilehooks==1.12.0" "pytorch_lightning==1.8.6" "tqdm==4.63.0" "kornia==0.6.8"

Compilation

  1. Retrieve the code: git clone https://github.com/prophesee-ai/openeb.git --branch 4.5.2. (If you choose to download an archive of OpenEB from GitHub rather than cloning the repository, you need to ensure that you select a Full.Source.Code.* archive instead of using the automatically generated Source.Code.* archives. This is because the latter do not include a necessary submodule.)
  2. Create and open the build directory in the openeb folder (absolute path to this directory is called OPENEB_SRC_DIR in next sections): cd openeb; mkdir build && cd build
  3. Generate the makefiles using CMake: cmake .. -DBUILD_TESTING=OFF. If you want to specify to cmake which version of Python to consider, you should use the option -DPython3_EXECUTABLE=<path_to_python_to_use>. This is useful, for example, when you have a more recent version of Python than the ones we support installed on your system. In that case, cmake would select it and compilation might fail.
  4. Compile: cmake --build . --config Release -- -j 4

Once the compilation is finished, you have two options: you can choose to work directly from the build folder or you can deploy the OpenEB files in the system path (/usr/local/lib, /usr/local/include...).

  • Option 1 - working from build folder

    • To use OpenEB directly from the build folder, you need to update some environment variables using this script (which you may add to your ~/.bashrc to make it permanent):

      source utils/scripts/setup_env.sh
    • Prophesee camera plugins are included in OpenEB, but you still need to copy the udev rules files in the system path and reload them so that your camera is detected with this command:

      sudo cp <OPENEB_SRC_DIR>/hal_psee_plugins/resources/rules/*.rules /etc/udev/rules.d
      sudo udevadm control --reload-rules
      sudo udevadm trigger
  • Option 2 - deploying in the system path

    • To deploy OpenEB, launch the following command:

      sudo cmake --build . --target install

      Note that you can also deploy the OpenEB files (applications, samples, libraries etc.) in a directory of your choice by using the CMAKE_INSTALL_PREFIX variable (-DCMAKE_INSTALL_PREFIX=<OPENEB_INSTALL_DIR>) when generating the makefiles in step 3. Similarly, you can configure the directory where the Python packages will be deployed using the PYTHON3_SITE_PACKAGES variable (-DPYTHON3_SITE_PACKAGES=<PYTHON3_PACKAGES_INSTALL_DIR>).

    • you also need to update LD_LIBRARY_PATH and HDF5_PLUGIN_PATH (which you may add to your ~/.bashrc to make it permanent):

      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
      export HDF5_PLUGIN_PATH=$HDF5_PLUGIN_PATH:/usr/local/lib/hdf5/plugin

Note that if you are using a third-party camera, you need to install the plugin provided by the camera vendor and specify the location of the plugin using the MV_HAL_PLUGIN_PATH environment variable.

To get started with OpenEB, you can download some sample recordings and visualize them with metavision_viewer or you can stream data from your Prophesee-compatible event-based camera.

Running the test suite (Optional)

Running the test suite is a sure-fire way to ensure you did everything well with your compilation and installation process.

  • Download the files necessary to run the tests. Click Download on the top right folder. Beware of the size of the obtained archive which weighs around 1.2 Gb.

  • Extract and put the content of this archive to <OPENEB_SRC_DIR>/datasets. For instance, the correct path of sequence gen31_timer.raw should be <OPENEB_SRC_DIR>/datasets/openeb/gen31_timer.raw.

  • Regenerate the makefiles with the test options enabled:

cd <OPENEB_SRC_DIR>/build
cmake .. -DBUILD_TESTING=ON
  • Compile again. cmake --build . --config Release -- -j 4

  • Finally, run the test suite: ctest --verbose

Compiling on Windows

Currently, we support only Windows 10. Compilation on other versions of Windows was not tested. For those platforms some adjustments to this guide or to the code itself may be required.

Upgrading OpenEB

If you are upgrading OpenEB from a previous version, you should first read carefully the Release Notes as some changes may impact your usage of our SDK (e.g. API updates) and cameras (e.g. firmware update might be necessary).

Then, if you have previously installed any Prophesee's software, you will need to uninstall it first. Remove the folders where you installed Metavision artifacts (check both the build folder of the source code and C:\Program Files\Prophesee which is the default install path of the deployment step).

Prerequisites

Some steps of this procedure don't work on FAT32 and exFAT file system. Hence, make sure that you are using a NTFS file system before going further.

You must enable the support for long paths:

  • Hit the Windows key, type gpedit.msc and press Enter
  • Navigate to Local Computer Policy > Computer Configuration > Administrative Templates > System > Filesystem
  • Double-click the "Enable Win32 long paths" option, select the "Enabled" option and click "OK"

To compile OpenEB, you will need to install some extra tools:

  • install git
  • install CMake 3.21
  • install Microsoft C++ compiler (64-bit). You can choose one of the following solutions:
  • install vcpkg that will be used for installing dependencies:
  • install the libraries by running vcpkg.exe install --triplet x64-windows libusb boost opencv dirent gtest glew glfw3 hdf5[cpp,threadsafe,tools,zlib]
  • Finally, download and install ffmpeg and add the bin directory to your PATH.

Note that if you are using vcpkg for various projects or multiple versions of OpenEB, you might want to optimize the number of vcpkg install you manage. To do so, you will need the versions of the libraries we require. Those can be found in the vcpkg repository but we list them here for convenience:

  • libusb: 1.0.26
  • boost: 1.83.0
  • opencv: 4.8.0
  • dirent: 1.24.0
  • gtest: 1.14.0
  • glew: 2.2.0
  • glfw3: 3.3.8
  • hdf5: 1.14.2

Installing Python and libraries

  • Download "Windows x86-64 executable installer" for one of these Python versions:
  • Add Python install and script directories in your PATH and make sure they are listed before the WindowsApps folder which contains a Python alias launching the Microsoft Store. So, if you installed Python 3.8 in the default path, your user PATH should contain those three lines in that order:
%USERPROFILE%\AppData\Local\Programs\Python\Python38
%USERPROFILE%\AppData\Local\Programs\Python\Python38\Scripts
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps

Then install pip and some Python libraries:

python -m pip install pip --upgrade
python -m pip install "opencv-python==4.5.5.64" "sk-video==1.1.10" "fire==0.4.0" "numpy==1.23.4" "h5py==3.7.0" pandas scipy
python -m pip install jupyter jupyterlab matplotlib "ipywidgets==7.6.5" pytest command_runner

Install pybind

The Python bindings of the C++ API rely on the pybind11 library. You should install pybind using vcpkg in order to get the appropriate version: vcpkg.exe install --triplet x64-windows pybind11

Note that pybind11 is required only if you plan to use the Python bindings of the C++ API. You can opt out of creating these bindings by passing the argument -DCOMPILE_PYTHON3_BINDINGS=OFF at step 2 during compilation (see section "Compilation using CMake"). In that case, you will not need to install pybind11, but you won't be able to use our Python interface to the C++ API.

Prerequisites for the ML module

To use Machine Learning features, you need to install some additional dependencies.

First, if you have some Nvidia hardware with GPUs, you can optionally install CUDA (11.6 or 11.7) and cuDNN to leverage them with pytorch and libtorch.

Then, you need to install PyTorch 1.13.1. Retrieve and execute the pip command of version 1.13.1 from the previous versions install guide section.

Then install some extra Python libraries:

python -m pip install "numba==0.56.3" "profilehooks==1.12.0" "pytorch_lightning==1.8.6" "tqdm==4.63.0" "kornia==0.6.8"

Compilation

First, retrieve the codebase:

git clone https://github.com/prophesee-ai/openeb.git --branch 4.5.2

Note that if you choose to download an archive of OpenEB from GitHub rather than cloning the repository, you need to ensure that you select a Full.Source.Code.* archive instead of using the automatically generated Source.Code.* archives. This is because the latter do not include a necessary submodule.

Compilation using CMake

Open a command prompt inside the openeb folder (absolute path to this directory is called OPENEB_SRC_DIR in next sections) and do as follows:

  1. Create and open the build directory, where temporary files will be created: mkdir build && cd build
  2. Generate the makefiles using CMake: cmake .. -A x64 -DCMAKE_TOOLCHAIN_FILE=<OPENEB_SRC_DIR>\cmake\toolchains\vcpkg.cmake -DVCPKG_DIRECTORY=<VCPKG_SRC_DIR>. Note that the value passed to the parameter -DCMAKE_TOOLCHAIN_FILE must be an absolute path, not a relative one.
  3. Compile: cmake --build . --config Release --parallel 4

Once the compilation is done, you have two options: you can choose to work directly from the build folder or you can deploy the OpenEB files (applications, samples, libraries etc.) in a directory of your choice.

  • Option 1 - working from build folder

    • To use OpenEB directly from the build folder, you need to update some environment variables using this script:

      utils\scripts\setup_env.bat
  • Option 2 - deploying in a directory of your choice

    • To deploy SDK Pro in the default folder (C:\Program Files\Prophesee), execute this command (your console should be launched as an administrator):

      cmake --build . --config Release --target install
    • To deploy OpenEB in another folder, you should generate the solution again (step 2 above) with the additional variable CMAKE_INSTALL_PREFIX having the value of your target folder (OPENEB_INSTALL_DIR).

      Similarly, to specify where the Python packages will be deployed (PYTHON3_PACKAGES_INSTALL_DIR), you should use the PYTHON3_SITE_PACKAGES variable.

      Here is an example of a command customizing those two folders:

      cmake .. -A x64 -DCMAKE_TOOLCHAIN_FILE=<OPENEB_SRC_DIR>\cmake\toolchains\vcpkg.cmake -DVCPKG_DIRECTORY=<VCPKG_SRC_DIR> -DCMAKE_INSTALL_PREFIX=<OPENEB_INSTALL_DIR> -DPYTHON3_SITE_PACKAGES=<PYTHON3_PACKAGES_INSTALL_DIR> -DBUILD_TESTING=OFF

      After this command, you should launch the actual compilation and installation of OpenEB (your console should be launched as an administrator):

      cmake --build . --config Release --parallel 4
      cmake --build . --config Release --target install
    • You also need to manually edit some environment variables:

      • append <OPENEB_INSTALL_DIR>\bin to PATH (C:\Program Files\Prophesee\bin if you used default configuration)
      • append <OPENEB_INSTALL_DIR>\lib\metavision\hal\plugins to MV_HAL_PLUGIN_PATH (C:\Program Files\Prophesee\lib\metavision\hal\plugins if you used default configuration)
      • append <OPENEB_INSTALL_DIR>\lib\hdf5\plugin to HDF5_PLUGIN_PATH (C:\Program Files\Prophesee\lib\hdf5\plugin if you used default configuration)
      • append <PYTHON3_PACKAGES_INSTALL_DIR> to PYTHONPATH (not needed if you used default configuration)

Compilation using MS Visual Studio

Open a command prompt inside the openeb folder (absolute path to this directory is called OPENEB_SRC_DIR in next sections) and do as follows:

  1. Create and open the build directory, where temporary files will be created: mkdir build && cd build
  2. Generate the Visual Studio files using CMake: cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_TOOLCHAIN_FILE=<OPENEB_SRC_DIR>\cmake\toolchains\vcpkg.cmake -DVCPKG_DIRECTORY=<VCPKG_SRC_DIR> (adapt to your Visual Studio version). Note that the value passed to the parameter -DCMAKE_TOOLCHAIN_FILE must be an absolute path, not a relative one.
  3. Open the solution file metavision.sln, select the Release configuration and build the ALL_BUILD project.

Once the compilation is done, you can choose to work directly from the build folder or you can deploy the OpenEB files (applications, samples, libraries etc.) in a directory of your choice.

  • Option 1 - working from the build folder

    • To use OpenEB directly from the build folder, you need to update the environment variables as done in the script utils\scripts\setup_env.bat
  • Option 2 - deploying OpenEB

    • To deploy OpenEB, you need to build the INSTALL project. By default, files will be deployed in C:\Program Files\Prophesee

Camera Plugins

Prophesee camera plugins are included in OpenEB, but you need to install the drivers for the cameras to be available on Windows. To do so, follow this procedure:

  1. download wdi-simple.exe from our file server
  2. execute the following commands in a Command Prompt launched as an administrator:
wdi-simple.exe -n "EVK" -m "Prophesee" -v 0x04b4 -p 0x00f4
wdi-simple.exe -n "EVK" -m "Prophesee" -v 0x04b4 -p 0x00f5
wdi-simple.exe -n "EVK" -m "Prophesee" -v 0x04b4 -p 0x00f3

If you own an EVK2 or an RDK2, there are a few additional steps to complete that are detailed in our online documentation in the Camera Plugin section of the OpenEB install guide.

If you are using a third-party camera, you need to follow the instructions provided by the camera vendor to install the driver and the camera plugin. Make sure that you reference the location of the plugin in the MV_HAL_PLUGIN_PATH environment variable.

Getting Started

To get started with OpenEB, you can download some sample recordings and visualize them with metavision_viewer or you can stream data from your Prophesee-compatible event-based camera.

Running the test suite (Optional)

Running the test suite is a sure-fire way to ensure you did everything well with your compilation and installation process.

  • Download the files necessary to run the tests. Click Download on the top right folder. Beware of the size of the obtained archive which weighs around 1.2 Gb.

  • Extract and put the content of this archive to <OPENEB_SRC_DIR>/datasets. For instance, the correct path of sequence gen31_timer.raw should be <OPENEB_SRC_DIR>/datasets/openeb/gen31_timer.raw.

  • To run the test suite you need to reconfigure your build environment using CMake and to recompile

    • Compilation using CMake
    1. Regenerate the build using CMake (note that -DCMAKE_TOOLCHAIN_FILE must be absolute path, not a relative one)::

      cd <OPENEB_SRC_DIR>/build
      cmake .. -A x64 -DCMAKE_TOOLCHAIN_FILE=<OPENEB_SRC_DIR>\cmake\toolchains\vcpkg.cmake -DVCPKG_DIRECTORY=<VCPKG_SRC_DIR> -DBUILD_TESTING=ON
      
    2. Compile: cmake --build . --config Release --parallel 4

    • Compilation using MS Visual Studio
    1. Generate the Visual Studio files using CMake (adapt the command to your Visual Studio version and note that -DCMAKE_TOOLCHAIN_FILE must be absolute path, not a relative one):

      cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_TOOLCHAIN_FILE=<OPENEB_SRC_DIR>\cmake\toolchains\vcpkg.cmake -DVCPKG_DIRECTORY=<VCPKG_SRC_DIR> -DBUILD_TESTING=ON

    2. Open the solution file metavision.sln, select the Release configuration and build the ALL_BUILD project.

  • Running the test suite is then simply ctest -C Release

openeb's People

Contributors

awayb avatar cbernard-psee avatar homalozoa avatar jjjkkkjjj-mizuno avatar jthierry-psee avatar laurentbristiel avatar lbristiel-psee avatar mandulaj avatar nbourdis-psee avatar nmartin-psee avatar nonifier avatar ogeorget-psee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openeb's Issues

Missing includes

hal/cpp/include/metavision/hal/facilities/i_decoder.h is mising #include <cstdint>

sdk/modules/base/cpp/include/metavision/sdk/base/utils/object_pool.h is missing #include <stdexcept>

to compile with gcc (GCC) 13.1.1 20230429

Suggestions on Visual odometry on a Drone

Hello,

Our project is based on EVK on a drone for visual odometry. What would be the expected event/second to look for. Our highest priority is to keep the low latency as low as possible. Any suggestions, for a starting point to keep low latency and Realtime on optimal level would be appreciated.

Best,

Giray

OpenEB not providing the right plugin for SilkyEVCam?

I installed OpenEB (compiled from source) but removed the CenturyArks plugin because the HAL plugins now come with OpenEB. Alas the camera(s) are not detected without the CenturyArks plugins.

####  SYSTEMS AVAILABLE  #### 

No systems USB connected have been found on your platform. 

Using strace I can see metavision_player finding the plugins:

[pid 988949] openat(AT_FDCWD, "/usr/local/lib/metavision/hal/plugins/libhal_plugin_gen31_fx3.so", O_RDONLY|O_CLOEXEC) = 10
[pid 988949] openat(AT_FDCWD, "/usr/local/lib/metavision/hal/plugins/libhal_plugin_imx636_evk2.so", O_RDONLY|O_CLOEXEC) = 10
[pid 988949] openat(AT_FDCWD, "/usr/local/lib/metavision/hal/plugins/libhal_plugin_gen41_evk2.so", O_RDONLY|O_CLOEXEC) = 13
[pid 988949] openat(AT_FDCWD, "/usr/local/lib/metavision/hal/plugins/libhal_plugin_gen3_fx3.so", O_RDONLY|O_CLOEXEC) = 16
[pid 988949] openat(AT_FDCWD, "/usr/local/lib/metavision/hal/plugins/libhal_plugin_imx636_evk4.so", O_RDONLY|O_CLOEXEC) = 16
[pid 988949] openat(AT_FDCWD, "/usr/local/lib/metavision/hal/plugins/libhal_plugin_gen41_evk3.so", O_RDONLY|O_CLOEXEC) = 19
[pid 988949] openat(AT_FDCWD, "/usr/local/lib/metavision/hal/plugins/libhal_plugin_gen31_evk3.so", O_RDONLY|O_CLOEXEC) = 22
[pid 988949] openat(AT_FDCWD, "/usr/local/lib/metavision/hal/plugins/libhal_plugin_imx636_evk3.so", O_RDONLY|O_CLOEXEC) = 25
[pid 988949] openat(AT_FDCWD, "/usr/local/lib/metavision/hal/plugins/libhal_plugin_gen31_evk2.so", O_RDONLY|O_CLOEXEC) = 28

But the CenturyArks plugin does not seem to be there.

Here's the platform info with the CenturyArks plugin installed:

------------------------------------------ 
PLATFORM INFORMATION 
------------------------------------------ 


####  DISTRIBUTION  #### 

Linux manifold 5.15.0-41-generic #44~20.04.1-Ubuntu SMP Fri Jun 24 13:27:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux 

####  OPENGL  #### 

OpenGL vendor string: AMD 
OpenGL renderer string: AMD RENOIR (DRM 3.42.0, 5.15.0-41-generic, LLVM 12.0.0) 
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.2.6 
OpenGL core profile shading language version string: 4.60 
OpenGL core profile context flags: (none) 
OpenGL core profile profile mask: core profile 
OpenGL core profile extensions: 
OpenGL version string: 4.6 (Compatibility Profile) Mesa 21.2.6 
OpenGL shading language version string: 4.60 
OpenGL context flags: (none) 
OpenGL profile mask: compatibility profile 
OpenGL extensions: 
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.2.6 
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 
OpenGL ES profile extensions: 

####  VIRTUAL MACHINE  #### 

Virtual Machine:              NO
Docker:                       NO

------------------------------------------ 
METAVISION SOFTWARE INFORMATION 
------------------------------------------ 


####  INSTALLED SOFTWARE  #### 

Version:                      3.0.2
Id:                           f3107c5b0cfacb2ab97aa78ebefcdc3b4992c7c0

####  INSTALLED PACKAGES - METAVISION  #### 

Failed to retrieve installed Metavision packages list 

------------------------------------------ 
METAVISION SYSTEMS INFORMATION 
------------------------------------------ 


####  SYSTEMS AVAILABLE  #### 

# FOUND CenturyArks GEN 3.1 VGA # 

Connection                    USB
FW Build Date                 Fri Oct 29 01:37:34 2021
FW Release Version            2.2.0
FW Speed                      5000
Integrator                    CenturyArks
Raw Formats                   EVT3
Sensor Info                   3.1
Serial                        00000293
System Version                4.2.0
SystemID                      40

DEFAULT BIASES 
bias_diff                     299
bias_diff_off                 221
bias_diff_on                  384
bias_fo                       1477
bias_hpf                      1448
bias_pr                       1250
bias_refr                     1500


####  SYSTEM'S USB PORTS  #### 

No systems USB connected have been found on your platform. 

2.3.1 CI updates

CI updates made for 2.3.0 need to be cherry-picked following 2.3.1 release.

Feature request: Make it easier to integrate as dependency

Hi,

I would appreciate it, if the package would be made easier to integrate from source as a dependency in cmake to be able to link it statically, rather than depending on (preinstalled) shared libraries. This also would make debugging simpler.

When integrating this package as a dependency it is quite difficult to build. E.g. using it with CPMAddPackage (https://github.com/cpm-cmake/CPM.cmake) or conan (through a conanfile.py) is currently almost impossible without modifying the shipped CMakeLists.txt files , because e.g. CMAKE_SOURCE_DIR is defined instead CMAKE_CURRENT_SOURCE_DIR. This screws up the whole compilation.

Thank you in advance!

Questions regarding to support Prophesee cameras in PyAER

Hi, all,

I'm the author of PyAER, which supports iniVation cameras.
I'm starting to look into expanding the support to Prophesee cameras.

Before I spend too much time researching how I could integrate PyAER, I would like to ask some basic questions:

  1. I see the software is mainly tested on Ubuntu, have you tried to build it on Mac? Especially Mac with M-series chips?
  2. Are there packaging plans such as pushing prebuilt libraries into a PPA repository and Homebrew?
  3. I prefer that I don't have to install some of the heavy dependencies such as libopencv, libboost, and some of the visualization libraries. Is there a minimal component that I could build and use? Likely I only need the event readout, configuration, and filtering functions. (Looks like I should build HAL and Core)

Thanks for your support in advance!

Regards,
Yuhuang.

Potential Bug in RawReader seek_event

Hi there,
I think I found a bug in the metavision API:

Environment:

  • Ubuntu 20.04
------------------------------------------ 
PLATFORM INFORMATION 
------------------------------------------ 


####  DISTRIBUTION  #### 

Linux scioi244-34 5.15.0-48-generic #54~20.04.1-Ubuntu SMP Thu Sep 1 16:17:26 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux 

####  VIRTUAL MACHINE  #### 

Virtual Machine:              NO
Docker:                       NO

------------------------------------------ 
METAVISION SOFTWARE INFORMATION 
------------------------------------------ 


####  INSTALLED SOFTWARE  #### 

Version:                      3.0.2
Id:                           f3107c5b0cfacb2ab97aa78ebefcdc3b4992c7c0

####  INSTALLED PACKAGES - METAVISION  #### 

Failed to retrieve installed Metavision packages list 

------------------------------------------ 
METAVISION SYSTEMS INFORMATION 
------------------------------------------ 


####  SYSTEMS AVAILABLE  #### 

No systems USB connected have been found on your platform. 

Bug

We found an inconsistency when using RawReader and the seek_event method. Here is a minimal example. This first example works fine:

import numpy as np
from metavision_core.event_io import EventsIterator, RawReader

raw_path = "/tmp/spinner.raw"
iterator = EventsIterator(raw_path, mode="delta_t")
reader = RawReader(raw_path)

for i, events_gt in enumerate(iterator):
    n_events = len(events_gt)
    events = reader.load_n_events(n_events)

    print(f"batch: {i}\niterator: {events_gt[:3]}\nraw_reader: {events[:3]}\n")

    events_gt = np.stack([events_gt["y"], events_gt["x"], events_gt["t"], events_gt["p"]]).T
    events = np.stack([events["y"], events["x"], events["t"], events["p"]]).T
    assert np.allclose(events_gt, events)

producing the output:

batch: 0
iterator: [(237, 121, 1, 0) (246, 121, 1, 0) (248, 132, 1, 0)]
raw_reader: [(237, 121, 1, 0) (246, 121, 1, 0) (248, 132, 1, 0)]

batch: 1
iterator: [(377, 98, 1, 10000) (359, 98, 1, 10000) (349, 97, 1, 10000)]
raw_reader: [(377, 98, 1, 10000) (359, 98, 1, 10000) (349, 97, 1, 10000)]

batch: 3
iterator: [(332, 309, 1, 30000) (357, 310, 1, 30000) (358, 310, 1, 30000)]
raw_reader: [(332, 309, 1, 30000) (357, 310, 1, 30000) (358, 310, 1, 30000)]

batch: 4
iterator: [(249, 287, 1, 40000) (204, 237, 0, 40000) (219, 237, 0, 40000)]
raw_reader: [(249, 287, 1, 40000) (204, 237, 0, 40000) (219, 237, 0, 40000)]

...

However, this snippet produces two bugs:

import numpy as np
from metavision_core.event_io import EventsIterator, RawReader

raw_path = "/tmp/spinner.raw"
iterator = EventsIterator(raw_path, mode="delta_t")
reader = RawReader(raw_path)
cnt = 0

for i, events_gt in enumerate(iterator):
    n_events = len(events_gt)

    reader.reset()
    reader.seek_event(cnt)

    events = reader.load_n_events(n_events)
    cnt += n_events

    print(f"batch: {i}\niterator: {events_gt[:3]}\nraw_reader: {events[:3]}\n")

    events_gt = np.stack([events_gt["y"], events_gt["x"], events_gt["t"], events_gt["p"]]).T
    events = np.stack([events["y"], events["x"], events["t"], events["p"]]).T

    if i:
        assert np.allclose(events_gt, events)

the output is:

batch: 0
iterator: [(237, 121, 1, 0) (246, 121, 1, 0) (248, 132, 1, 0)]
raw_reader: [(  0,   0, 0, 0) (237, 121, 1, 0) (246, 121, 1, 0)]

batch: 1
iterator: [(377, 98, 1, 10000) (359, 98, 1, 10000) (349, 97, 1, 10000)]
raw_reader: [(377, 98, 1, 10000) (359, 98, 1, 10000) (349, 97, 1, 10000)]

batch: 2
iterator: [(432, 228, 1, 20000) (426, 230, 1, 20000) (432, 231, 1, 20000)]
raw_reader: [(432, 228, 1, 20000) (426, 230, 1, 20000) (432, 231, 1, 20000)]

batch: 3
iterator: [(332, 309, 1, 30000) (357, 310, 1, 30000) (358, 310, 1, 30000)]
raw_reader: [(332, 309, 1, 30000) (357, 310, 1, 30000) (358, 310, 1, 30000)]

batch: 4
iterator: [(249, 287, 1, 40000) (204, 237, 0, 40000) (219, 237, 0, 40000)]
raw_reader: [(249, 287, 1, 40000) (204, 237, 0, 40000) (219, 237, 0, 40000)]

batch: 5
iterator: [(210, 142, 1, 50000) (220, 142, 1, 50000) (227, 142, 1, 50000)]
raw_reader: [(210, 142, 1, 50000) (220, 142, 1, 50000) (227, 142, 1, 50000)]

batch: 6
iterator: [(342, 110, 1, 60000) (376, 110, 0, 60000) (343, 111, 1, 60000)]
raw_reader: [(342, 110, 1, 60000) (376, 110, 0, 60000) (343, 111, 1, 60000)]

batch: 7
iterator: [(417, 187, 1, 70000) (423, 187, 1, 70000) (420, 186, 1, 70000)]
raw_reader: [(417, 187, 1, 70000) (423, 187, 1, 70000) (420, 186, 1, 70000)]

batch: 8
iterator: [(358, 293, 1, 80000) (361, 292, 1, 80000) (352, 292, 1, 80000)]
raw_reader: [(358, 293, 1, 80000) (361, 292, 1, 80000) (352, 292, 1, 80000)]

batch: 9
iterator: [(210, 256, 0, 90000) (240, 278, 1, 90000) (246, 278, 1, 90000)]
raw_reader: [(210, 256, 0, 90000) (240, 278, 1, 90000) (246, 278, 1, 90000)]

batch: 10
iterator: [(207, 141, 1, 100000) (239, 140, 0, 100000) (224, 160, 1, 100000)]
raw_reader: [(207, 141, 1, 100000) (239, 140, 0, 100000) (224, 160, 1, 100000)]

batch: 11
iterator: [(331, 98, 1, 110000) (322, 98, 1, 110000) (359, 98, 0, 110000)]
raw_reader: [(331, 98, 1, 110000) (322, 98, 1, 110000) (359, 98, 0, 110000)]

batch: 12
iterator: [(430, 184, 1, 120000) (429, 184, 1, 120000) (410, 188, 1, 120000)]
raw_reader: [(430, 184, 1, 120000) (429, 184, 1, 120000) (410, 188, 1, 120000)]

batch: 13
iterator: [(376, 300, 1, 130000) (376, 302, 1, 130000) (343, 302, 0, 130000)]
raw_reader: [(376, 300, 1, 130000) (376, 302, 1, 130000) (343, 302, 0, 130000)]

batch: 14
iterator: [(222, 271, 0, 140000) (224, 269, 0, 140000) (232, 268, 0, 140000)]
raw_reader: [(222, 271, 0, 140000) (224, 269, 0, 140000) (232, 268, 0, 140000)]

batch: 15
iterator: [(228, 146, 0, 150000) (223, 134, 0, 150000) (234, 141, 0, 150000)]
raw_reader: [(209, 169, 0, 250027) (213, 169, 0, 250027) (215, 169, 0, 250027)]

Traceback (most recent call last):
  File "minimal-error.py", line 24, in <module>
    assert np.allclose(events_gt, events)
AssertionError

The first problem is the (0, 0, 0, 0) event inserted in the first batch. The second problem is a jump in the event data in batch 15.

Failure to build install on Ubuntu

I'm trying to build and install openeb for use as a third-party library. Running sudo cmake --build . --target install generates the following error:

CMake Error at sdk/modules/core/python/pypkg/cmake_install.cmake:50 (file):
  file INSTALL given no DESTINATION
Call Stack (most recent call first):
  sdk/modules/core/python/cmake_install.cmake:49 (include)
  sdk/modules/core/cmake_install.cmake:48 (include)
  sdk/modules/cmake_install.cmake:48 (include)
  sdk/cmake_install.cmake:59 (include)
  cmake_install.cmake:78 (include)

I'm on a standard Ubuntu 21.04 machine. I followed the prerequisite installations, so all dependencies should be up to date. I can reproduce the same behaviour with cmake 3.18.4 and 3.22.0-rc1.

Thanks for your time!

imu support missing

I noticed that support for IMU reading has been deprecated. What's the new way then to read the IMU?
Thanks!

Feature Request: Writing EVT3 (& EVT2) RAW format

When processing recorded event videos, it is often useful to write the processed events into a file. Naturally, there is a plethora of formats available, ranging from CSV, HDF5, Numpy, etc... to custom solutions.

Nevertheless, most of these formats have significant shortcomings:

  • They lack the ability to store additional information (such as external trigger events)
  • The storage density is low resulting in huge files
  • Parsing these formats is slow resulting in lengthy reading/writing
  • Non-standard, leading to many tools not supporting the reading/writing

Despite being a proprietary Raw format and coming with its own shortcomings, the EVT3 seems to cover a lot of the points above, including being tightly compatible with the Metavision SDK tools (in terms of reading at least)

However, there doesn't seem to be any way of taking a processed event stream and writing it back into an EVT3 format.

It would be nice to provide this functionality, similar to the the H5EventsWriter or DatWriter as a Evt3Writer API.

Incorrect Timestamp decoding in RAW files

Environment

Expected Behaviour

Using the standalone metavision_evt3_raw_file_decoder reading the laser.raw file should give back the following first events:

x, y , p, t
656,479,0,6437104
677,479,0,6437104
679,479,0,6437104
816,479,0,6437104
885,479,0,6437104
477,479,1,6437104
386,476,0,6437104
878,476,0,6437104
665,476,1,6437104

Current Behaviour

Using metavision_core.event_io.EventsIterator the first events are:

(656, 479, 0, 6384)
(677, 479, 0, 6384)
(679, 479, 0, 6384)
(816, 479, 0, 6384)
(885, 479, 0, 6384)
(477, 479, 1, 6384)
(386, 476, 0, 6384)
(878, 476, 0, 6384)
(665, 476, 1, 6384)
(350, 471, 0, 6384)
(352, 471, 0, 6384)
(355, 471, 0, 6384)
(384, 471, 0, 6384)

As a sidenote, using metavision_file_info -i laser.raw , metavision_viewer -i laser.raw etc results in SegFault:

[1]    2902066 segmentation fault (core dumped)  metavision_viewer -i laser.raw

Steps to reproduce

  1. Download the official laser.raw
  2. Convert it to CSV using the metavision_evt3_raw_file_decoder and view first events:
metavision_evt3_raw_file_decoder laser.raw laser.csv
head laser.csv
  1. Read the RAW using python:
from metavision_core.event_io import EventsIterator
for ev in EventsIterator("laser.raw"):
    print(ev[:10])
    break
  1. Pixel coordinates and Polarities match, but ts don't!

Detailed description

The EVT3 packets are skipped until reaching the first EVT_TIME_HIGH. Looking at the RAW EVT3 packets:

  1. EVT_TIME_HIGH - 0x8623 -> 0x623 => (0x623 << 12) = 6434816
  2. EVT_TIME_LOW - 0x68f0 -> 0x8f0 = 2288
  3. TS = (0x623 << 12) | 0x8f0 = 6437104

Which agrees with the result from metavision_evt3_raw_file_decoder.

The timestamp reported by EventsIterator is however 6384! This seems to be 4096 + EVT_TIME_LOW = 4096 + 2288 = 6384.
The subsequent relative timestamps are correct, so the EVT_TIME_HIGH is taken into account correctly, It is just subtracted from the initial timestamp and replaced by 4096.

This behavior is not documented anywhere as far as I am aware.

I can imagine that this is done to keep the first timestamps relatively small, however, if this is indeed intended behavior, it should be documented. Otherwise, different tools will report differing timestamps.

Couldn't import `metavision_sdk_cv`

I couldn't import metavision_sdk_cv on Ubuntu22.04 with conda python=3.8.
I know my ubuntu version is not officially supported.
But i'd like to use openeb on ubuntu22.04 as possible as i can.
Do you have any advice?

>>> import metavision_sdk_core # OK!!
>>> import metavision_sdk_cv
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'metavision_sdk_cv'

Here is cmake generation output.

$ cmake .. -DBUILD_TESTING=OFF -DPython3_EXECUTABLE=/home/user/miniconda3/envs/evs/bin/python -DPYTHON3_DEFAULT_VERSION=3.8

-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building METAVISION_SDK_MODULES_OPEN modules : base;core;driver;core_ml;ui
-- Building METAVISION_SDK_MODULES_ADVANCED modules : analytics;calibration;cv;ml;3dview;cv3d
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") 
-- Checking for module 'libusb-1.0'
--   Found libusb-1.0, version 1.0.25
-- Found LibUSB: /usr/include/libusb-1.0  
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found version "1.74.0") found components: program_options filesystem timer chrono thread 
-- Found Python3: /home/user/miniconda3/envs/evs/bin/python (found version "3.8.13") found components: Interpreter Development Development.Module Development.Embed 
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- Found pybind11: /usr/local/include (found version "2.6.0" )
-- Found OpenCV: /usr (found version "4.5.4") found components: core highgui imgproc videoio imgcodecs calib3d objdetect 
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found version "1.74.0") found components: filesystem system 
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Generating internal bias files.
--  - vdac18_8m1.calib
--  - gen3_idac.calib
--  - gen3_idac_n_thick.calib
--  - gen3_idac_n_thin.calib
--  - gen3_idac_p_thick.calib
--  - gen3_idac_p_thin.calib
--  - gen3_idac_railp.calib
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so   
-- Found GLEW: /usr/include (found version "2.2.0") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/Documents/programs/openeb/build

Here is sudo cmake --build . --target install output.

Install the project...
-- Install configuration: "Release"
-- Up-to-date: /usr/local/share/metavision/licensing/LICENSE_OPEN
-- Installing: /usr/local/share/metavision/log/metavision-open-lib/meta-package.log
-- Installing: /usr/local/share/metavision/log/metavision-open-bin/meta-package.log
-- Installing: /usr/local/share/metavision/log/metavision-open-dev/meta-package.log
-- Installing: /usr/local/share/metavision/log/metavision-open-samples/meta-package.log
-- Installing: /usr/local/share/metavision/log/metavision-open-python/meta-package.log
-- Installing: /usr/local/share/metavision/log/metavision-open-python-samples/meta-package.log
-- Installing: /usr/local/share/metavision/log/metavision-open-python3.8/meta-package.log
-- Up-to-date: /usr/local/include
-- Up-to-date: /usr/local/include/metavision
-- Up-to-date: /usr/local/include/metavision/utils
-- Up-to-date: /usr/local/include/metavision/utils/pybind
-- Up-to-date: /usr/local/include/metavision/utils/pybind/py_array_to_cv_mat.h
-- Up-to-date: /usr/local/include/metavision/utils/pybind/deprecation_warning_exception.h
-- Up-to-date: /usr/local/include/metavision/utils/pybind/event_buffer_view.h
-- Up-to-date: /usr/local/include/metavision/utils/pybind/async_algorithm_process_helper.h
-- Up-to-date: /usr/local/include/metavision/utils/pybind/python_numpy_helper.h
-- Up-to-date: /usr/local/include/metavision/utils/pybind/sync_algorithm_process_helper.h
-- Up-to-date: /usr/local/include/metavision/utils/pybind/python_binder_helper.h
-- Up-to-date: /usr/local/include/metavision/utils/pybind/pod_event_buffer.h
-- Up-to-date: /usr/local/include
-- Up-to-date: /usr/local/include/metavision
-- Up-to-date: /usr/local/include/metavision/utils
-- Up-to-date: /usr/local/include/metavision/utils/profiling
-- Up-to-date: /usr/local/include/metavision/utils/profiling/chrome_tracing_scope_completed_event.h
-- Up-to-date: /usr/local/include/metavision/utils/profiling/chrome_tracing_profiler.h
-- Up-to-date: /usr/local/include/metavision/utils/profiling/utils
-- Up-to-date: /usr/local/include/metavision/utils/profiling/utils/chrome_tracing_events.h
-- Up-to-date: /usr/local/include/metavision/utils/profiling/utils/chrome_tracing_constants.h
-- Up-to-date: /usr/local/include/metavision/utils/profiling/utils/chrome_tracing_event_serializer.h
-- Installing: /usr/local/lib/libmetavision_hal.so.3.0.1
-- Up-to-date: /usr/local/lib/libmetavision_hal.so.3
-- Set runtime path of "/usr/local/lib/libmetavision_hal.so.3.0.1" to ""
-- Up-to-date: /usr/local/lib/libmetavision_hal.so
-- Installing: /usr/local/lib/libmetavision_hal_discovery.so.3.0.1
-- Up-to-date: /usr/local/lib/libmetavision_hal_discovery.so.3
-- Set runtime path of "/usr/local/lib/libmetavision_hal_discovery.so.3.0.1" to ""
-- Up-to-date: /usr/local/lib/libmetavision_hal_discovery.so
-- Up-to-date: /usr/local/include/metavision
-- Up-to-date: /usr/local/include/metavision/hal
-- Up-to-date: /usr/local/include/metavision/hal/device
-- Up-to-date: /usr/local/include/metavision/hal/device/device_discovery.h
-- Up-to-date: /usr/local/include/metavision/hal/device/device.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_geometry.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_events_stream.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_device_control.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/future
-- Up-to-date: /usr/local/include/metavision/hal/facilities/future/i_events_stream.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/future/detail
-- Up-to-date: /usr/local/include/metavision/hal/facilities/future/detail/i_decoder_impl.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/future/i_decoder.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_ll_biases.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_hw_identification.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/detail
-- Up-to-date: /usr/local/include/metavision/hal/facilities/detail/facility_wrapper.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/detail/i_event_decoder_impl.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/detail/i_decoder_impl.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_erc.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_facility.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_registrable_facility.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_monitoring.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_noise_filter_module.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_event_rate_noise_filter_module.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_antiflicker_module.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_plugin_software_info.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_hw_register.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_trigger_out.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_decoder.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_hal_software_info.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_event_decoder.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_trigger_in.h
-- Up-to-date: /usr/local/include/metavision/hal/facilities/i_roi.h
-- Up-to-date: /usr/local/include/metavision/hal/plugin
-- Up-to-date: /usr/local/include/metavision/hal/plugin/plugin.h
-- Up-to-date: /usr/local/include/metavision/hal/plugin/detail
-- Up-to-date: /usr/local/include/metavision/hal/plugin/detail/plugin_loader.h
-- Up-to-date: /usr/local/include/metavision/hal/plugin/detail/plugin_impl.h
-- Up-to-date: /usr/local/include/metavision/hal/plugin/plugin_entrypoint.h
-- Up-to-date: /usr/local/include/metavision/hal/utils
-- Up-to-date: /usr/local/include/metavision/hal/utils/hal_exception.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/device_config.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/future
-- Up-to-date: /usr/local/include/metavision/hal/utils/future/file_data_transfer.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/future/raw_file_config.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/future/data_transfer.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/hal_software_info.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/device_builder.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/device_roi.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/detail
-- Up-to-date: /usr/local/include/metavision/hal/utils/detail/hal_log_impl.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/detail/demangle.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/resources_folder.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/file_data_transfer.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/raw_file_config.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/file_discovery.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/raw_file_header.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/camera_discovery.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/data_transfer.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/hal_log.h
-- Up-to-date: /usr/local/include/metavision/hal/utils/hal_error_code.h
-- Installing: /usr/local/include/metavision/hal/metavision_hal_export.h
-- Installing: /usr/local/share/cmake/MetavisionHAL/MetavisionHALTargets.cmake
-- Installing: /usr/local/share/cmake/MetavisionHAL/MetavisionHALTargets-release.cmake
-- Installing: /usr/local/share/cmake/MetavisionHAL/MetavisionHALConfig.cmake
-- Installing: /usr/local/share/cmake/MetavisionHAL/MetavisionHALConfigVersion.cmake
-- Installing: /usr/local/bin/metavision_platform_info
-- Set runtime path of "/usr/local/bin/metavision_platform_info" to ""
-- Up-to-date: /usr/local/share/metavision/hal/apps/metavision_platform_info/metavision_platform_info.cpp
-- Up-to-date: /usr/local/share/metavision/hal/apps/metavision_platform_info/CMakeLists.txt
-- Installing: /usr/local/bin/metavision_raw_cutter
-- Set runtime path of "/usr/local/bin/metavision_raw_cutter" to ""
-- Up-to-date: /usr/local/share/metavision/hal/apps/metavision_raw_cutter/metavision_raw_cutter.cpp
-- Up-to-date: /usr/local/share/metavision/hal/apps/metavision_raw_cutter/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_viewer/metavision_hal_viewer.cpp
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_viewer/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_ls/metavision_hal_ls.cpp
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_ls/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_seek/metavision_hal_seek.cpp
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_seek/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sync/metavision_hal_sync.cpp
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sync/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/include
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/include/sample_events_format.h
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/include/sample_device_control.h
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/include/future
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/include/future/sample_decoder.h
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/include/sample_file_discovery.h
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/include/sample_geometry.h
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/include/sample_data_transfer.h
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/include/sample_decoder.h
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/include/sample_hw_identification.h
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/include/sample_camera_discovery.h
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/src
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/src/sample_data_transfer.cpp
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/src/future
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/src/future/sample_decoder.cpp
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/src/sample_hw_identification.cpp
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/src/sample_geometry.cpp
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/src/sample_device_control.cpp
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/src/sample_plugin.cpp
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/src/sample_file_discovery.cpp
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/src/internal
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/src/internal/sample_data_transfer_pattern_generator.h
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/src/sample_decoder.cpp
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/src/sample_camera_discovery.cpp
-- Up-to-date: /usr/local/share/metavision/hal/samples/metavision_hal_sample_plugin/CMakeLists.txt
-- Installing: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_hal.cpython-38-x86_64-linux-gnu.so
-- Set runtime path of "/home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_hal.cpython-38-x86_64-linux-gnu.so" to ""
-- Installing: /usr/local/lib/metavision/hal/plugins/libhal_plugin_gen3_fx3.so
-- Set runtime path of "/usr/local/lib/metavision/hal/plugins/libhal_plugin_gen3_fx3.so" to ""
-- Installing: /usr/local/lib/metavision/hal/plugins/libhal_plugin_gen31_fx3.so
-- Set runtime path of "/usr/local/lib/metavision/hal/plugins/libhal_plugin_gen31_fx3.so" to ""
-- Installing: /usr/local/lib/metavision/hal/plugins/libhal_plugin_gen31_evk2.so
-- Set runtime path of "/usr/local/lib/metavision/hal/plugins/libhal_plugin_gen31_evk2.so" to ""
-- Installing: /usr/local/lib/metavision/hal/plugins/libhal_plugin_gen31_evk3.so
-- Set runtime path of "/usr/local/lib/metavision/hal/plugins/libhal_plugin_gen31_evk3.so" to ""
-- Installing: /usr/local/lib/metavision/hal/plugins/libhal_plugin_gen41_evk2.so
-- Set runtime path of "/usr/local/lib/metavision/hal/plugins/libhal_plugin_gen41_evk2.so" to ""
-- Installing: /usr/local/lib/metavision/hal/plugins/libhal_plugin_gen41_evk3.so
-- Set runtime path of "/usr/local/lib/metavision/hal/plugins/libhal_plugin_gen41_evk3.so" to ""
-- Installing: /usr/local/lib/metavision/hal/plugins/libhal_plugin_imx636_evk2.so
-- Set runtime path of "/usr/local/lib/metavision/hal/plugins/libhal_plugin_imx636_evk2.so" to ""
-- Installing: /usr/local/lib/metavision/hal/plugins/libhal_plugin_imx636_evk3.so
-- Set runtime path of "/usr/local/lib/metavision/hal/plugins/libhal_plugin_imx636_evk3.so" to ""
-- Installing: /usr/local/lib/metavision/hal/plugins/libhal_plugin_imx636_evk4.so
-- Set runtime path of "/usr/local/lib/metavision/hal/plugins/libhal_plugin_imx636_evk4.so" to ""
-- Installing: /usr/local/lib/metavision/hal/plugins/libhal_plugin_golden_fallbacks.so
-- Set runtime path of "/usr/local/lib/metavision/hal/plugins/libhal_plugin_golden_fallbacks.so" to ""
-- Up-to-date: /usr/local/share/metavision/hal/resources/biases
-- Up-to-date: /usr/local/share/metavision/hal/resources/biases/gen31_CD_standard.bias
-- Up-to-date: /usr/local/share/metavision/hal/resources/biases/gen4_CD_standard.bias
-- Up-to-date: /usr/local/share/metavision/hal/resources/biases/gen4_EM_CD_only_standard.bias
-- Up-to-date: /usr/local/share/metavision/hal/resources/biases/gen41_CD_standard.bias
-- Up-to-date: /usr/local/share/metavision/hal/resources/biases/imx636_CD_standard.bias
-- Up-to-date: /usr/local/share/metavision/hal/resources/biases/gen3_CD_standard.bias
-- Up-to-date: /usr/local/share/metavision/hal/resources/rules/88-cyusb.rules
-- Up-to-date: /etc/udev/rules.d/88-cyusb.rules
-- Up-to-date: /usr/local/share/metavision/hal/resources/rules/99-evkv2.rules
-- Up-to-date: /etc/udev/rules.d/99-evkv2.rules
-- Installing: /usr/local/include/metavision/sdk/version.h
-- Installing: /usr/local/share/cmake/MetavisionSDK/MetavisionSDKConfig.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/MetavisionSDKConfigVersion.cmake
-- Installing: /usr/local/lib/libmetavision_sdk_base.so.3.0.1
-- Up-to-date: /usr/local/lib/libmetavision_sdk_base.so.3
-- Up-to-date: /usr/local/lib/libmetavision_sdk_base.so
-- Up-to-date: /usr/local/include
-- Up-to-date: /usr/local/include/metavision
-- Up-to-date: /usr/local/include/metavision/sdk
-- Up-to-date: /usr/local/include/metavision/sdk/base
-- Up-to-date: /usr/local/include/metavision/sdk/base/events
-- Up-to-date: /usr/local/include/metavision/sdk/base/events/event_ext_trigger.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/events/event_cd.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/events/detail
-- Up-to-date: /usr/local/include/metavision/sdk/base/events/detail/event_traits.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/events/event2d.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/sdk_log.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/get_time.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/detail
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/detail/struct_pack.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/detail/sdk_log_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/detail/error_category_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/detail/deprecated_feature.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/detail/log_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/detail/error_code_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/timestamp.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/DAT_helper.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/error_code.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/error_category.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/string.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/object_pool.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/software_info.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/generic_header.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/callback_id.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/python_bindings_doc.h
-- Up-to-date: /usr/local/include/metavision/sdk/base/utils/log.h
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/base/MetavisionSDK_baseTargets.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/base/MetavisionSDK_baseTargets-release.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/base/MetavisionSDK_baseConfig.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/base/MetavisionSDK_baseConfigVersion.cmake
-- Installing: /usr/local/bin/metavision_software_info
-- Set runtime path of "/usr/local/bin/metavision_software_info" to ""
-- Up-to-date: /usr/local/share/metavision/sdk/base/apps/metavision_software_info/metavision_software_info.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/base/apps/metavision_software_info/CMakeLists.txt
-- Installing: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_sdk_base.cpython-38-x86_64-linux-gnu.so
-- Set runtime path of "/home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_sdk_base.cpython-38-x86_64-linux-gnu.so" to ""
-- Installing: /usr/local/lib/libmetavision_sdk_core.so.3.0.1
-- Up-to-date: /usr/local/lib/libmetavision_sdk_core.so.3
-- Set runtime path of "/usr/local/lib/libmetavision_sdk_core.so.3.0.1" to ""
-- Up-to-date: /usr/local/lib/libmetavision_sdk_core.so
-- Up-to-date: /usr/local/include
-- Up-to-date: /usr/local/include/metavision
-- Up-to-date: /usr/local/include/metavision/sdk
-- Up-to-date: /usr/local/include/metavision/sdk/core
-- Up-to-date: /usr/local/include/metavision/sdk/core/pipeline
-- Up-to-date: /usr/local/include/metavision/sdk/core/pipeline/algorithm_stage.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/pipeline/base_stage.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/pipeline/pipeline.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/pipeline/stream_logging_stage.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/pipeline/detail
-- Up-to-date: /usr/local/include/metavision/sdk/core/pipeline/detail/base_stage_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/pipeline/detail/frame_composition_stage_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/pipeline/detail/pipeline_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/pipeline/video_writing_stage.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/pipeline/frame_generation_stage.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/pipeline/stage.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/pipeline/frame_composition_stage.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/periodic_frame_generation_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/time_surface_producer_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/stream_logger_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/polarity_inverter_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/on_demand_frame_generation_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/flip_x_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/shared_events_buffer_producer_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/adaptive_rate_events_splitter_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/async_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/polarity_filter_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/detail
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/detail/async_algorithm_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/detail/time_surface_producer_algorithm_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/detail/flip_y_algorithm_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/detail/shared_events_buffer_producer_algorithm_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/detail/file_producer_algorithm_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/detail/flip_x_algorithm_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/detail/internal_algorithms.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/shared_cd_events_buffer_producer_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/file_producer_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/generic_producer_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/base_frame_generation_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/flip_y_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/algorithms/roi_filter_algorithm.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/events
-- Up-to-date: /usr/local/include/metavision/sdk/core/events/event_bbox.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/cv_video_recorder.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/simple_displayer.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/counter_map.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/similarity_metrics.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/cd_frame_generator.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/detail
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/detail/factory_helper.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/detail/factory.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/detail/mostrecent_timestamp_buffer_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/detail/data_synchronizer_from_triggers_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/detail/bitinstructions.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/detail/platform_utility_functions.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/detail/timing_profiler_detail.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/detail/iterator_traits.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/detail/factory_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/detail/colors_impl.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/detail/ring.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/detail/policy_helper.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/callback_manager.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/index_generator.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/timing_profiler.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/video_writer.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/mostrecent_timestamp_buffer.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/colors.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/rate_estimator.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/threaded_process.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/index_manager.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/random_color_map.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/frame_composer.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/data_synchronizer_from_triggers.h
-- Up-to-date: /usr/local/include/metavision/sdk/core/utils/cv_color_map.h
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/core/MetavisionSDK_coreTargets.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/core/MetavisionSDK_coreTargets-release.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/core/MetavisionSDK_coreConfig.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/core/MetavisionSDK_coreConfigVersion.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/core/MetavisionSDK_coreDepends.cmake
-- Installing: /usr/local/bin/metavision_player
-- Set runtime path of "/usr/local/bin/metavision_player" to ""
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/inc
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/inc/utils.h
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/inc/analysis_view.h
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/inc/params.h
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/inc/viewer.h
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/inc/analysis_utils.h
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/inc/camera_view.h
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/inc/view.h
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/src
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/src/main.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/src/view.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/src/viewer.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/src/camera_view.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_player/src/analysis_view.cpp
-- Installing: /usr/local/bin/metavision_raw_to_video
-- Set runtime path of "/usr/local/bin/metavision_raw_to_video" to ""
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_raw_to_video/metavision_raw_to_video.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/core/apps/metavision_raw_to_video/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/sdk/core/samples/metavision_composed_viewer/metavision_composed_viewer.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/core/samples/metavision_composed_viewer/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/sdk/core/samples/metavision_csv_viewer/metavision_csv_viewer.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/core/samples/metavision_csv_viewer/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/sdk/core/samples/metavision_filtering/metavision_filtering.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/core/samples/metavision_filtering/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/sdk/core/samples/metavision_sdk_get_started/metavision_sdk_get_started.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/core/samples/metavision_sdk_get_started/CMakeLists.txt
-- Installing: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_sdk_core.cpython-38-x86_64-linux-gnu.so
-- Set runtime path of "/home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_sdk_core.cpython-38-x86_64-linux-gnu.so" to ""
-- Up-to-date: /usr/local/share/metavision/sdk/core/python_samples/metavision_adaptive_rate/metavision_adaptive_rate_events_splitter.py
-- Up-to-date: /usr/local/share/metavision/sdk/core/python_samples/metavision_csv_viewer/metavision_csv_viewer.py
-- Up-to-date: /usr/local/share/metavision/sdk/core/python_samples/metavision_filtering/metavision_filtering.py
-- Up-to-date: /usr/local/share/metavision/sdk/core/python_samples/metavision_interop/metavision_interop.py
-- Up-to-date: /usr/local/share/metavision/sdk/core/python_samples/metavision_interop/aedat_reader.py
-- Up-to-date: /usr/local/share/metavision/sdk/core/python_samples/metavision_interop/csv_reader.py
-- Up-to-date: /usr/local/share/metavision/sdk/core/python_samples/metavision_interop/extended_events_iterator.py
-- Up-to-date: /usr/local/share/metavision/sdk/core/python_samples/metavision_interop/ros_reader.py
-- Up-to-date: /usr/local/share/metavision/sdk/core/python_samples/metavision_raw_to_csv/metavision_raw_to_csv.py
-- Up-to-date: /usr/local/share/metavision/sdk/core/python_samples/metavision_sdk_get_started/metavision_sdk_get_started.py
-- Up-to-date: /usr/local/share/metavision/sdk/core/python_samples/metavision_simple_viewer/metavision_simple_viewer.py
-- Up-to-date: /usr/local/share/metavision/sdk/core/python_samples/metavision_sync/metavision_sync.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/__init__.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/event_io
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/event_io/dat_tools.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/event_io/py_reader.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/event_io/__init__.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/event_io/raw_info.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/event_io/events_iterator.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/event_io/h5_io.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/event_io/meta_event_producer.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/event_io/raw_reader.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/event_io/box_npy_reader.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/event_io/event_bufferizer.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/event_io/live_replay.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/event_io/adaptive_rate_events_iterator.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/event_io/npy_tools.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/utils
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/utils/__init__.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core/utils/samples.py
-- Installing: /usr/local/lib/libmetavision_sdk_driver.so.3.0.1
-- Up-to-date: /usr/local/lib/libmetavision_sdk_driver.so.3
-- Set runtime path of "/usr/local/lib/libmetavision_sdk_driver.so.3.0.1" to ""
-- Up-to-date: /usr/local/lib/libmetavision_sdk_driver.so
-- Up-to-date: /usr/local/include
-- Up-to-date: /usr/local/include/metavision
-- Up-to-date: /usr/local/include/metavision/sdk
-- Up-to-date: /usr/local/include/metavision/sdk/driver
-- Up-to-date: /usr/local/include/metavision/sdk/driver/trigger_out.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/erc_module.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/geometry.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/ext_trigger.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/noise_filter_module.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/offline_streaming_control.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/cd.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/antiflicker_module.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/raw_data.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/pipeline
-- Up-to-date: /usr/local/include/metavision/sdk/driver/pipeline/camera_stage.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/camera_error_code.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/roi.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/camera_generation.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/biases.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/camera_exception.h
-- Up-to-date: /usr/local/include/metavision/sdk/driver/camera.h
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/driver/MetavisionSDK_driverTargets.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/driver/MetavisionSDK_driverTargets-release.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/driver/MetavisionSDK_driverConfig.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/driver/MetavisionSDK_driverConfigVersion.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/driver/MetavisionSDK_driverDepends.cmake
-- Installing: /usr/local/bin/metavision_raw_info
-- Set runtime path of "/usr/local/bin/metavision_raw_info" to ""
-- Up-to-date: /usr/local/share/metavision/sdk/driver/apps/metavision_raw_info/metavision_raw_info.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/driver/apps/metavision_raw_info/CMakeLists.txt
-- Installing: /usr/local/bin/metavision_raw_to_dat
-- Set runtime path of "/usr/local/bin/metavision_raw_to_dat" to ""
-- Up-to-date: /usr/local/share/metavision/sdk/driver/apps/metavision_raw_to_dat/metavision_raw_to_dat.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/driver/apps/metavision_raw_to_dat/CMakeLists.txt
-- Installing: /usr/local/bin/metavision_viewer
-- Set runtime path of "/usr/local/bin/metavision_viewer" to ""
-- Up-to-date: /usr/local/share/metavision/sdk/driver/apps/metavision_viewer/metavision_viewer.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/driver/apps/metavision_viewer/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/sdk/driver/samples/metavision_raw_to_csv/metavision_raw_to_csv.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/driver/samples/metavision_raw_to_csv/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/sdk/driver/samples/metavision_raw_mosaic_viewer/metavision_raw_mosaic_viewer.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/driver/samples/metavision_raw_mosaic_viewer/CMakeLists.txt
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/data
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/data/__init__.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/data/video_stream.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/data/image_planar_motion_stream.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/data/scheduling.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/data/camera_poses.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/data/stream_dataloader.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/__init__.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/losses
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/losses/__init__.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/losses/warp.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/losses/perceptual_loss.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/event_to_video
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/event_to_video/__init__.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/event_to_video/data_module.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/event_to_video/gpu_esim.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/event_to_video/event_to_video.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/event_to_video/lightning_model.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/core
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/core/__init__.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/core/temporal_modules.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/core/modules.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/core/unet.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/utils
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/utils/__init__.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/utils/files.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/utils/torch_ops.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/utils/show_or_write.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/utils/train_utils.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/preprocessing
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/preprocessing/__init__.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/preprocessing/event_to_tensor_torch.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/preprocessing/viz.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/video_to_event
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/video_to_event/__init__.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/video_to_event/single_image_make_events_cpu.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/video_to_event/video_stream_dataset.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/video_to_event/simu_events_iterator.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/video_to_event/cutoff_kernels.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/video_to_event/simulator.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/video_to_event/gpu_simulator.py
-- Up-to-date: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_core_ml/video_to_event/events_kernels.py
-- Up-to-date: /usr/local/share/metavision/sdk/core_ml/python_samples/train_event_to_video/train_event_to_video.py
-- Up-to-date: /usr/local/share/metavision/sdk/core_ml/python_samples/demo_event_to_video/demo_event_to_video.py
-- Up-to-date: /usr/local/share/metavision/sdk/core_ml/python_samples/viz_data_event_to_video/viz_data_event_to_video.py
-- Up-to-date: /usr/local/share/metavision/sdk/core_ml/python_samples/viz_video_to_event_simulator/viz_video_to_event_simulator.py
-- Up-to-date: /usr/local/share/metavision/sdk/core_ml/python_samples/viz_video_to_event_gpu_simulator/viz_video_to_event_gpu_simulator.py
-- Installing: /usr/local/lib/libmetavision_sdk_ui.so.3.0.1
-- Up-to-date: /usr/local/lib/libmetavision_sdk_ui.so.3
-- Set runtime path of "/usr/local/lib/libmetavision_sdk_ui.so.3.0.1" to ""
-- Up-to-date: /usr/local/lib/libmetavision_sdk_ui.so
-- Up-to-date: /usr/local/include
-- Up-to-date: /usr/local/include/metavision
-- Up-to-date: /usr/local/include/metavision/sdk
-- Up-to-date: /usr/local/include/metavision/sdk/ui
-- Up-to-date: /usr/local/include/metavision/sdk/ui/detail
-- Up-to-date: /usr/local/include/metavision/sdk/ui/detail/texture_utils.h
-- Up-to-date: /usr/local/include/metavision/sdk/ui/pipeline
-- Up-to-date: /usr/local/include/metavision/sdk/ui/pipeline/frame_display_stage.h
-- Up-to-date: /usr/local/include/metavision/sdk/ui/utils
-- Up-to-date: /usr/local/include/metavision/sdk/ui/utils/ui_event.h
-- Up-to-date: /usr/local/include/metavision/sdk/ui/utils/event_loop.h
-- Up-to-date: /usr/local/include/metavision/sdk/ui/utils/window.h
-- Up-to-date: /usr/local/include/metavision/sdk/ui/utils/mt_window.h
-- Up-to-date: /usr/local/include/metavision/sdk/ui/utils/ui_events.h
-- Up-to-date: /usr/local/include/metavision/sdk/ui/utils/base_window.h
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/ui/MetavisionSDK_uiTargets.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/ui/MetavisionSDK_uiTargets-release.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/ui/MetavisionSDK_uiConfig.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/ui/MetavisionSDK_uiConfigVersion.cmake
-- Installing: /usr/local/share/cmake/MetavisionSDK/Modules/ui/MetavisionSDK_uiDepends.cmake
-- Up-to-date: /usr/local/share/metavision/sdk/ui/samples/metavision_simple_window/metavision_simple_window.cpp
-- Up-to-date: /usr/local/share/metavision/sdk/ui/samples/metavision_simple_window/constants.cpp.in
-- Up-to-date: /usr/local/share/metavision/sdk/ui/samples/metavision_simple_window/constants.h
-- Up-to-date: /usr/local/share/metavision/sdk/ui/samples/metavision_simple_window/prophesee_logo.jpg
-- Up-to-date: /usr/local/share/metavision/sdk/ui/samples/metavision_simple_window/CMakeLists.txt
-- Installing: /home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_sdk_ui.cpython-38-x86_64-linux-gnu.so
-- Set runtime path of "/home/user/miniconda3/envs/evs/lib/python3.8/site-packages/metavision_sdk_ui.cpython-38-x86_64-linux-gnu.so" to ""
-- Up-to-date: /usr/local/share/metavision/samples/metavision_evt2_raw_file_decoder
-- Up-to-date: /usr/local/share/metavision/samples/metavision_evt2_raw_file_decoder/README.md
-- Up-to-date: /usr/local/share/metavision/samples/metavision_evt2_raw_file_decoder/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/samples/metavision_evt2_raw_file_decoder/metavision_evt2_raw_file_decoder.cpp
-- Up-to-date: /usr/local/share/metavision/samples/metavision_evt3_raw_file_decoder
-- Up-to-date: /usr/local/share/metavision/samples/metavision_evt3_raw_file_decoder/metavision_evt3_raw_file_decoder.cpp
-- Up-to-date: /usr/local/share/metavision/samples/metavision_evt3_raw_file_decoder/README.md
-- Up-to-date: /usr/local/share/metavision/samples/metavision_evt3_raw_file_decoder/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/samples/metavision_evt2_raw_file_encoder
-- Up-to-date: /usr/local/share/metavision/samples/metavision_evt2_raw_file_encoder/README.md
-- Up-to-date: /usr/local/share/metavision/samples/metavision_evt2_raw_file_encoder/CMakeLists.txt
-- Up-to-date: /usr/local/share/metavision/samples/metavision_evt2_raw_file_encoder/metavision_evt2_raw_file_encoder.cpp

help with building a rosdistro package

OpenEB team:
I'm currently working on building a ROS metavision package for release via "rosdistro". This will require some of the openeb libraries to be shipped along with the ROS driver.
Is there somebody I could work with to answer a few questions:

  1. Is it legal to ship the compiled binaries as part of a ROS package?
  2. Are there any restrictions on downloading OpenEB to the ROS compile servers and compiling them there in an automated fashion?
    Would be great to have one of your developers on the release team (ros-event-cameras). I invited @laurentbristiel but please suggest other team members if appropriate.
    Thanks,
    Bernd

Missing RawReader.duration_s (or document mismatch)

Hello team,

The official document says that RawReader has the duration_s attribute: https://docs.prophesee.ai/stable/metavision_sdk/modules/core/python_api/event_io.html#metavision_core.event_io.RawReader.duration_s

However, it seems that it does not actually. Only this comment exists and I cannot find any code: https://github.com/prophesee-ai/openeb/blob/main/sdk/modules/core/python/pypkg/metavision_core/event_io/raw_reader.py#L381

Is the documentation correct?

EB Classification Model

  1. I am trying to train a classification model for my dataset (which I generated from Silky Camera).
    When I record from event camera, I get only .raw file. I am converting those .raw files to .h5 format by using generate_hdf5.py file. Then I am running the train_classification.py file and providing the output path and dataset path. I am getting following error:

File "/home/aitsam/.local/lib/python3.8/site-packages/pytorch_lightning/utilities/data.py", line 114, in has_len_all_ranks total_length = training_type.reduce(torch.tensor(len(dataloader)).to(model.device), reduce_op="sum") File "/usr/lib/python3/dist-packages/metavision_ml/data/sequential_dataset.py", line 469, in __len__ return len(self.dataset) // self.dataset.batch_size ZeroDivisionError: integer division or modulo by zero
Both len(self.dataset) and self.dataset.batch_size values appear to be zero even when batch_size is not zero in default arguments. Can you tell me how to solve this issue?

  1. How can I record from Silky Camera in .dat format?
  2. In your EB classfication example, it is mentioned that we also need corresponding .npy file for each .h5 file. How to get this file as it does not generate when we record from camera.
  3. Can you provide the dataset which you used to train the rock, paper, scissors example. Maybe the guideline on how that dataset was recorded?

Building Debian packages on Debian systems doesn't work

Hi,

We are building the OpenEB Debian packages for Debian 10 and 11 systems, because our embedded devices do not support Ubuntu.
The CMake target public_deb_packages used to work with OpenEB 2.2, but not anymore.

I think the problem is in python3.cmake, line 124:

set (PYTHON3_DEFAULT_VERSION "3.6")

To fix the problem, I have replaced the line with:
list(GET PYBIND11_PYTHON_VERSIONS 0 PYTHON3_DEFAULT_VERSION)

I also added "3.9" to the variable PYTHON3_ALL_VERSIONS in line 119 to make it work with Debian 11:

set (PYTHON3_ALL_VERSIONS "3.6;3.7;3.8")

Thanks,
Ralf

Python3.10: Bus Error (core dumped) when importing `metavision_core.event_io`

System:
OS: Manjaro 22.1.1 Talos
Kernel: x86_64 Linux 6.3.0-1-MANJARO
CPU: Intel Core i7-6700HQ @ 8x 3.5GHz
RAM: 15633MiB
Python 3.10.10

I compiled the OpenEB with Python3.10 bindings according to the instructions. The C++ SDK and examples work without issue. However, importing metavision_core.event_io causes the Python interpreter to crash.

This is the Python script used for testing:

from metavision_core.event_io import EventsIterator

ev = EventsIterator("data.raw")

for e in ev:
    print(e)

Running the script gives the following dump:

$  python test.py
[1]    22532 bus error (core dumped)  python test.py

where can I find the BaseFrameGenerationAlgorithm

I want to run Blinking Lights detector samples in local PyCharm IDE.
The OpenEB library has been installed and compiled.
However, I can not find BaseFrameGenerationAlgorithm in the metavision_sdk_core module.

Could you help me to solve this problem?
捕获

Ubuntu installation failed: python not found

Hi, thank you for your support. I have two questions about python in compilation.

Environment

lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.3 LTS
Release:	20.04
Codename:	focal

python

I have python3.8 and 3.9:

➜  build git:(main) ✗ which python
python not found
➜  build git:(main) ✗ which python3
/usr/bin/python3
➜  build git:(main) ✗ which python3.8
/usr/bin/python3.8
➜  build git:(main) ✗ which python3.9
/usr/bin/python3.9
➜  build git:(main) ✗ python3 -V
Python 3.8.10

Q1. Compilation fails because it does not find python3.8

I think cmake tries to find python3.9 first although I have 3.8. How can I tell the pythonpath and/or python version?

Here is the error:

build git:(main) ✗ cmake .. -DBUILD_TESTING=OFF
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building METAVISION_SDK_MODULES_OPEN modules : base;core;driver;ui
-- Building METAVISION_SDK_MODULES_PROFESSIONAL modules : analytics;calibration;cv;ml;3dview;cv3d
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE  
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for module 'libusb-1.0'
--   Found libusb-1.0, version 1.0.23
-- Found LibUSB: /usr/include/libusb-1.0  
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0") found components: program_options filesystem timer chrono thread 
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
  Could NOT find Python3 (missing: Python3_INCLUDE_DIRS Python3_LIBRARIES
  Development Development.Module Development.Embed) (found version "3.9.7")
Call Stack (most recent call first):
  /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
  cmake/Modules/FindPython/Support.cmake:2999 (find_package_handle_standard_args)
  cmake/Modules/FindPython3.cmake:391 (include)
  cmake/custom_functions/python3.cmake:63 (find_package)
  CMakeLists.txt:211 (include)


-- Configuring incomplete, errors occurred!
See also "/home/shintaro/prophesee_ws/openeb/build/CMakeFiles/CMakeOutput.log".
See also "/home/shintaro/prophesee_ws/openeb/build/CMakeFiles/CMakeError.log".

I tried this issue but didn't work either. #32 (comment)

Q2. virtual environment

My existing python environment is already coupled with ROS and some DAVIS packages. Since your library requirement is somehow strict ("numpy==1.19.5" "opencv-python>=4.2.0.34"), I'd like to create virtual environment to encapsulate openeb environment.
I'm thinking something like python3.8 -m venv ~/local/venv but poetry is also fine.

Have you every tried it? How can I make it work with venv?

Sincerely,

Shintaro

is the nvidia xavier supported?

Hi,
I was looking into buying a SilkyEVCam to be used on a robot that runs an Nvidia Xavier AGX (ARM64 based system). Is that supported by OpenEB? Will it be possible to get a HAL plugin for ARM64/Ubuntu 18.04 systems?
Thanks!

OpenEB 4.0 index fails to build

After upgrading to 4.0, some but not all existing RAW files fail to be read depending on the application used:

metavision_file_to_hdf5 repeatedly fails to build the index, but metavision_file_info succeeds at building the index and afterwards, every sample is able to load the index cache just fine.

$ metavision_file_to_hdf5 -i 2022-10-04_15-36-54.raw
Wrote HDF5 file  2022-10-04_15-36-54.hdf5
[HAL][ERROR] Failed to build index for input RAW file 2022-10-04_15-36-54.raw

$ metavision_file_to_hdf5 -i 2022-10-04_15-36-54.raw
Wrote HDF5 file  2022-10-04_15-36-54.hdf5
[HAL][ERROR] Failed to build index for input RAW file 2022-10-04_15-36-54.raw

$ metavision_file_info -i 2022-10-04_15-36-54.raw
====================================================================================================

Name                2022-10-04_15-36-54.raw
Path                /redacted/2022-10-04_15-36-54.raw
Duration            1m 49s 595ms 996us
Integrator          Prophesee
Plugin name         hal_plugin_gen41_evk3
Data encoding       EVT3
Camera generation   4.1
Camera systemID     48
Camera serial       00042340

====================================================================================================

Type of event       Number of events    First timestamp     Last timestamp      Average event rate
----------------------------------------------------------------------------------------------------
CD                  20499249            817                 109595996           187.0 Kev/s
External triggers   21063               2227111             107159923           192 ev/s

$ metavision_file_to_hdf5 -i 2022-10-04_15-36-54.raw
Wrote HDF5 file  2022-10-04_15-36-54.hdf5

Our application uses I_EventsStreamDecoder and behaves like metavision_file_to_hdf5 as in it crashes for some, but not all files that do not already have an index cache generated by metavision_file_info.

On a related note, it would be nice to make RAW file indexing in EventsStream optional, because we only read events sequentially and do not seek.

CMake Error at /mnt/c/Program Files/HDF_Group/HDF5/1.14.3/cmake/hdf5-targets.cmake:42 (message)

When I trying to compilated this repository to execute the comand
"cmake .. -DBUILD_TESTING=OFF" appears the following error:

Submodule path 'sdk/modules/driver/cpp/3rdparty/hdf5_ecf': checked out 'd3235ecf12497d57b0de80e1d989804ab2cf97a9'
CMake Error at /mnt/c/Program Files/HDF_Group/HDF5/1.14.3/cmake/hdf5-targets.cmake:42 (message):
Some (but not all) targets in this export set were already defined.

Targets Defined: hdf5::h5diff

Targets not yet defined: hdf5::hdf5-static, hdf5::hdf5-shared,
hdf5::mirror_server, hdf5::mirror_server_stop, hdf5::hdf5_tools-static,
hdf5::hdf5_tools-shared, hdf5::h5diff-shared, hdf5::h5ls,
hdf5::h5ls-shared, hdf5::h5debug, hdf5::h5repart, hdf5::h5mkgrp,
hdf5::h5clear, hdf5::h5delete, hdf5::h5debug-shared, hdf5::h5repart-shared,
hdf5::h5mkgrp-shared, hdf5::h5clear-shared, hdf5::h5delete-shared,
hdf5::h5import, hdf5::h5import-shared, hdf5::h5repack,
hdf5::h5repack-shared, hdf5::h5jam, hdf5::h5unjam, hdf5::h5jam-shared,
hdf5::h5unjam-shared, hdf5::h5copy, hdf5::h5copy-shared, hdf5::h5stat,
hdf5::h5stat-shared, hdf5::h5dump, hdf5::h5dump-shared,
hdf5::h5format_convert, hdf5::h5format_convert-shared, hdf5::h5perf_serial,
hdf5::hdf5_hl-static, hdf5::hdf5_hl-shared, hdf5::h5watch,
hdf5::h5watch-shared, hdf5::hdf5_cpp-static, hdf5::hdf5_cpp-shared,
hdf5::hdf5_hl_cpp-static, hdf5::hdf5_hl_cpp-shared, hdf5::hdf5_java

Call Stack (most recent call first):
/mnt/c/Program Files/HDF_Group/HDF5/1.14.3/cmake/hdf5-config.cmake:166 (include)
/usr/share/cmake-3.22/Modules/FindHDF5.cmake:504 (find_package)
sdk/modules/driver/cpp/3rdparty/hdf5_ecf/CMakeLists.txt:33 (find_package)

I don't know how to fix it

ModuleNotFoundError: No module named 'metavision_hal'

Hi, I'm trying to run metavision_raw_to_csv.py, and compiled openeb as instructed, and ran the setup_env.sh.
When I ran metavision_raw_to_csv.py, I got:

Traceback (most recent call last):
  File "metavision_raw_to_csv.py", line 15, in <module>
    from metavision_core.event_io import EventsIterator
  File "/openeb/sdk/modules/core/python/pypkg/metavision_core/event_io/__init__.py", line 12, in <module>
    from .raw_reader import RawReader
  File "/openeb/sdk/modules/core/python/pypkg/metavision_core/event_io/raw_reader.py", line 22, in <module>
    from metavision_hal import DeviceDiscovery, RawFileConfig
ModuleNotFoundError: No module named 'metavision_hal'

Any ideas on how can I solve it?
Thanks!

Building failed with protobuf v24.4

I tried to build openeb 4.5.2 on MacOS. Following error occurred during linking,

ld: Undefined symbols:
  absl::lts_20230802::Status::UnrefNonInlined(unsigned long), referenced from:
      Metavision::save_device(Metavision::Device const&, std::__1::basic_ostream<char, std::__1::char_traits<char>>&) in camera_serialization.cpp.o
      Metavision::load_device(Metavision::Device&, std::__1::basic_istream<char, std::__1::char_traits<char>>&) in camera_serialization.cpp.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libmetavision_sdk_driver.4.5.2.dylib] Error 1
make[1]: *** [sdk/modules/driver/cpp/lib/CMakeFiles/metavision_sdk_driver.dir/all] Error 2

It seems libraries from abseil are not configured correctly.

After checking similar errors on the internet. I selected a workaround from this issue thread. Following is the modified sdk/modules/driver/cpp/src/protobuf/CMakeLists.txt

# Copyright (c) Prophesee S.A.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and limitations under the License.

if(USE_PROTOBUF)
  find_package(Protobuf REQUIRED)

    protobuf_generate_cpp(DEVICE_PROTO_SRCS DEVICE_PROTO_HDRS
        ${CMAKE_CURRENT_SOURCE_DIR}/device_state.proto
        ${CMAKE_CURRENT_SOURCE_DIR}/antiflicker_state.proto
        ${CMAKE_CURRENT_SOURCE_DIR}/camera_synchronization_state.proto
        ${CMAKE_CURRENT_SOURCE_DIR}/digital_crop_state.proto
        ${CMAKE_CURRENT_SOURCE_DIR}/digital_event_mask_state.proto
        ${CMAKE_CURRENT_SOURCE_DIR}/event_rate_control_state.proto
        ${CMAKE_CURRENT_SOURCE_DIR}/event_rate_noise_filter_state.proto
        ${CMAKE_CURRENT_SOURCE_DIR}/event_trail_filter_state.proto
        ${CMAKE_CURRENT_SOURCE_DIR}/hw_register_state.proto
        ${CMAKE_CURRENT_SOURCE_DIR}/ll_biases_state.proto
        ${CMAKE_CURRENT_SOURCE_DIR}/region_of_interest_state.proto
        ${CMAKE_CURRENT_SOURCE_DIR}/trigger_in_state.proto
        ${CMAKE_CURRENT_SOURCE_DIR}/trigger_out_state.proto
    )

    set(PROTO_HDRS_DIRS)

    foreach(header ${DEVICE_PROTO_HDRS})
        get_filename_component(header_dir ${header} DIRECTORY)
        list(APPEND PROTO_HDRS_DIRS ${header_dir})
    endforeach(header)
endif(USE_PROTOBUF)

add_library(metavision_device_serialization_obj OBJECT ${DEVICE_PROTO_SRCS})
# The following line is needed because when linking a shared library to an object one,
# the object library needs to be compiled with -fPIC
# cf https://stackoverflow.com/questions/50600708/combining-cmake-object-libraries-with-shared-libraries
set_target_properties(metavision_device_serialization_obj
    PROPERTIES
        POSITION_INDEPENDENT_CODE ON
)

target_link_libraries(metavision_device_serialization_obj
    PRIVATE
        metavision_hal
)

if (USE_PROTOBUF)
    target_compile_definitions(metavision_device_serialization_obj PRIVATE HAS_PROTOBUF)
    target_include_directories(metavision_device_serialization_obj
        PRIVATE
            ${PROTO_HDRS_DIRS}
            ${Protobuf_INCLUDE_DIRS}
    )

    # Make it link with recent Protobuf
    string(REGEX REPLACE "^[0-9]+\.([0-9]+\.[0-9]+)$" "\\1.0" proto_libver "${Protobuf_VERSION}")
    if(proto_libver VERSION_GREATER_EQUAL "22")
        find_package(PkgConfig REQUIRED)
        pkg_check_modules(protobuf REQUIRED IMPORTED_TARGET protobuf=${proto_libver})
        target_link_libraries(metavision_device_serialization_obj PRIVATE PkgConfig::protobuf)
    else()
        # Doesn't exist for all CMake versions
        if (TARGET protobuf::libprotobuf)
            set(Protobuf_LIBRARIES protobuf::libprotobuf)
        endif ()
    
        target_link_libraries(metavision_device_serialization_obj
            PRIVATE
                ${Protobuf_LIBRARIES}
        )
    endif()
endif(USE_PROTOBUF)

Path to hdf5 plugin Linux installation

This is regarding linux installation, Option 2 - deploying in the system path:
at least on my system the hdf5 plugin path is
/usr/local/lib/hdf5/plugin
not
/usr/local/hdf5/lib/plugin

Feature request: native python data loader or Mac support for MetavisionSDK

Hi,

I'm using Prophesee Gen3 camera now, and having a feature request to you.
Since I couldn't find any forum or feature request form for Metavision SDK, I'm writing here.

What I want to do in the end: load .raw data on my Mac (M1, 2020). And currently this is not possible in my understanding.

What I want to request: either of the below options:

  • Please support Mac for Metavision SDK. Then I can install the python library.
  • Please develop a python-native library (something like pip install metavision_api). I don't need many functionalities for now, just data loading is a great help. I believe this is possible without Metavision backend.

Sincerely,

Shintaro

Cannot enable trigger in for EVK4 HD

Hi all,

I found that the trigger in function of EVK4 HD cannot be enabled.

I have tried the following steps:

If the earlier steps didn't solve the problem, raise an issue providing:


------------------------------------------ 
PLATFORM INFORMATION 
------------------------------------------ 


####  DISTRIBUTION  #### 

Linux vas 5.15.0-46-generic #49~20.04.1-Ubuntu SMP Thu Aug 4 19:15:44 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux 

####  OPENGL  #### 

sh: 1: glxinfo: not found
Failed to retrieve OpenGL information 

####  VIRTUAL MACHINE  #### 

Virtual Machine:              NO
Docker:                       NO

------------------------------------------ 
METAVISION SOFTWARE INFORMATION 
------------------------------------------ 


####  INSTALLED SOFTWARE  #### 

Version:                      3.0.2
Id:                           f3107c5b0cfacb2ab97aa78ebefcdc3b4992c7c0

####  INSTALLED PACKAGES - METAVISION  #### 

Failed to retrieve installed Metavision packages list 

------------------------------------------ 
METAVISION SYSTEMS INFORMATION 
------------------------------------------ 


####  SYSTEMS AVAILABLE  #### 

# FOUND Prophesee GEN 4.2 HD # 

Connection                    USB
EVK4 Build Date               Sun Mar 20 22:04:01 2022
EVK4 Release Version          3.6.0
EVK4 Speed                    5000
Integrator                    Prophesee
Raw Formats                   EVT3
Sensor Info                   4.2
Serial                        00050050
System Version                0.0.0
SystemID                      49
device0 compatible            psee,ccam5_gen42
device0 name                  CCam5 Gen42 Event-Based Camera

DEFAULT BIASES 
bias_diff                     0
bias_diff_off                 0
bias_diff_on                  0
bias_fo                       0
bias_hpf                      0
bias_refr                     0

# FOUND Prophesee GEN 4.2 HD # 

Connection                    USB
EVK4 Build Date               Sun Mar 20 22:04:01 2022
EVK4 Release Version          3.6.0
EVK4 Speed                    5000
Integrator                    Prophesee
Raw Formats                   EVT3
Sensor Info                   4.2
Serial                        00050050
System Version                0.0.0
SystemID                      49
device0 compatible            psee,ccam5_gen42
device0 name                  CCam5 Gen42 Event-Based Camera

DEFAULT BIASES 
bias_diff                     0
bias_diff_off                 0
bias_diff_on                  0
bias_fo                       0
bias_hpf                      0
bias_refr                     0


####  SYSTEM'S USB PORTS  #### 

USB Port type used:           3.00 


  • your operating system and its version
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.5 LTS
Release:	20.04
Codename:	focal
  • your camera type and its serial number that can be found on your camera's base (bottom) plate
EVK4 HD
P50050
  • software that has an issue, expected and actual behavior, and reproduction steps as detailed as possible
  • Software that has an issue
metavision_hal_viewer
  • Expected behavior: The external trigger can be enabled.
  • Actual behavior: The external trigger cannot be enabled. The output of metavision_hal_viewer is as below:
Opening camera...
Camera open.
Plugin used: hal_plugin_imx636_evk4
System ID: 49
Could not get Trigger Out facility
[HAL][ERROR] Unknown field Reserved_15_12 for register PSEE/IMX636/dig_pad2_ctrl 
[HAL][ERROR] Write: Invalid register 
Initial value: bias_diff 0
Initial value: bias_diff_off 0
Initial value: bias_diff_on 0
Initial value: bias_fo 0
Initial value: bias_hpf 0
Initial value: bias_refr 0
Camera started.
Temp: 0
Illu: 0
Temp: 29
Illu: 7
  • Reproduction steps
  1. Install OpenEB
  2. Plug in an EVK4 HD
  3. Execute metavision_hal_viewer in an terminal. Then the output will contain the error as described above in the Actual behavior section.

Errors when performing compilation tests

Hi,

Thank you for releasing this framework. I tried to compile and install openeb in my Ubuntu18.04 pc.I followed the instructions in this repository. Compilation goes fine but when I do ctest --verbose I get many errors. The summary is:

38% tests passed, 13 tests failed out of 21

Total Test time (real) =   9.39 sec

The following tests FAILED:
	  1 - metavision-raw-cutter-test (Failed)
	  4 - metavision-raw-info-with-sample-plugin-test (Failed)
	  5 - metavision-raw-cutter-with-sample-plugin-test (Failed)
	  6 - metavision-raw-to-csv-with-sample-plugin-test (Failed)
	  7 - metavision-raw-to-dat-with-sample-plugin-test (Failed)
	 11 - pytests_base (Failed)
	 13 - metavision-raw-to-video-test (Failed)
	 15 - pytests_core (Failed)
	 16 - metavision-raw-info-test (Failed)
	 17 - metavision-raw-to-dat-test (Failed)
	 18 - metavision-raw-to-csv-test (Failed)
	 20 - metavision-evt2-raw-file-decoder-test (Failed)
	 21 - metavision-evt3-raw-file-decoder-test (Failed)

Here is the full output of the ctest command:
test.log

I will appreciate if you could guide me on how to fix this errors.

How to avoid opencv and gtk being linked to code

I just downloaded the new openeb and recompiled my code that grabs events, reformats and passes the results to another program. It has been working with the older version of openeb. The newly compiled code is looking for opencv libraries and gtk libraries. How do I stop getting these libraries linked in when I don't use them. I am modifying the metavision_sdk_get_started.cpp

I have been cross compiling the code to operate on an ARM processor. I would like to use the new openeb since it has added the pixel masking.

Thanks
Ivan

Errors during compiling OpenEB on Ubuntu 18.04

Hello,

I followed the instructions in this repository to install OpenEB on my Ubuntu 18.04. But I got errors after I did cmake --build . --config Release -- -j 4. Here is a part of the summary:

/home/kamzero/Downloads/openeb/sdk/modules/core/cpp/src/video_writer.cpp: In member function ‘virtual void Metavision::VideoWriter::write(cv::InputArray)’:
/home/kamzero/Downloads/openeb/sdk/modules/core/cpp/src/video_writer.cpp:343:33: error: no matching function for call to ‘Metavision::VideoWriter::write(const cv::_InputArray&)’
cv::VideoWriter::write(image);
^
In file included from /home/kamzero/Downloads/openeb/sdk/modules/core/cpp/src/video_writer.cpp:51:0:
/usr/local/include/opencv2/videoio.hpp:940:26: note: candidate: virtual void cv::VideoWriter::write(const cv::Mat&)
CV_WRAP virtual void write(const Mat& image);
^~~~~
/usr/local/include/opencv2/videoio.hpp:940:26: note: no known conversion for argument 1 from ‘const cv::_InputArray’ to ‘const cv::Mat&’
/home/kamzero/Downloads/openeb/sdk/modules/core/cpp/src/video_writer.cpp: In member function ‘virtual Metavision::VideoWriter& Metavision::VideoWriter::operator<<(const cv::UMat&)’:
/home/kamzero/Downloads/openeb/sdk/modules/core/cpp/src/video_writer.cpp:365:72: error: no matching function for call to ‘Metavision::VideoWriter::operator<<(const cv::UMat&)’
return static_cast<VideoWriter &>(cv::VideoWriter::operator<<(image));
^
In file included from /home/kamzero/Downloads/openeb/sdk/modules/core/cpp/src/video_writer.cpp:51:0:
/usr/local/include/opencv2/videoio.hpp:931:26: note: candidate: virtual cv::VideoWriter& cv::VideoWriter::operator<<(const cv::Mat&)
virtual VideoWriter& operator << (const Mat& image);
^~~~~~~~
/usr/local/include/opencv2/videoio.hpp:931:26: note: no known conversion for argument 1 from ‘const cv::UMat’ to ‘const cv::Mat&’
sdk/modules/core/cpp/lib/CMakeFiles/metavision_sdk_core.dir/build.make:185: recipe for target 'sdk/modules/core/cpp/lib/CMakeFiles/metavision_sdk_core.dir//src/video_writer.cpp.o' failed
make[2]: *** [sdk/modules/core/cpp/lib/CMakeFiles/metavision_sdk_core.dir/
/src/video_writer.cpp.o] Error 1
CMakeFiles/Makefile2:2203: recipe for target 'sdk/modules/core/cpp/lib/CMakeFiles/metavision_sdk_core.dir/all' failed
make[1]: *** [sdk/modules/core/cpp/lib/CMakeFiles/metavision_sdk_core.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 35%] Built target metavision_sdk_base_python3
[ 36%] Linking CXX executable ../../../../bin/metavision_raw_cutter
[ 36%] Built target metavision_raw_cutter
[ 37%] Linking CXX executable ../../../../bin/metavision_platform_info
[ 37%] Built target metavision_platform_info
Makefile:170: recipe for target 'all' failed
make: *** [all] Error 2

It would be greatly appreciated if you can help.

Question to check data quality

Hi, I have a question to record better data.
Is there a way (an API) to check if the event data is in good quality during recording?

My concern is when the events are too many during recording, such as too fast scenes, lighting, etc.
Some other cameras like DAVIS etc may suffer from event data drop or the saturation of timestamps as you know.
I imagine there are similar limitations for Prophesee cameras, too. (Please let me know if this assumption is wrong.)

Is there a way to check

  • if any event data are dropped (randomly) due to the limitation of bandwidth or max MEv/s?
  • the possibility of the saturation of timestamps - like many events are assigned almost the same quantized timestamps
    Or any other quality deterioration that you have been aware of?

Just getting the information about if the data is good or not helps us to record data with appropriate settings or re-record it immediately.

Thank you!

Feature Request: Add resize method to EventCDBuffer in python

Right now, if you want to build custom processing stages in python it's a bit of a hassle because there isn't any standard way to do it. It could be facilitated easily by creating a contract that all filters in the pipeline need to follow the convention of the existing Metavision filters. Specifically all events need to have the following interface:

process_events(events: numpy.ndarray[metavision_sdk_base._EventExtTrigger_decode | metavision_sdk_base.EventCDBuffer, buffer: numpy.ndarray[metavision_sdk_base._EventExtTrigger_decode | metavision_sdk_base.EventCDBuffer) -> None

This is the same interface used in most of the samples I have found on the documentation. The challenge to implement this scheme comes from the fact that there is no way in python to change the underlying vector size, and so there is no way to fill an empty buffer of a different size.

For example:

class MyFilter():
    def __init__(self) -> None:
        pass

def process_events(events, buffer):
    processed_events = # do some processing that changes the number of events
    
    # now fill the buffer with the processed events
    np.copyto(buffer.numpy(), events.numpy())

   # Error cannot broadcast shape x to y 

If you could resize the buffer this wouldn't be a problem. It's a simple fix, something like this to the pod_event_buffer.h file

namespace Metavison {
    // existing methods ...

    // resize the underlying structure
    py::none resize(size_t size) {
        buffer_.resize(size);
        return py::none()
    } 


    std::vector<T> buffer_;

};

void export_PODEventBuffer(py::module &m, const std::string &event_buffer_name) {
    using EventBuffer = PODEventBuffer<EventType>;

    py::class_<EventBuffer, std::shared_ptr<EventBuffer>>(m, event_buffer_name.c_str(), py::buffer_protocol())
        // existing definitions ...
        .def("resize", &EventBuffer::resize, py::arg("size"),
            "resizes the buffer to the given size\n"
            "\n"
            "    :size: the size to make the buffer"
        )
}

DVS128 Gesture with SilkyCam

I am trying to implement DVS128 Gesture classification with SilkyCam.

My model has been trained with 128x128 (DVS128) inputs. SilkyCam receives input in the form of 120x160, 240x320, and 480x640. When I give input from my SilkyCam, it doesn't classify even though the accuracy of my model is 92%. I trained my model with SpikingJelly and then converted it to torch script.
What could be the possible solution for this issue?

If you are a Metavision SDK customer, you are also granted access to our personal support and our Knowledge Center. Contact us via [email protected]

Configure camera options (sensor pixel settings) using a python script?

I wonder if it is possible via Python script to use the following functionalities available via the Metavision Studio.

  • Control sensor pixels settings (biases)
  • Set a Region Of Interest (ROI)
  • Access advanced sensor features (Anti-Flicker, Spatio-Temporal Contrast Filter and Event Rate Controller)

This functionality would be very interesting for parameter studies.

2.3.0 CI Upgrade

The currently used package is the one provided by nbourdis-psee, using pybind 2.4.3. When switching to 2.3.0, it will require to be changed for the earlier package from nmartin-psee which uses pybind 2.6.0.

The binary package's folder name changes on every new export, which breaks functionality on every update. Please consider uploading every vcpkg-export on AWS as vcpkg-export.zip and remove the unnecessary VCPKG_export_name variable in the workflows.

Several other necessary variables like the pybind_version variable will also need to be modified on upgrade. Please check the env: of the .yaml files in .github/workflows and .github/staging and change the variables accordingly.

[Modification request] Remove rules installation from project installation

Hey!

Happy to see you opened source code of plugins. For a long time, to install plugins in different CPU architectures platforms are annoyed me. I'm trying use openeb in my robot project. But I found the installation scripts are not allowd me to install this without root privilege because of the USB rules installation hal_psee_plugins/resources/rules/CMakeLists.txt.

AFAIK. The rules are usually installed independently with shell scripts, like setup_udev_rules.sh in librealsense project. So perhaps create a new file for rules installation is a better idea?

Compliation test failed on the second one

Hi,

I'm having problems with the compiling tests and I have uploaded the command line output I got.
test_log.txt

The first test passed but the second was showing AssignProcessToJobObject: (87) The parameter is incorrect., and the error stopped the whole testing process.

There was no error while building the code. I'm on Windows 10 with Visual Studio 2022, and I used standalone CMake 3.22.1. I have also installed the HAL plugin as I'm using a Prohphesee camera.

I was using the Essentials SDK before but I had some problems with Release/Debug configurations, and it was uninstalled before I started with OpenEB.

Thank you very much,
Phil

Incorrect VECT 12-12-8 decoding

Environment

Expected Behaviour

The example above contains the following incomplete messages:

0x8000 - TIME_HIGH = 0 
0x6001 - TIME_LOW = 1
0x0000 - Y = 0
0x2000 - X = 0, P = 0 -> Event(t=1, x=0,y=0, p=0)

0x300A - VECT_BASE_X X=10 P=0
0x4001 - VECT_12 - bit 0 valid -> Event(t=1, x=10,y-0,p=0)
0x4000 - VECT_12 - No valid bits

/* Missing VECT_8 */

0x80FF - TIME-HIGH = 0xFF = 255
0x2001 - X=1 P=0 -> Event(t=1044480, x=1, y=0, p=0)

It is not uncommon that some parts of the VECT message (such as the last VECT_8) are missing, Thus only the first valid bit events are asserted producing the following Event sequence:

Event(t=1, x=0,y=0, p=0)
Event(t=1, x=10,y-0,p=0)
Event(t=1044480, x=1, y=0, p=0)

This can be verified using the standalone metavision_evt3_raw_file_decoder example.raw example.csv:

%geometry:1280,720
0,0,0,1
10,0,0,1
1,0,0,1044480

Current Behaviour

However, the decoder in the OpenEB SDK seems to not handle this correctly and instead uses the 0x80FF packet as the last VECT_8 marking the bits 24-31 valid. Further more, the 0x80FF message is then not parsed anymore and as a result the time of the successive events is incorrect. The overall result is the following CSV obtained using metavision_file_to_csv -i example.raw. As this is the issues with the SDK decoder, also all the other OpenEB tools and python bindings are affected.

0,0,0,1     - correct
10,0,0,1   - correct
34,0,0,1   - WRONG....
35,0,0,1   
36,0,0,1
37,0,0,1
38,0,0,1
39,0,0,1
40,0,0,1
41,0,0,1     ....
1,0,0,1    - Also wrong!

This also seems to be the case if both the VECT_12 and VECT_8 message are missing.

Transform event data from ROS bag to HDF5 file

Hi. I recently recorded a series of event data under ROS using the prophesee_ros_wrapper. This choice is because ROS provides a versatile framework that supports multi-sensors recording. However, I need to transform events from ROS bags to HDF5 files for now, as the ROS bag is quite bulky. Is there any function implemented in the metavision, or sample script to do so?

Thanks in advance!

Request for Real-Time Event Retrieval Support

I am submitting this issue to request support for real-time event retrieval from the camera sensor in Prophesee.

class EventFlow:
    event = None
    running = False
    call_number = 0
    frame_idx = 0

    def __init__(self, sensor: SensorDevice, delta_t: int = 60000):
        self.sensor = sensor
        self.mv_it = self.sensor.event_iterations(delta_t)
        self.event_list = iter(self.mv_it)
        # share data
        self.event = None
        self.running = False
        # thread
        self.read_thread = None
        self.call_number = 0

    def read_event(self):
        while self.running:
            try:
                self.call_number += 1
                self.event = next(self.event_list)
                self.frame_idx += 1
            except StopIteration as ex:
                print(ex)
                self.running = False

    def start(self):
        if self.running:
            return None
        if self.mv_it is not None:
            self.running = True
            self.read_thread = threading.Thread(target=self.read_event, name="Get Data")
            self.read_thread.daemon = True
            self.read_thread.start()

    def get_current_event(self):
        event = None
        if self.event is not None:
            event = self.event.copy()
        return event

I'm currently facing latency issues when attempting to obtain events from a camera sensor in real-time using Prophesee's SDK and Metavision Studio. The latency is not present when acquiring events from a raw file.

SDK Version: 4.5.0

Protecting the main and develop branches

Hello,

I earlier committed erroneously on the main branch here instead of on my fork.
While the mistake was corrected with:
git reset --hard $former_commit_sha
git push --force
it is a common mistake that is bound to happen when the folders on both the base and the fork have the same name, and other contributors with writing rights will probably commit this error again.

I'd like to suggest that we block both main and develop from any direct commit, using Github's protected branch workflow.
https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches

This would not apply to admins of the repository, but only to users with maintainer or below access level.

Blocking develop is not as important as main, but it will enforce merge reviewability.

Nvidia Xavier NX - Camera not found

I am trying to use the OpenEB v3.1.0 on the Nvidia Xavier NX. Like @berndpfrommer in #2, I have managed to compile everything first shot without errors and can play prerecorded files without issue using the metavision_viewer

However, I am having issues reading the live image from the Prophesee EVK4 camera.


The board I am using is the AAEON BOXER-8251AI. I have attached the camera to a USB3.2 Gen 1 port and it does show up in the Kernel Log correctly:

Nov 01 15:12:10 aaeon-desktop kernel: usb 2-3.1: new SuperSpeed USB device number 10 using tegra-xusb
Nov 01 15:12:10 aaeon-desktop kernel: usb 2-3.1: LPM exit latency is zeroed, disabling LPM.
Nov 01 15:12:10 aaeon-desktop kernel: usb 2-3.1: New USB device found, idVendor=04b4, idProduct=00f5
Nov 01 15:12:10 aaeon-desktop kernel: usb 2-3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov 01 15:12:10 aaeon-desktop kernel: usb 2-3.1: Product: EVK4
Nov 01 15:12:10 aaeon-desktop kernel: usb 2-3.1: Manufacturer: Prophesee
Nov 01 15:12:10 aaeon-desktop mtp-probe[20684]: checking bus 2, device 10: "/sys/devices/3610000.xhci/usb2/2-3/2-3.1"
Nov 01 15:12:10 aaeon-desktop mtp-probe[20684]: bus: 2, device: 10 was not an MTP device

Under lsusb it shows up as:

lsusb # On Xavier
Bus 002 Device 011: ID 04b4:00f5 Cypress Semiconductor Corp. 

which is slightly different from the way it shows up on my Dell laptop x86 machine (where the camera works without issues)

lsusb # On Dell laptop
Bus 002 Device 007: ID 04b4:00f5 Cypress Semiconductor Corp. EVK4

But running metavision_viewer gives me this error:

Simple viewer to stream events from a RAW file or device, using the SDK driver API.
Press SPACE key while running to record or stop recording raw data
Press 'q' or Escape key to leave the program.
Press 'r' to toggle the hardware ROI given as input.
Press 'e' to toggle the ERC module (if available).
Press '+' to increase the ERC threshold (if available).
Press '-' to decrease the ERC threshold (if available).
Press 'h' to print this help.
 

------------------------------------------------
Metavision SDK Driver exception

Error 101001: Camera not found. Check that a camera is plugged on your system and retry.

I don't think it was required, but I sourced the utils/scripts/setup_env.sh anyways without any success. If I understand correctly, since OpenEB v3.0.0, there is no need to include special plugins for a specific camera.

My questions thus are:

  • Is there any other method of reading the Prophesee camera besides the Closed source drivers (which are x86 only).
  • Can I get some more detailed error messages in order to help debug the issue?

I would appreciate any suggestions and help on how to proceed.

Originally posted by @mandulaj in #2 (comment)

Support for OpenEmbedded/Yocto or Buildroot

Feature Request!

My team has been successful working with the EVK 2 HD on an Ubuntu desktop. However, our end goal requires us to use a low-power, embedded platform that cannot run Ubuntu.

Are there any plans to support embedded flows like Yocto or Buildroot for OpenEB?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.