open-neuromorphic / expelliarmus

A Python package for decoding RAW and DAT files (Prophesee) to structured NumPy arrays of events.
https://expelliarmus.readthedocs.io/
GNU General Public License v2.0
34 stars 10 forks source link

ERROR: event type not recognised: 0xa. #18

Open wanghongjian98 opened 12 months ago

wanghongjian98 commented 12 months ago

I was trying to decode my raw data of events from EVK 3 , but it shows "ERROR: event type not recognised: 0xa.", during the reading.

wizard = Wizard(encoding="evt3") wizard.set_file(fpath) arr = wizard.read()

wanghongjian98 commented 12 months ago

the header of my raw data is slightly different from yours, mine is like,

% camera_integrator_name Prophesee % date 2023-04-03 11:36:26 % evt 3.0 % format EVT3;height=720;width=1280 % geometry 1280x720 % plugin_integrator_name Prophesee % plugin_name hal_plugin_imx636_evk4 % sensor_generation 4.2 % serial_number 0005xxxx % system_ID 49 % end �����D����v������������p���p�������� a����>a�����pa���a���p���p�����a�����a����b����8b���Pb���p���p�jb�����b�����b�����c��c�

fabrizio-ottati commented 12 months ago

Uhm this is strange indeed! I will look into it ASAP.

wanghongjian98 commented 12 months ago

Yes, but I ran your instruction and it can work, I think it may because of the difference in the saving format of my EVK3 and yours.

fabrizio-ottati commented 12 months ago

What do you mean, precisely?

wanghongjian98 commented 12 months ago

I can not decode my raw data of events from EVK 3 by your code, I find our raw data is different in their header, is this a problem? How to fix this

fabrizio-ottati commented 10 months ago

Hi! Sorry for getting back to you so late but I swamped with thesis writing :) I will look into it!

fabrizio-ottati commented 10 months ago

Can you provide the header of your recording? You could do something like this on an Unix machine:

head -n 20 /path/to/EVT3/file > ./my-recording-header.raw
lecomtefortiss commented 7 months ago

Hello dear developers, I got the same issue, it's most likely because of the camera used during the recordings, the .raw files from the 4.2 generation (recorded with an evk4 camera) are not read , while the 4.1 (with an evk3 camera) generation is correctly read.

Header of the new recordings : % camera_integrator_name Prophesee % date 2023-12-12 14:15:50 % evt 3.0 % format EVT3;height=720;width=1280 % generation 4.2 % geometry 1280x720 % integrator_name Prophesee % plugin_integrator_name Prophesee % plugin_name hal_plugin_prophesee % sensor_generation 4.2 % serial_number 00050414 % system_ID 49 % end

Header of the correctly read recordings : % date 2023-12-12 13:26:27 % evt 3.0 % firmware_version 0.0.0 % format EVT3 % geometry 1280x720 % integrator_name Prophesee % plugin_name hal_plugin_gen41_evk3 % sensor_generation 4.1 % serial_number 00042251 % system_ID 48

What is the status of this issue ? Is there a way to decode recordings from the 4.2 generation ? Or is this something being planned in the near future ? In case, the metavision SDK 4.5.1 can read those files, but older versions ( at least 3.0.2 that I had before) are not able to. Best Regards, Jules

fabrizio-ottati commented 7 months ago

Hola! Thing is, until Aprile I have zero time to fix these errors. Most I can do, is review PRs that fix it, which would be nice. I cannot get my hands on this before April, it is in my low priority list. You can take a look at AEStream, which is supposed to process EVT3 files, even though I am not sure about that.

lbristiel-psee commented 7 months ago

Hello all,

I don't have the bandwidth neither to look into the source code of this repo to see the cause of the issue, but I can help with some information about the Prophesee RAW file headers. As you can see, the headers produced by our last version of the SDK changed slighty to accomodate with some changes we are doing in our plugin code. But the "data" content (the events) remains exactly the same, this is EVT3 encoded data. So if this repo is able to read RAW files with old headers, you can simply update the header from your new RAW files and use the old header format. And some information about RAW file and EVT3 encoding can be found here:

Hope this helps! Laurent (Prophesee)

fabrizio-ottati commented 7 months ago

Thanks @lbristiel-psee :) I think the problem is the one you pointed out in #19. It is a simple fix to do for me, but I do not have the bandwith at the moment. Happy to guide anyone among @lecomtefortiss @wanghongjian98 @fedebecat to create a PR for this fix. Until now, I am the only developer of Expelliarmus.