@@ -23,7 +23,9 @@ def _ensure_path(fname):
2323
2424
2525@fill_doc
26- def read_raw_nihon (fname , preload = False , verbose = None ) -> "RawNihon" :
26+ def read_raw_nihon (
27+ fname , preload = False , * , encoding = "utf-8" , verbose = None
28+ ) -> "RawNihon" :
2729 """Reader for an Nihon Kohden EEG file.
2830
2931 Parameters
@@ -32,6 +34,9 @@ def read_raw_nihon(fname, preload=False, verbose=None) -> "RawNihon":
3234 Path to the Nihon Kohden data file (``.EEG``).
3335 preload : bool
3436 If True, all data are loaded at initialization.
37+ %(encoding_nihon)s
38+
39+ .. versionadded:: 1.11
3540 %(verbose)s
3641
3742 Returns
@@ -44,7 +49,7 @@ def read_raw_nihon(fname, preload=False, verbose=None) -> "RawNihon":
4449 --------
4550 mne.io.Raw : Documentation of attributes and methods of RawNihon.
4651 """
47- return RawNihon (fname , preload , verbose )
52+ return RawNihon (fname , preload , encoding = encoding , verbose = verbose )
4853
4954
5055_valid_headers = [
@@ -317,7 +322,7 @@ def _parse_sub_event_log(sub_event_log):
317322 return t_sub_desc , t_sub_onset
318323
319324
320- def _read_nihon_annotations (fname ):
325+ def _read_nihon_annotations (fname , encoding = "utf-8" ):
321326 fname = _ensure_path (fname )
322327 log_fname = fname .with_suffix (".LOG" )
323328 if not log_fname .exists ():
@@ -348,15 +353,10 @@ def _read_nihon_annotations(fname):
348353 t_onset += t_sub_onset
349354
350355 t_desc = t_desc .rstrip (b"\x00 " )
351- for enc in _encodings :
352- try :
353- t_desc = t_desc .decode (enc )
354- except UnicodeDecodeError :
355- pass
356- else :
357- break
358- else :
359- warn (f"Could not decode log as one of { _encodings } " )
356+ try :
357+ t_desc = t_desc .decode (encoding )
358+ except UnicodeDecodeError :
359+ warn (f"Could not decode log as { encoding } " )
360360 continue
361361
362362 all_onsets .append (t_onset )
@@ -416,6 +416,9 @@ class RawNihon(BaseRaw):
416416 Path to the Nihon Kohden data ``.eeg`` file.
417417 preload : bool
418418 If True, all data are loaded at initialization.
419+ %(encoding_nihon)s
420+
421+ .. versionadded:: 1.11
419422 %(verbose)s
420423
421424 See Also
@@ -424,7 +427,7 @@ class RawNihon(BaseRaw):
424427 """
425428
426429 @verbose
427- def __init__ (self , fname , preload = False , verbose = None ):
430+ def __init__ (self , fname , preload = False , * , encoding = "utf-8" , verbose = None ):
428431 fname = _check_fname (fname , "read" , True , "fname" )
429432 data_name = fname .name
430433 logger .info (f"Loading { data_name } " )
@@ -470,7 +473,7 @@ def __init__(self, fname, preload=False, verbose=None):
470473 )
471474
472475 # Get annotations from LOG file
473- annots = _read_nihon_annotations (fname )
476+ annots = _read_nihon_annotations (fname , encoding )
474477
475478 # Annotate acquisition skips
476479 controlblock = header ["controlblocks" ][0 ]
0 commit comments