ratal / mdfreader

Read Measurement Data Format (MDF) versions 3.x and 4.x file formats in python
Other
169 stars 74 forks source link

Issue with multidimensional array in mdf3reader.py #48

Closed rucarden closed 7 years ago

rucarden commented 7 years ago

Encountered error when importing an mdf v3.20 file. Line 720 of mdf3reader.py.

Python complains that the inputs to right_shift are not supported. The code fails when temp is a 2D array with type |V8.

ratal commented 7 years ago

What version are you using ? For latest commit, right_shift is at line 839. Anyway, temp should not be 2D array but a vector, this is not possible according to specification, only possible from mdf 4.x So there is something wrong before the right_shift.

rucarden commented 7 years ago

I am using the version that pip3.5 installs, version 0.2.3. On further inspection, It is not so much a 2D array is it is an numpy.void array. With the elements consisting of 64bits. Each element shows up as an array of 8 8 bit integers. Do you have any idea what would have led to this happening? I suppose I could install the latest version.

On 03/21/2017 03:24 PM, Aymeric Rateau wrote:

What version are you using ? For latest commit, right_shift is at line 839. Anyway, temp should not be 2D array but a vector, this is not possible according to specification, only possible from mdf 4.x So there is something wrong before the right_shift.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ratal/mdfreader/issues/48#issuecomment-288190830, or mute the thread https://github.com/notifications/unsubscribe-auth/AA6KDaNqU5bvy_QUPY6RF52SxQY9Bwfxks5roCPhgaJpZM4Mj9Z1.

ratal commented 7 years ago

I think latest version should not solve this issue. right_shift should not happen for a 8bytes channel, only for 1 or 2 bytes: it is used to extract a 1 or or 2 bits channel in a byte. There is a bug or your file has some issues.

ratal commented 7 years ago

It means the data type is not understood well. Thinking again about it, latest commit brought robustness improvements regarding exotic data structures for mdf3, you could give a try. If it still does not work, you can send me more details for data structure using mdfvalidator from vector or send me the file that I can troubleshoot (if not too confidential)