With a x320 ES (which doesn't support the EVT3 format), a patched OpenEB (to support v4l2 devices) can only write raw files of collected data -- hdf5 files open then almost instantly close without any errors.
If I convert the raw files to hdf5 with `metavision_file_to_hdf5` then only a partial chunk of the total data gets converted before, again, the process closes without any errors (files attached):
- klowrey@smack:/tmp$ metavision_file_info -i bad.raw
- ====================================================================================================
- Name bad.raw
- Path /tmp/bad.raw
- Duration 975ms 342us
- Integrator rp1-cfe
- Plugin name hal_plugin_prophesee
- Data encoding EVT21
- Camera generation 0.0
- Camera systemID -1
- Camera serial rp1-cfe
- ====================================================================================================
- Type of event Number of events First timestamp Last timestamp Average event rate
- ----------------------------------------------------------------------------------------------------
- CD 569624 3 975342 584.0 Kev/s
- klowrey@smack:/tmp$ metavision_file_info -i bad.hdf5
- ====================================================================================================
- Name bad.hdf5
- Path /tmp/bad.hdf5
- Duration 229ms 108us
- Data encoding ECF
- Camera generation 320.0
- Camera serial rp1-cfe
- ====================================================================================================
- Type of event Number of events First timestamp Last timestamp Average event rate
- ----------------------------------------------------------------------------------------------------
- CD 67253 3 229108 293.5 Kev/s
Using OpenEB 4.6.2's file_to_hdf5 can convert the whole file, but the timestamps of the events are not always in sorted order (for non-trivially small datasets). In other words, the only thing we can assume about event cameras is broken.
This could be:
a) data read off the sensor is not in order, but usually openEB flags when this happen which I have not seen
b) data written to the raw file is not in order; looking into the encoded raw formats and concurrent code that does this does not seem like a good time, so I have not figured out a way to check for this. Opening the file again in metavision_viewer seems to play back the data fine (without triggering any events-out-of-order warnings)
c) conversion with hdf5 is broken. Obviously there's something buggy here when the process stops writing data but I'm unable to isolate exactly why 1) stops writing and 2) throws no error.
Little difficult to do anything else if we can't collect reliable data in a format for analysis (ie hdf5), and not sure how to begin debugging this since it touches on a number of things. If there was a way to better examine the hdf5 conversion process or test a raw file for correctness, that would be a helpful way to start.