# yasa.REMResults¶

class yasa.REMResults(events, data, sf, ch_names, hypno, data_filt)[source]

Output class for REMs detection.

Attributes
_eventspandas.DataFrame

Output detection dataframe

_dataarray_like

EOG data of shape (n_chan, n_samples), where the two channels are LOC and ROC.

_data_filtarray_like

Filtered EOG data of shape (n_chan, n_samples), where the two channels are LOC and ROC.

_sffloat

Sampling frequency of data.

_ch_nameslist

Channel names (= ['LOC', 'ROC'])

_hypnoarray_like or None

Sleep staging vector.

__init__(events, data, sf, ch_names, hypno, data_filt)[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

 __init__(events, data, sf, ch_names, hypno, …) Initialize self. compare_channels([score, max_distance_sec]) Compare detected events across channels. compare_detection(other[, max_distance_sec, …]) Compare detected events between two detection methods, or against a ground-truth scoring. get_coincidence_matrix([scaled]) Return a boolean array indicating for each sample in data if this sample is part of a detected event (True) or not (False). get_sync_events([center, time_before, …]) Return the raw or filtered data of each detected event after centering to a specific timepoint. plot_average([center, time_before, …]) Plot the average REM. plot_detection() Plot an overlay of the detected events on the signal. summary([grp_stage, mask, aggfunc, sort]) Return a summary of the REM detection, optionally grouped across stage.
get_mask()[source]

Return a boolean array indicating for each sample in data if this sample is part of a detected event (True) or not (False).

get_sync_events(center='Peak', time_before=0.4, time_after=0.4, filt=None, None, mask=None)[source]

Return the raw or filtered data of each detected event after centering to a specific timepoint.

Parameters
centerstr

Landmark of the event to synchronize the timing on. Default is to use the peak of the REM.

time_beforefloat

Time (in seconds) before center.

time_afterfloat

Time (in seconds) after center.

filttuple

Optional filtering to apply to data. For instance, filt=(1, 30) will apply a 1 to 30 Hz bandpass filter, and filt=(None, 40) will apply a 40 Hz lowpass filter. Filtering is done using default parameters in the mne.filter.filter_data() function.

Custom boolean mask. Only the detected events for which mask is True will be included. Default is None, i.e. no masking (all events are included).

Returns
df_syncpandas.DataFrame

Ouput long-format dataframe:

'Event' : Event number
'Time' : Timing of the events (in seconds)
'Amplitude' : Raw or filtered data for event
'Channel' : Channel
'IdxChannel' : Index of channel in data

plot_average(center='Peak', time_before=0.4, time_after=0.4, filt=None, None, mask=None, figsize=6, 4.5, **kwargs)[source]

Plot the average REM.

Parameters
centerstr

Landmark of the event to synchronize the timing on. Default is to use the peak of the REM.

time_beforefloat

Time (in seconds) before center.

time_afterfloat

Time (in seconds) after center.

filttuple

Optional filtering to apply to data. For instance, filt=(1, 30) will apply a 1 to 30 Hz bandpass filter, and filt=(None, 40) will apply a 40 Hz lowpass filter. Filtering is done using default parameters in the mne.filter.filter_data() function.

Custom boolean mask. Only the detected events for which mask is True will be included. Default is None, i.e. no masking (all events are included).

figsizetuple

Figure size in inches.

**kwargsdict

Optional argument that are passed to seaborn.lineplot().

summary(grp_stage=False, mask=None, aggfunc='mean', sort=True)[source]

Return a summary of the REM detection, optionally grouped across stage.

Parameters
grp_stagebool

If True, group by sleep stage (provided that an hypnogram was used).

Averaging function (e.g. 'mean' or 'median').