wonambi.ioeeg.moberg module

class wonambi.ioeeg.moberg.Moberg(filename)[source]

Bases: object

Basic class to read the data.

Parameters:

filename (path to file) – the name of the filename or directory

return_dat(chan, begsam, endsam)[source]

Return the data as 2D numpy.ndarray.

Parameters:
  • chan (int or list) – index (indices) of the channels to read

  • begsam (int) – index of the first sample

  • endsam (int) – index of the last sample

Returns:

numpy.ndarray – A 2d matrix, with dimension chan X samples

return_hdr()[source]

Return the header for further use.

Returns:

  • subj_id (str) – subject identification code

  • start_time (datetime) – start time of the dataset

  • s_freq (float) – sampling frequency

  • chan_name (list of str) – list of all the channels

  • n_samples (int) – number of samples in the dataset

  • orig (dict) – additional information taken directly from the header

Notes

the time is probably in “local” Unix Time, which is in the local time zone, so we read it as “UTC” (meaning, do not apply timezone transformation) and then remove timezone info. The only doubt I have is how to interpret the “SystemOffset” time. I assume it’s in s, and that would fix most of the time zone problems, but it does not take into account DST. Or maybe “SystemOffset” is in micros and we need to apply the correct time zone to TimeStamp Unix time. This needs to be tested with a Moberg system.

return_markers()[source]

Return all the markers (also called triggers or events).

Returns:

list of dict – where each dict contains ‘name’ as str, ‘start’ and ‘end’ as float in seconds from the start of the recordings, and ‘chan’ as list of str with the channels involved (if not of relevance, it’s None).

Raises:

FileNotFoundError – when it cannot read the events for some reason (don’t use other exceptions).