Tags give the ability to mark specific points in history as being important
-
2.0.4
Release: 2.0.4bf8c0ee8 · ·Release 2.0.4 - 29.07.2026 NEW FEATURES C++23 standard now required and used. Ubuntu 26.04 now supported. Support for Python 3.14 added. Python 3.8 and Pypi are no longer supported. OpenCV 5 compatibility verified. BUG FIXES DVXplorer Lite: fixed re-initialization of camera without re-connection required. Python: removed logger function for camera opening in Python, due to how pybind wraps the constructor, a deadlock is possible if the logger is ever triggered during camera object construction, which is very likely. To still allow debugging, camera messages are printed to stderr on Python. Debug level selection is available. Python: add missing generator control functions for DAVIS and DVXplorer.
-
2.0.1
Release: 2.0.158ad7191 · ·Release 2.0.1 - 19.07.2025 INCOMPATIBLE CHANGES - Cameras: minor API change resulting from switch to libusb per-context loggers - remove static USBDevice::setLibUsbLogger(). - add logger callback arguments to discover(), findDevices(), open() and openSync(). - change order of default arguments deviceLogger/deviceLogLevel on camera construction. BUG FIXES - Cameras: fix usb control transfer in notification. - Cameras: improve logging and cleanup on startup errors. - CMake: improve linking of lz4, zstd and libbacktrace when falling back to FIND_LIBRARY(). NEW FEATURES - Python Wheels: add support for NumPy 2.x. - Python Wheels: add support for free-threaded CPython with no GIL. - Python Wheels: pre-built wheels only available for MacOS 15 and newer.
-
2.0.0
Release: 2.0.09ba672ab · ·Release 2.0.0 - 15.07.2025 INCOMPATIBLE CHANGES CMake: renamed options with DVP_ prefix to prevent collisions, ie. DVP_ENABLE_TESTS. Build: raised minimum compiler versions to GCC 13, clang 18, XCode 16 or MSVC 19.39 (Visual Studio 2022 17.9). Build: raised minimum dependency versions to boost 1.80, fmt 9.1.0, libusb 1.0.23. C++/Python: removed all deprecated functions and types. C++/Python: fixed naming of constants and enums, now SCREAMING_SNAKE_CASE as per guidelines. cstring/cvector: removed own re-implementations of std::string (dv::cstring) and std::vector (dv::cvector), the standard containers are used instead. You will need to recompile. CameraCapture: removed CameraCapture class, see NEW FEATURES for replacement. StereoCapture: removed StereoCapture class, see NEW FEATURES for replacement. Renamed OutputBase::writeIMU() function to writeImu() to be consistent with other function names. dv::runtime_assert(): changed to use functors, allowing guaranteed removal on non-debug builds. StereoGeometry: instances of trasformToLeft have changed type to dv::kinematics::Transformationf instead of std::vector. Accumulator: getShape() renamed to getResolution(). fmt: removed custom std::vector formatter, use the official one from the fmt library instead. Ubuntu: dropped support for Bionic 18.04. Python: dropped support for Python 3.6. Point cloud sample: removed due to build issues with PCL dependency. PoseVisualizer: significantly refactored to improve rendering and add new features. NEW FEATURES Device Access: new set of classes and functions to access cameras in the dv::io::camera namespace, replacing CameraCapture, StereoCapture and libcaer. Classes DVS128, DAVIS, DVXplorer and DVXplorerM (for Mini/Micro) allow access to all camera features. New base classes CameraInputBase and SyncCameraInputBase allow for generic handling of features supported by all cameras, as well as enhanced synchronization support. A selection of notable new features: all camera features are properly exposed through a simple API now, no need to use cryptic libcaer codes proper inheritance allows generic handling of cameras and common functionality significantly improved data parser performance, especially for S5K231Y sensor on DVXplorer Mini/Micro synchronization of an arbitrary number of cameras supported via dv::io::camera::synchronizeAny() DAVIS: supply your own exposure control function DVS128/DAVIS: simplified biasing with clearer names DVXplorer: allow finer bias control for ON/OFF contrast thresholds For DVXplorer Mini/Micro only: a firmware upgrade (v10) is required for compatibility with new classes. CMake: added support for sanitizer checks. Ubuntu: added support for Noble 24.04. Boost: added compatibility with latest boost::ASIO releases. fmt: added printers for all enums (also work with std::ostream <<). Noise Filters: added frequency filters LowPassFilter, HighPassFilter, BandPassFilter, BandCutFilter. Noise Filters: added KNoiseFilter, implementation as proposed by Khodamoradi in his paper: "O(N)-Space Spatiotemporal Filter for Reducing Noise in Neuromorphic Vision Sensors". Inputs: added isStreamAvailable(streamName), isRunning(streamName) and isRunningAny(). Inputs/Outputs: now properly inherit from InputBase/OutputBase respectively, allowing generic handling. Motion compensation benchmarks: separate motion compensation benchmarks from accumulation benchmarks. Contrast maximization benchmarks: add benchmarks for contrast maximization under translational motion. Noise filtering samples: added all noise filters present in dv-processing. StereoGeometry: added convertDisparityToDepth() function. fmt::format: added formatters for cv::Mat, cv::Size, cv::Point and cv::Rect. SimpleFile: added readInto() to read file contents into a given memory location. BUG FIXES StereoGeometry: fixed bug with rectified image size when handling cameras of different resolutions.
-
1.7.9
Release: 1.7.99a15b080 · ·Release 1.7.9 - 20.07.2023 BUG FIXES - CMake: fix VCPKG tools compilation on MSVC. - Python: improve pip installation scripts. - CameraCapture: do not return empty trigger packets to user. - CameraCapture: do not generate timestamp reset twice on startup. - CameraCapture: better DVX Mini synchronization to system time. - CalibrationSet: fix writeToFile() function const-ness. - RedetectionStrategy: fix deprecated decideRedection() function return. - i686: fix alignment checks for 32bit architectures. - eDVS: fix support for eDVS4337 device. - StereoGeometry: fix bug with rectified image size when handling cameras of different resolutions. - MeanShiftTracker: fix bug with track updates' timestamp. - EventStore: do not accept null EventPackets on construction. - StreamSlicer: fix unbounded growth of non-EventStore stream slicers when using slice-by-time mode. - Submodules: update all external git submodule dependencies. - Python: add missing methods get/setNeutralPotential() to EdgeMapAccumulator. - CameraCalibration: fix getTransformMatrix() row-major ordering. - StereoGeometry: fix computation of right to left transformation from existing camera calibration. - StereoGeometry: fix toDepthFrame() using incorrect signed integers. - MultiStreamSlicer: fix time slicing of multiple streams and deletion of delivered data after usage. - Python: add missing method getPotentialSurface() to Accumulator.
-
1.7.7_internal
Release: 1.7.7_internal228fa6a7 · ·Release 1.7.7 - 20.01.2023 BUG FIXES - CameraCapture: fix DVXplorer Mini support. - StereoCapture: improve time synchronization behavior.
-
1.7.6_internal
Release: 1.7.6_internalf2e4e734 · ·Release 1.7.6 - 13.01.2023 BUG FIXES - CameraCapture: fix timestamp resets not being correctly processed on camera start, if multiple were present or other data was present.
-
1.7.5_internal
Release: 1.7.5_internal1561cb21 · ·Release 1.7.5 - 09.01.2023 BUG FIXES - CameraCapture: fix timestamp reset not available in DVX Mini.
-
1.7.4_internal
Release: 1.7.4_internalae8ec385 · ·Release 1.7.4 - 21.12.2022 BUG FIXES - NetworkReader: throw exception if no streams found, don't crash.
-
1.7.3_internal
Release: 1.7.3_internal7c3f2d8e · ·Release 1.7.3 - 20.12.2022 BUG FIXES - fmt::format: fix compatibility with fmt library version 8.
-
1.7.2_internal
Release: 1.7.2_internal689d2561 · ·Release 1.7.2 - 19.12.2022 BUG FIXES - CMake: fix targets include, fix Python discovery.
-
1.7.1_internal
Release: 1.7.1_internalaf61abd1 · ·Release 1.7.1 - 16.12.2022 BUG FIXES - CMake Tests: fix boost-ut integration, issues with Ubuntu packages and CMake CPM fixed.
-
1.7.0_internal
Release: 1.7.0_internalfb675fea · ·Release 1.7.0 - 15.12.2022 NEW FEATURES - dv::io::NetworkReader class for reading data from TCP / UNIX socket servers. - dv::io::NetworkWriter class for writing data as TCP / UNIX socket servers. - New utility `dv-tcpstat` to get information about an existing network stream. - Introduce generic `dv::StreamSlicer` that supports any type of stream for slicing. - Introduce `dv::MultiStreamSlicer` which performs synchronous slicing on multiple streams. - `dv::CameraCapture` now provides methods to read seek timestamps of available data streams. - New event-based blob detector. - New event-based feature tracker using mean shift algorithm with optimal mode search on time surface. - Redetection Strategy: added new strategies UpdateIntervalRedetection and UpdateIntervalOrFeatureCountRedetection. - EventStore: added sliceRate() method to slice an EventStore to keep a specific event-rate. - Data Packets: added ostream printers for all data packets. - Camera Capture: added control functions getDavisExposureDuration(), setDVXplorerGlobalReset() and setDVXplorerEFPS(). - Event Visualizer: added generateImage() method to draw events on a given background image. - core/time.hpp: concentrated time-related definitions and functions in one header file. BUG FIXES - Some performance improvements in `dv::CameraCapture` and `dv::MonoCameraRecording` by avoiding some memory copies. - Camera calibration: fixed ostream printer, wrong transformation matrix was printed. - Python: fixed CameraCapture.enableDavisAutoExposure() calling wrong C++ function. - TimeSurface: fix type checks in getOCVMat() and getOCVMatScaled(). - Features: fixed typo redection -> redetection in several function names. - Camera Capture: disabled global hold setting for DVXplorer, not useful for most users and inconsistent with other libraries published. - CMake: cleanup, better submodule support. - dv-imu-bias-estimation utility: fix crash if no camera name provided.
-
1.6.0
Release: 1.6.061580b28 · ·Release 1.6.0 - 18.10.2022 NEW FEATURES - New documentation available, with multiple examples in C++ and Python. - Optimized event filtering , reduced execution time for all event filters, speed-up up to 150%. - dv::io::ReadOnlyFile: more robust detection of corrupted/incomplete files. - VCPKG: dv-processing is now available in the VCPKG repository. Manual build is possible via the BUILD_CONFIG_VCPKG CMake flag. - `dv::PixelAccumulator` (now deprecated) is renamed into `dv::EdgeMapAccumulator` for better naming. - `cv::features::FeatureDetector` now uses `cv::GFTTDetector` as default feature detector. - Added getter for last keypoints inside FeatureTracks class and accept for batch of keypoints. BUG FIXES - `dv::EventStore::sliceBack()` is now correctly marked as const method. - camera capture: returned dv::Frame timestamp was incorrectly set, now correctly represents the start of exposure. - dv::io::ReadOnlyFile: when reading an empty file, an exception was incorrectly thrown. Now, the empty file will correctly be opened and returned with no content. - Python: added missing isEventStreamAvailable(), isImuStreamAvailable() and isTriggerStreamAvailable() functions for CameraCapture. - StereoCameraRecording: fix inconsistent usage of std::string instead of fs::path in constructor. - CMake: fixed detection of LZ4 and ZSTD libraries in multiple environments. - CMake: fixed detection of custom boost in cross-compile environments. - CMake: fixed compiler check. - Fixing feature redetection bug that returns invalid features when no additional feature are found. - Explicit timestamp reset signal is now sent in the `dv::io::CameraCapture` class constructor. - FeatureTracks: fixed bug in clear method. Missing reset "mHighestTime". - Fixed a bug in FeatureTracks which causes out-of-order exception after calling clear() method.
-
1.6.0_internal
Release: 1.6.0_internal61580b28 · ·Release 1.6.0 - 18.10.2022 NEW FEATURES - New documentation available, with multiple examples in C++ and Python. - Optimized event filtering , reduced execution time for all event filters, speed-up up to 150%. - dv::io::ReadOnlyFile: more robust detection of corrupted/incomplete files. - VCPKG: dv-processing is now available in the VCPKG repository. Manual build is possible via the BUILD_CONFIG_VCPKG CMake flag. - `dv::PixelAccumulator` (now deprecated) is renamed into `dv::EdgeMapAccumulator` for better naming. - `cv::features::FeatureDetector` now uses `cv::GFTTDetector` as default feature detector. - Added getter for last keypoints inside FeatureTracks class and accept for batch of keypoints. BUG FIXES - `dv::EventStore::sliceBack()` is now correctly marked as const method. - camera capture: returned dv::Frame timestamp was incorrectly set, now correctly represents the start of exposure. - dv::io::ReadOnlyFile: when reading an empty file, an exception was incorrectly thrown. Now, the empty file will correctly be opened and returned with no content. - Python: added missing isEventStreamAvailable(), isImuStreamAvailable() and isTriggerStreamAvailable() functions for CameraCapture. - StereoCameraRecording: fix inconsistent usage of std::string instead of fs::path in constructor. - CMake: fixed detection of LZ4 and ZSTD libraries in multiple environments. - CMake: fixed detection of custom boost in cross-compile environments. - CMake: fixed compiler check. - Fixing feature redetection bug that returns invalid features when no additional feature are found. - Explicit timestamp reset signal is now sent in the `dv::io::CameraCapture` class constructor. - FeatureTracks: fixed bug in clear method. Missing reset "mHighestTime". - Fixed a bug in FeatureTracks which causes out-of-order exception after calling clear() method.
-
1.5.0
Release: 1.5.051313173 · ·Release 1.5.0 - 19.07.2022 NEW FEATURES - Introducing `dv::SparseEventBlockMatcher`, a class which efficiently performs stereo depth matching on sparse set of coordinates among two calibrated stereo streams. It estimates disparity between two event streams by sparsely accumulating only the regions of interest to reduce computational complexity. - New implementation of Contrast Maximization, see documentation at docs/source/contrast_maximization.md. - StereoGeometry: introducing `unmapPoint` method which transforms coordinates from undistorted rectified pixel space into original camera pixel space. - Samsung EVK is now supported in `dv::io::CameraCapture` - `dv::io::CameraCapture` introduces new methods to get and set timestamp offset. - Introducing `dv::io::CameraInputBase`: an interface class to abstract live camera and AEDAT4 recordings with a common interface. - Python: NumPy accessors for data. - Python: support for pip install via setup.py, see docs/python-installation/ubuntu.md. BUG FIXES - FilterChain: ignore empty packets during time monotonicity check. - CameraGeometry: fixed a bug which caused incorrect `distort` method results with RadTan model containing 4 parameters. - StereoEventStreamSlicer: fixed failed synchronization in case when right camera data is forward in time with fixed offset. Accept now supports optionals also, making it easier to use directly with camera input. - MeanShift clustering: making low level functions available, so users can access intermediate results from clustering. - CalibrationSet: fixing a crash while parsing V1 format invalid XML calibration files, throws an exception instead. - Adding convenience methods to access timestamps, coordinates, and polarities as Eigen (C++)/NumPy (Python) arrays. - Adding missing packet data types for more convenient IO operations in python. - Adding samples of reading / writing live cameras. - `dv::PixelAccumulator` now return `-1` timestamp when no events were passed into accept. - `dv::Accumulator` generates identical output when called `generateFrame` without passing data. - CameraGeometry: `undistort` method returned incorrect result if used with floating point coordinates. - CameraGeometry: minor performance improvements. - PixelAccumulator: decay is now applied before accumulation, decay values are now interpreted within [0.0; 1.0] to simplify the approach. - `dv.io.discoverDevices()` is added to Python bindings. - Adding missing constructor for `dv.io.MonoCameraWriter.Config` class. - Adding `dv.io.StereoCameraRecording` in Python bindings. BACKPORTED BUG FIXES - dv::io::ReadOnlyFile: more robust detection of corrupted/incomplete files. - dv::io::ReadOnlyFile: when reading an empty file, an exception was incorrectly thrown. Now, the empty file will correctly be opened and returned with no content. - Python: added missing isEventStreamAvailable(), isImuStreamAvailable() and isTriggerStreamAvailable() functions for CameraCapture. - StereoCameraRecording: fix inconsistent usage of std::string instead of fs::path in constructor. - CMake: fixed detection of LZ4 and ZSTD libraries in multiple environments. - CMake: fixed detection of custom boost in cross-compile environments. - CMake: fixed compiler check.