BaseHypnoPipe

Tip

🚨 Abstract Class - This class is abstract and cannot be used directly. Subclass it and implement the required methods.

class sleepeegpy.base.BaseHypnoPipe(*, prec_pipe=None, path_to_eeg=NOTHING, output_dir=NOTHING, path_to_hypno=None, hypno_freq=NOTHING, hypno=NOTHING)[source]

Bases: BasePipe, ABC

A base class for the sleep-stage-analysis pipeline segments.

Methods:

interpolate_bads

A wrapper for mne.io.Raw.interpolate_bads()

plot

A wrapper for mne.io.Raw.plot().

plot_sensors

A wrapper for mne.viz.plot_sensors() with a legend.

predict_hypno

Runs YASA's automatic sleep staging.

save_raw

A wrapper for mne.io.Raw.save().

set_eeg_reference

A wrapper for mne.io.Raw.set_eeg_reference().

sleep_stats

A wrapper for yasa.sleep_statistics().

Attributes:

bad_data_percent

Calculates percent of data segments annotated as BAD.

sf

A wrapper for raw.info["sfreq"].

path_to_hypno

Path to hypnogram.

hypno_freq

Sampling rate of the hypnogram in Hz.

hypno

Hypnogram with sampling frequency hypno_freq with int representing sleep stage.

hypno_up

Hypnogram upsampled to the sampling frequency of the raw data.

prec_pipe

Preceding pipe that hands over mne_raw object and output_dir.

path_to_eeg

Can be any eeg file type supported by mne.io.read_raw().

output_dir

Path to the directory where the output will be saved.

mne_raw

An instanse of mne.io.Raw.

path_to_hypno: Path

Path to hypnogram. Must be text file with every row being int representing sleep stage for the epoch.

hypno_freq: float

Sampling rate of the hypnogram in Hz.

E.g., 1/30 means 1 sample per 30 secs epoch, 250 means 1 sample per 1/250 sec epoch.

hypno: ndarray

Hypnogram with sampling frequency hypno_freq with int representing sleep stage.

hypno_up: array

Hypnogram upsampled to the sampling frequency of the raw data.

predict_hypno(eeg_name='E183', eog_name='E252', emg_name='E247', ref_name='E26', save=True)[source]

Runs YASA’s automatic sleep staging.

Parameters:
  • eeg_name (str) – Preferentially a central electrode. Defaults to β€œE183”.

  • eog_name (str) – Preferentially, the left LOC channel. Defaults to β€œE252”.

  • emg_name (str) – Preferentially a chin electrode. Defaults to β€œE247”.

  • ref_name (str) – Reference channel, preferentially a mastoid. Defaults to β€œE26”.

  • save (bool) – Whether to save the hypnogram to file. Defaults to True.

sleep_stats(save=False)[source]

A wrapper for yasa.sleep_statistics().

Parameters:

save (bool) – Whether to save the stats to csv. Defaults to False.

property bad_data_percent[source]

Calculates percent of data segments annotated as BAD.

Returns:

percent of bad data spans in raw data

Return type:

float

interpolate_bads(**interp_kwargs)[source]

A wrapper for mne.io.Raw.interpolate_bads()

Parameters:

**interp_kwargs – Arguments passed to mne.io.Raw.interpolate_bads().

plot(save_annotations=False, save_bad_channels=False, overwrite=False, **kwargs)[source]

A wrapper for mne.io.Raw.plot().

Parameters:
  • save_annotations (bool) – Whether to save annotations as txt. Defaults to False.

  • save_bad_channels (bool) – Whether to save bad channels as txt. Defaults to False.

  • overwrite (bool) – Whether to overwrite annotations and bad_channels files if exist. Defaults to False.

  • **kwargs – Arguments passed to mne.io.Raw.plot().

plot_sensors(legend=None, legend_args=None, **kwargs)[source]

A wrapper for mne.viz.plot_sensors() with a legend.

Parameters:
save_raw(fname, **kwargs)[source]

A wrapper for mne.io.Raw.save().

Parameters:
  • fname (str) – Filename for the fif file being saved.

  • **kwargs – Arguments passed to mne.io.Raw.save().

set_eeg_reference(ref_channels='average', projection=False, **kwargs)[source]

A wrapper for mne.io.Raw.set_eeg_reference().

Parameters:
property sf[source]

A wrapper for raw.info["sfreq"].

Returns:

sampling frequency

Return type:

float

prec_pipe: Type[TypeVar(BasePipeType, bound= BasePipe)]

Preceding pipe that hands over mne_raw object and output_dir.

path_to_eeg: Path

Can be any eeg file type supported by mne.io.read_raw().

output_dir: Path

Path to the directory where the output will be saved.

mne_raw: Raw

An instanse of mne.io.Raw.