Skip to content

Releases: aestream/aestream

v0.6.4 Improved camera support and memory leak fix

15 Jun 21:38
30dd6c9
Compare
Choose a tag to compare

This minor release adds some flags to help detect and work with Porphesee cameras and fixes a memory leak when working with CUDA tensors (thanks to @Huizerd!)

What's Changed

New Contributors

Full Changelog: v0.6.3...v0.6.4

Prophesee support in Python and CUDA fixes

15 Feb 21:53
fc2fc88
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.6.2...v0.6.3

Support for Jax

08 Jan 18:02
2902b01
Compare
Choose a tag to compare

This release vastly simplifies the code structure (thanks @cameron-git!), switches to scikit-build-core and simplifies the Python interface code.

What's Changed

  • Scikit build core by @Jegp in #89
  • Reorganized Python interface and added Jax by @Jegp in #96

Full Changelog: v0.6...v0.6.2

ZMQ, EVT3 support, event viewer, and bug fixes

17 Jul 11:32
bf253d0
Compare
Choose a tag to compare

This release marks the addition of the SynSense Speck chip (via ZMQ) and the EVT3 Metavision file format.
We also implemented a rudimentary event viewer, requiring SDL2 as dependency.

Additionally, we found and resolved a memory leak when streaming tensors to the GPU.

What's Changed

New Contributors

Full Changelog: v0.5...v0.6

Support for DAT files and native GPU

27 Mar 23:02
Compare
Choose a tag to compare

The most significant change in this release is the migration to the DLPack in-memory structure via nanobind. Briefly speaking, this means cleaner integration with numpy and native integration with device tensors, via accelerators such as PyTorch or Jax. In practice, we can now remove heavy dependencies because we hand off event data solely based on their memory pointers, without requiring large library APIs.

This release took a while, but it's worth the effort, and there are many future enhancements in the works. For instance, support for Inivation and Prophesee cameras, support for additional file formats, and performance improvements. 🚀

A big thank you to @stevenabreu7 for helping with M1 support, @cameron-git for efforts around documentation, API design, and reviews, and @cantordust for participating in API design, reviews, and lively discussions about C++ shenaningans ❤️

What's Changed

  • Package restructure by @Jegp in #46
  • Support for both numpy and pytorch by @Jegp in #52
  • Documentation by @Jegp in #55
  • add M1 support by @stevenabreu7 in #56
  • Re-introduced file reading with nanobind primitives by @Jegp in #57
  • Re-introduced AEDAT4 and restructured file reading by @Jegp in #59

Full Changelog: v0.4.0...v0.5

Performance and robustness improvements

26 Oct 16:10
Compare
Choose a tag to compare

This release contributes performance improvements for the GPU accelerated tensor code and robust continuous integration builds, so we can ensure that AEStream works correctly across multiple versions of OSs and Python

Specifically, we have

  • Split CPU and GPU builds, which allows us to test them independently
  • Migrated to scikit-build to support matrix builds in continuous integration
  • Added the aestream binary on pip install, so users can avoid cmake'ing the project from source
  • Performance improvements for assigning event-data to CUDA tensors

Device discovery and CUDA acceleration

26 Sep 20:27
5f7c075
Compare
Choose a tag to compare

This release features device-agnostic discovery, which removes the need for USB hardware addresses in the Python interface. Devices can now directly be opened by USBInput((X,Y)) instead of USBInput(hw_bus, hw_address, (X, Y)).

Additionally, CUDA code was added to accelerate GPU-related code while fixing a memory-related bug in recent versions of CUDA/PyTorch.

Finally, we added smaller fixes related to Prophesee cameras, GitHub workflows, and documentation.

AEStream v0.2.0: Aedat4 output support and PyPi wheels

10 Aug 14:19
Compare
Choose a tag to compare

This release adds support to dump .aedat4 files from any input source as well as a number of smaller bugfixes.

Behind the scenes, we have also added continuous integration testing and wheel building, which should make Python installations of aestream via pip much faster.

What's Changed

Full Changelog: v0.1.0...v0.2.0

AEStream v0.1.0

02 Mar 11:08
Compare
Choose a tag to compare

First public release of aestream with both C++ and Python interfaces.

This release introduces support for

  • Python: USB (Inivation cameras) and UDP (network via the SPIF protocol) inputs
  • C++:
    • Inputs: USB (Inivation and Prophesee cameras), files (.aedat and .aedat4)
    • Outputs: Stdout and UDP (network via the SPIF protocol)