Releases: prophesee-ai/openeb
v5.2.0
-
Installation
- Added Windows 11 support (see Installation Guides)
- Dropped support for installation from source on Windows 10 (use v5.1.1 for this platform and follow the corresponding installation guide)
-
Dependencies
- Updated ONNX Runtime to v1.23.2 with support for CUDA 12.x
- Updated PyTorch to v2.9.1 and added support for CUDA 12.6 and 12.8
- PyTorch and its related dependencies have been removed from utils/python/requirements_openeb.txt and placed into dedicated requirements files. Depending on your environment, use one of the files:
- cpu-only: utils/python/requirements_pytorch_cpu.txt
- cuda: utils/python/requirements_pytorch_cuda.txt
-
Open SDK Modules (OpenEB)
- Fixed reading HDF5 files
-
Advanced SDK Modules
- In the calibration sample, added timestamp to the output JSON of pattern detections
-
Prophesee Devices
- Dropped support for EVK2
-
Documentation
- Added installation guides for SDK on Windows 11
- Updated Terms & Conditions
- Minor update in Active Marker description
- Minor update in FAQ section
v5.1.1
-
Open SDK Modules (OpenEB)
- Added more detailed information on handling metavision_psee_hw_layer in the page about Customizing Prophesee plugin and firmware for CX3-based camera
v5.1.0
- Open SDK Modules (OpenEB)
- In the HAL C++ sample metavision_hal_showcase, a valid default configuration has been added for the I_EventRateActivityFilterModule facility. This update provides a more effective example and serves as a useful starting point for those interested in exploring this sensor's filter.
- Get Started using Python tutorial is now using the SDK Stream CameraStreamSlicer based on the Camera class instead of the EventsIterator. This aligns the guide with the Get Started using C++ tutorial, where the Camera class is also used. As a result, it ensures that Python code written following our tutorial is more consistent with its C++ counterpart, making comparisons, conversions, and future development easier and more seamless.
- Introduced a new command-line option, --disable-timestamp-shifting, for the C++ samples metavision_file_info and metavision_file_to_csv. This option disables the default timestamp shifting operation, enabling the preservation of original, absolute timestamps in the output of these tools.
- metavision_file_to_csv now converts External Trigger Events for DAT files.
v5.0.0
Release of OpenEB v5.0.0
Release Notes
Installation
- Dropped Ubuntu 20.04 support to focus on newer, more secure versions
- Added Ubuntu 24.04 support (with Python 3.11 and Python 3.12)
- Python versions 3.9 to 3.12 are now supported on Windows 10
- Updated version of Cmake used for compilation on Windows from 3.21 to 3.26
- Updated Windows and Ubuntu 3rd-party dependencies required versions (see Installation Guides)
- Python requirements files have been added to simplify the installation of dependencies. It is now recommended to use the Python virtual environment mechanism to manage these dependencies more efficiently.
API removals
- All the functions that were deprecated in previous 4.x SDK versions are removed in 5.0 (e.g. I_RegistrableFacility::set_thresholds, I_RegistrableFacility::get_thresholds etc.)
- Removed the pipelines classes from the SDK, which were initially designed to simplify the implementation of algorithmic pipelines. However, these classes were found to have limitations that could hinder more complex use cases and hence brought more confusion than simplicity. The corresponding samples have been revised to demonstrate alternative approaches for implementing algorithms directly with the SDK, offering more flexibility and scalability.
- Removed get_system_id() from I_HW_Identification class
- Removed FileProducerAlgorithmT() from SDK Core
- Removed or relocated functions from Camera class API that duplicated HAL features:
- Functions load_from_file() and save_to_file() for biases have been relocated to the HAL API and are now considered legacy. It is recommended to use the JSON camera settings file instead.
- Antiflicker, Biases, ERC, Event Trail Filter module, ROI and Trigger Out functions were duplicating HAL API and therefore removed
API modifications
- Renamed the "Driver" SDK module to "Stream" to more accurately reflect its functionality and purpose
- Renamed: DataTransfer class to Metavision::DataTransfer::RawDataProducer which is now the base class of all classes gathering raw data from the device. The derived RawDataProducer class now owns its buffer pool to give plugin's implementers finer controls over memory layout/allocation. The object Metavision::DataTransfer::DefaultBufferPool is the default buffer pool type of choice. For an example of how to use the new SampleDataTransfer class API, refer to the Camera Plugin Toy Sample.
- Renamed reset_timestamp() to :cpp:func:reset_last_timestamp() in Metavision::I_EventsStreamDecoder
- open_raw_file() functions from HAL API are now using std::filesystem::path instead of std::string for the file path parameter
API additions
- Introduced new C++ class CameraStreamSlicer that slices a stream of events and triggers according to a given condition. This class is also available as a Python binding and is illustrated in C++ and Python metavision_camera_stream_slicer samples. The related C++ class SyncedCameraStreamsSlicer (and its Python binding) slices events from a master and slave cameras system and is illustrated in C++ and Python metavision_synced_camera_streams_slicer samples.
- Added RAWEvt2EventFileWriter to re-encode events from a file into a RAW EVT2 file illustrated in C++ and Python samples.
- Added Embedded Active Marker 3d Tracking to provide example on how to serve 3D estimated pose to a distant client.
- OpenEB other changes and fixes
- Removed the legacy viewer Metavision Player, which has been replaced by metavision_viewer, now serving as the primary viewing and recording tools.
- Added EVK4 Sample Plugin that provides a basic example of how to create a camera plugin for the Prophesee EVK4 using Metavision HAL.
- Added a subsampling command line option in metavision_viewer.
- Fixed eval_corner_detection.py script in Corner Detection Sample that was failing on the import of dependencies
v4.6.2
Open SDK Modules (OpenEB)
- Improved detection of camera connection errors and added error handling code to
metavision_viewer - Fixed issue in
CameraStageconstructor
Documentation
- Created a new GitHub repository, event-based-get-started, showcasing how to use the SDK API in C++ and Python programs to develop event-based applications.
v4.6.1
Open SDK Modules (OpenEB)
- Improved detection of camera connection errors and added error handling code to metavision_viewer
- Fixed an issue in OpenEB and SDK PRO compilation where cmake would fail when BUILD_TESTING was not set to ON
- Fixed OpenEB and SDK PRO compilation on Windows failing to handle commands with spaces in paths
- Added missing header in v4l2_device.h within the plugin source code folder (hal_psee_plugins)
Documentation
- Added a new Application Note on “How to build your event-based application” that offers valuable tips and best practices for the topic
- Specified the Visual Studio version mentioned in the Windows OpenEB and SDK PRO installation guides (Fall 2023 LTSC - version 17.8)
v4.6.0
Prophesee Devices
- Added support of EVT3 and EVT2 in EVK3 GenX320 MP (Mass Production) plugin
Open SDK Modules (OpenEB)
- Added metavision_hal_get_started sample that shows how to use SDK Python HAL API to read events from a live camera or from a RAW file
- Added new dedicated exception class (
Metavision::HalConnectionException) to catch camera connection errors - Deprecated
I_EventsStreamDecoder::preset_timestamp()andI_EventsStreamDecoder::preset_timestamp_impl()and added functionsI_EventsStreamDecoder::reset_last_timestamp()andI_EventsStreamDecoder::reset_last_timestamp_impl()to replace them and clarify their role
Documentation
- Added more details on concepts and usage of the SDK Optical Flow Algorithms
- Added documentation about HDF5 tensor files
- Added documentation about Region Of Interest (ROI) that allows to set active/inactive areas on the sensor
- Added documentation about metavision_event_frame_viewer Python sample that shows how to use
metavision_core.event_io.EventFrameIteratorto displays the content of Histo3D and Diff3D event frames
v4.5.2
Prophesee Devices
- Fixed EVK3 GenX320 plugin code that was not setting ROI properly
- Reviewed EVK3 GenX320 MP plugin initialization sequence and adjusted biases default values
SDK Modules
- Enabled OpenEB (or the full SDK for SDK Pro customers) to be used as a submodule making it easier to integrate from source as a dependency in CMake and hence link with it statically
- Added new command line option --input-camera-config to multiple C++ samples (e.g. Generic Tracking, Sparse Optical Flow etc.) allowing to restore settings to be used with a live camera from a JSON file
- Harmonize command line options in samples for specifying input event file from --input-raw-file and --input-file into --input-event-file
- Updated Standalone encoders & decoder samples to latest RAW file standards
- Fixed metavision_viewer ROI command line option that was failing for EVK3 GenX320
- Fixed metavision_file_to_hdf5 that was raising an error on Ubuntu when the output path contained only a file name without a folder name
- Fixed metavision_file_to_hdf5 that contained an assert that would fail when the sample was compiled in debug mode on Windows
- Fixed metavision_psm that was not working when using a live camera
Integration with third-party tools
- New release of the Prophesee MVTec HALCON Acquisition Interface that fixes some issues on Windows and provides a Metavision HALCON Extension Package.
Installation
- Added a Dockerfile to ease the installation of OpenEB on Linux
Documentation
- Added Programming guide about camera settings tuning including a section on how to save/load camera settings to/from files
- Removed the Jupyter Notebook version of our Python Tutorials to ease future enhancements and maintenance of those guides
v4.5.1
-
Prophesee Devices
- Fixed start sequence of EVK3 GenX320 MP adding missing frame blanking configuration that could lead to loss of data during transmission.
- Fixed metavision_riscv_logger sample that was not working properly with EVK3 GenX320 MP
-
Documentation
- Added “Train and Test Event-based Yolo Detection Model” tutorial that shows how to leverage the popular frame-based neural networks for event-based vision with minimum modifications
- Added default biases values for GenX320 MP sensor in the Biases page
- Added link to KC article about boosting Sync Out signal in the Synchronization page
v4.5.0
-
Prophesee Devices
-
Added support of EVK3 GenX320 MP based on the Mass Production (MP) model of the new GenX320 sensor
-
Added sample metavision_riscv_logger that shows how to receive log messages from an application embedded in the GenX320 sensor
-
-
Open SDK Modules (OpenEB)
-
In I_ROI class:
- Added get_lines() that returns active ROI/RONI lines
- Reviewed implementation of set_windows() to leverage native “window mode” of IMX636 and Genx320 sensors
-
Added RollingEventBuffer utility class that can manage overlapping events time slices.
-
In I_EventsStream class, the function
RawData *get_latest_raw_data(long &n_rawbytes)is deprecated in favor ofDataTransfer::BufferPtr get_latest_raw_data()that uses smart pointers to improve and simplify memory management -
Enhanced File to HDF5 Converter to enable batch conversion of datasets
-
Added a
resize()method in the event buffer structure exposed to python
-
-
Installation
- Upgraded VCPKG from version 2022.03.10 to 2023.11.20. for Windows installation
-
Documentation
-
Added Architecture section describing the design and workflows of HAL, Driver module and the Camera Plugins.
-
Added section listing support of Operating Systems and EVKs in previous versions of the SDK
-
Added Camera Plugin Upgrade Guide page listing all the API changes to take into account for the maintenance of the camera plugins.
-
In Biases page, added API usage examples showing how to disable biases ranges check
-
Clarified difference between HDF5 event files and HDF5 files generated by pre-processing in ML module
-
In Active Pixel Detection sample page, added that this tool can also be used to detect active pixels for other sensors than GenX320 (Gen3.1, Gen4.1 and IMX636)
-
Added new entry in the FAQ about error raised when trying to read files with non-ANSI characters in the path
-