Skip to main content

Crate evt3

Crate evt3 

Source
Expand description

EVT 3.0 decoder library for Prophesee event cameras.

This crate provides a high-performance decoder for the EVT 3.0 raw data format used by Prophesee event cameras. It supports decoding CD (Change Detection) events and external trigger events.

§File decode

use evt3::Evt3Decoder;

let mut decoder = Evt3Decoder::new();
let result = decoder.decode_file("recording.raw").unwrap();

println!("Decoded {} CD events", result.cd_events.len());
println!("Sensor: {}x{}", result.metadata.width, result.metadata.height);

§Streaming bytes

use evt3::Evt3Decoder;

let mut decoder = Evt3Decoder::new();
let mut cd_events = Vec::new();
let mut trigger_events = Vec::new();

let chunk1: &[u8] = &[];
let chunk2: &[u8] = &[];

decoder
    .decode_bytes(chunk1, &mut cd_events, &mut trigger_events)
    .unwrap();
decoder
    .decode_bytes(chunk2, &mut cd_events, &mut trigger_events)
    .unwrap();
decoder.finish_stream().unwrap();

§Features

  • Full EVT 3.0 specification support including vectorized events
  • File header parsing for sensor metadata
  • Multiple output formats (CSV, binary, Arrow IPC)
  • Customizable field ordering for output
  • Incremental byte-stream decoding for live camera pipelines

Re-exports§

pub use decoder::DecodeError;
pub use decoder::Evt3Decoder;
pub use file_reader::EventFileReader;
pub use file_reader::DEFAULT_BATCH_BYTES;
pub use output::FieldOrder;
pub use output::OutputError;
pub use sink::ColumnarEventSink;
pub use sink::EventColumns;
pub use sink::EventSink;
pub use sink::TriggerColumns;
pub use types::CdEvent;
pub use types::ColumnarDecodeResult;
pub use types::DecodeResult;
pub use types::SensorMetadata;
pub use types::TriggerEvent;

Modules§

decoder
Stateful EVT 3.0 decoder.
file_reader
Bounded-memory file decoding.
output
Output format writers for decoded EVT 3.0 data.
parser
Low-level parsing of EVT 3.0 raw 16-bit words.
sink
Event sinks used by the decoder hot path.
types
Core types for EVT 3.0 event data.