Fix, Neuralynx encoding error #1779
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an issue with the same data discussed in #1778
The problem is that the
DspFilterDelay_µs
is sometimes encoded in latin-1 and sometimes encoded in utf8. This means that we decoding with the current method (latin-1) sometimes this specific property is read without the micro symbol and creates a key error here:python-neo/neo/rawio/neuralynxrawio/neuralynxrawio.py
Lines 543 to 548 in 72ec76a
when aggregating annotations over the channels.
This patch fixes this by using a regex to match what Latin-1 will read if the data is encoded as UTF-8.
The deeper problem is that Neuralynx does not really maintain its promise of ASCII headers.
@weiglszonja