ADDER-codec-rs

Encoder/decoder for ADΔER (Address, Decimation, Δt Event Representation) streams. Currently, only implemented for raw (uncompressed) streams.

Usage

Encode a raw stream: ``` let mut stream: RawStream = Codec::new(); match stream.openwriter("/path/to/file") { Ok() => {} Err(e) => {panic!("{}", e)} }; stream.encode_header(500, 200, 50000, 5000, 50000, 1);

let event: Event = Event { coord: Coord { x: 10, y: 30, c: None }, d: 5, deltat: 1000 }; let events = vec![event, event, event]; // Encode three identical events, for brevity's sake stream.encodeevents(&events); stream.close_writer(); ```

Read a raw stream:

let mut stream: RawStream = Codec::new(); stream.open_reader(args.input_filename.as_str())?; stream.decode_header(); match self.stream.decode_event() { Ok(event) => { // Do something with the event } Err(_) => panic!("Couldn't read event :("), }; stream.close_reader();