Skip to article frontmatterSkip to article content

Faery: A Stream Processing Library for Neuromorphic Event-Based Data

faery logo

1Faery: A Stream Processing Library for Neuromorphic Event-Based Data

PyPI - Downloads GitHub Tag Discord Neuromorphic Computing

Faery converts neuromorphic event-based data between formats. It can also generate videos, spectrograms, and event rate curves.

📄 Read more in our documentation.

1.1Installation

Using pip: pip install faery.

We recommend using a virtual environment to install Faery. More information in the installation instructions.

1.2Usage

Faery can be used as a command line tool or as a Python library.

Command line tool: Faery can convert data between formats, render videos, and analyze event-based data. It is particularly useful for quick conversions and batch processing of multiple files. Here are three examples:

  1. Convert a Prophesee raw file to AEDAT format:
faery input file input.raw output file output.aedat4
  1. Create an MP4 video from your event data with temporal filtering:
faery input file events.aedat4 filter temporal --window-size 1000us output mp4 output.mp4 --frame-rate 30
  1. Stream data from an Inivation camera to a UDP socket (note: requires event camera drivers):
faery input inivation camera output udp localhost 7777

Python library: Faery provides a set of input functions to read event data from files, UDP streams, or other sources. You can chain methods to filter, render, or analyze the data. For example, to render an AEDAT4 event file as a real-time MP4 video:

import faery
faery.events_stream_from_file("input.aedat4") \
    .regularize(frequency_hz=60.0) \
    .render(exponential_decay=0.2, style="starry_night") \
    .to_mp4("output.mp4")

More information is available in the command line usage documentation, the Python library documentation, and the examples directory.

License: LGPLv3.0

Acknowledgments

Faery was initiated at the 2024 Telluride neuromorphic workshop by