When I try to load NirX data with the mne.io.read_raw_nirx function, I'm facing encoding issue with the .hdr file. For now, I'm solving this manually by converting the .hdr to utf8 with a simple text file editor like geany.
MWE
I recorded a test dataset (in a test_github folder), which is composed of the following files :
./NIRS-2020-02-13_001.evt -- inode/x-empty; charset=binary
./NIRS-2020-02-13_001.set -- text/plain; charset=us-ascii
./NIRS-2020-02-13_001.wl1 -- text/plain; charset=us-ascii
./Standard_probeInfo.mat -- application/octet-stream; charset=binary
./NIRS-2020-02-13_001.dat -- text/plain; charset=us-ascii
./NIRS-2020-02-13_001.tpl -- text/plain; charset=us-ascii
./NIRS-2020-02-13_001_config.txt -- text/plain; charset=us-ascii
./NIRS-2020-02-13_001.wl2 -- text/plain; charset=us-ascii
./NIRS-2020-02-13_001.hdr -- application/x-wine-extension-ini; charset=iso-8859-1
./NIRS-2020-02-13_001.inf -- text/plain; charset=us-ascii
./NIRS-2020-02-13_001.avg -- application/octet-stream; charset=binary
These informations were obtained with the following command (linux) :
for f in `find | egrep -v Eliminate`; do echo "$f" ' -- ' `file -bi "$f"` ; done
On python side, here is the code that I intend to use to load the data. I'm using the last version of MNE (0.20.dev0).
#!/usr/bin/env python3
import os
import mne
path = os.sep.join([os.getcwd(), 'test_github'])
raw_intensity = mne.io.read_raw_nirx(path, verbose=True).load_data()
As mentioned here, I should obtain this kind of output :
Loading /home/circleci/mne_data/MNE-fNIRS-motor-data/Participant-1
Reading 0 ... 23238 = 0.000 ... 2974.464 secs...
But actually, the read_raw_nirx command raises the following Traceback :
Loading /home/bvaler01/Documents/programmes/NBack/test_github
Traceback (most recent call last):
File "processing_github.py", line 6, in <module>
raw_intensity = mne.io.read_raw_nirx(path, verbose=True).load_data()
File "/home/bvaler01/.local/lib/python3.7/site-packages/mne/io/nirx/nirx.py", line 39, in read_raw_nirx
return RawNIRX(fname, preload, verbose)
File "</home/bvaler01/.local/lib/python3.7/site-packages/mne/externals/decorator.py:decorator-gen-198>", line 2, in __init__
File "/home/bvaler01/.local/lib/python3.7/site-packages/mne/utils/_logging.py", line 89, in wrapper
return function(*args, **kwargs)
File "/home/bvaler01/.local/lib/python3.7/site-packages/mne/io/nirx/nirx.py", line 113, in __init__
hdr_str = f.read()
File "/usr/lib/python3.7/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 62: invalid continuation byte
The test dataset is available here (.zip). It is a ten-seconds recording, from NirStar 15.2. It should contain noise only (headless record).
When I try to load NirX data with the
mne.io.read_raw_nirxfunction, I'm facing encoding issue with the.hdrfile. For now, I'm solving this manually by converting the.hdrtoutf8with a simple text file editor likegeany.MWE
I recorded a test dataset (in a
test_githubfolder), which is composed of the following files :These informations were obtained with the following command (linux) :
On python side, here is the code that I intend to use to load the data. I'm using the last version of MNE (0.20.dev0).
As mentioned here, I should obtain this kind of output :
But actually, the
read_raw_nirxcommand raises the following Traceback :The test dataset is available here (
.zip). It is a ten-seconds recording, fromNirStar 15.2. It should contain noise only (headless record).