SpectrumPlots#

class sleepeegpy.base.SpectrumPlots[source]#

Bases: ABC

Plotting spectral data.

Methods:

plot_psds

Plot PSD per sleep stage.

plot_topomap

Plots topomap for a sleep stage and a frequency band.

plot_topomap_collage

Plots topomap collage for multiple sleep stages and bands.

save_psds

Saves SleepSpectrum objects to h5 files.

Attributes:

psds

Instances of SleepSpectrum per sleep stage.

psds: dict#

Instances of SleepSpectrum per sleep stage.

plot_psds(picks, psd_range=(-40, 60), freq_range=(0, 60), dB=True, xscale='linear', axis=None, plot_sensors=False, save=False, legend_args=None, **plot_kwargs)[source]#

Plot PSD per sleep stage.

Parameters:
  • picks (Iterable[str] | str) – Channels to plot PSDs for. Refer to mne.io.Raw.pick().

  • psd_range (tuple) – Range of y axis on PSD plot. Defaults to (-40, 60).

  • freq_range (tuple) – Range of x axis on PSD plot. Defaults to (0, 40).

  • dB – Whether transform PSD to dB. Defaults to True.

  • xscale (str) – Scale of the X axis, check available values at matplotlib.axes.Axes.set_xscale(). Defaults to “linear”.

  • axis (axis) – Instance of matplotlib.axes.Axes. Defaults to None.

  • plot_sensors (bool) – Whether to plot sensor map showing which channels were used for computing PSD. Defaults to False.

  • save (bool) – Whether to save the figure. Defaults to False.

  • **plot_kwargs – Arguments passed to the matplotlib.pyplot.plot(). Have no effect if axis is provided.Defaults to None.

plot_topomap(stage='REM', band={'Delta': (0, 4)}, dB=False, axis=None, save=False, topomap_args=None, cbar_args=None)[source]#

Plots topomap for a sleep stage and a frequency band.

Parameters:
  • stage (str) – One of the sleep_stages keys. Defaults to “REM”.

  • band (dict) – Name-value pair - with name=arbitrary name and value=(l_freq, h_freq). Defaults to {“Delta”: (0, 4)}.

  • dB (bool) – Whether transform PSD to dB. Defaults to False.

  • axis (axis) – Instance of matplotlib.axes.Axes. Defaults to None.

  • save (bool) – Whether to save the figure. Defaults to False.

  • topomap_args (dict) – Arguments passed to mne.viz.plot_topomap().Defaults to None.

  • cbar_args (dict) – Arguments passed to matplotlib.pyplot.colorbar().Defaults to None.

plot_topomap_collage(stages_to_plot='all', bands={'Alpha': (8, 12.49), 'Beta': (12.5, 29.99), 'Delta': (0, 3.99), 'Gamma': (30, 60), 'Sigma': (12.5, 15), 'Theta': (4, 7.99)}, dB=False, low_percentile=5, high_percentile=95, fig=None, save=False, topomap_args=None, cbar_args=None)[source]#

Plots topomap collage for multiple sleep stages and bands.

Parameters:
  • stages_to_plot (tuple) – Tuple of strings representing names from sleep_stages, e.g., (“REM”, “N1”). If set to “all” plots every stage provided in sleep_stages. Defaults to “all”.

  • bands (dict) – Dict of name-value pairs - with name=arbitrary name and value=(l_freq, h_freq). Defaults to { “Delta”: (0, 3.99), “Theta”: (4, 7.99), “Alpha”: (8, 12.49), “Sigma”: (12.5, 15), “Beta”: (12.5, 29.99), “Gamma”: (30, 60), }.

  • dB (bool) – Whether transform PSD to dB. Defaults to False.

  • sleep_stages – Mapping between sleep stages names and their integer representations. Defaults to {“Wake”: 0, “N1”: 1, “N2”: 2, “N3”: 3, “REM”: 4}.

  • low_percentile (float) – Set min color value by percentile of the band data. Defaults to 5.

  • high_percentile (float) – Set max color value by percentile of the band data. Defaults to 95.

  • fig (figure) – Instance of mpl:matplotlib.pyplot.figure. Defaults to None.

  • save (bool) – Whether to save the figure. Defaults to False.

  • topomap_args (dict) – Arguments passed to mne.viz.plot_topomap(). Defaults to None.

  • cbar_args (dict) – Arguments passed to matplotlib.pyplot.colorbar(). Defaults to None.

save_psds(overwrite)[source]#

Saves SleepSpectrum objects to h5 files.

Parameters:

overwrite – Whether to overwrite existing spectrum files.