Skip to content

v5.0.0

Latest
Compare
Choose a tag to compare
@ogeorget-psee ogeorget-psee released this 07 Oct 12:25
· 25 commits to main since this release

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