eelbrain.pipeline.PrimaryEpoch¶
-
class
eelbrain.pipeline.
PrimaryEpoch
(session, sel=None, **kwargs)¶ Epoch based on selecting events from a raw file
Parameters: - session : str
Session (raw file) from which to load data.
- sel : str
Expression which evaluates in the events Dataset to the index of the events included in this Epoch specification.
- tmin : float
Start of the epoch (default -0.1).
- tmax : float
End of the epoch (default 0.6).
- samplingrate : scalar
Target samplingrate. Needs to divide data samplingrate evenly (e.g.
200
for data sampled at 1000 Hz; default200
).- decim : int
Alternative to
samplingrate
. Decimate the data by this factor (i.e., only keep everydecim
’th sample).- baseline : tuple
The baseline of the epoch (default
(None, 0)
; iftmin > 0
: no baseline; iftmax < 0
: the whole interval).- n_cases : int
Expected number of epochs. If n_cases is defined, a RuntimeError error will be raised whenever the actual number of matching events is different.
- trigger_shift : float | str
Shift event triggers before extracting the data [in seconds]. Can be a float to shift all triggers by the same value, or a str indicating an event variable that specifies the trigger shift for each trigger separately. The
trigger_shift
applied after loading selected events. For secondary epochs thetrigger_shift
is applied additively with thetrigger_shift
of their base epoch.- post_baseline_trigger_shift : str
Shift the trigger (i.e., where epoch time = 0) after baseline correction. The value of this entry has to be the name of an event variable providing for each epoch the actual amount of time shift (in seconds). If the
post_baseline_trigger_shift
parameter is specified, the parameterspost_baseline_trigger_shift_min
andpost_baseline_trigger_shift_max
are also needed, specifying the smallest and largest possible shift. These are used to crop the resulting epochs appropriately, to the region fromnew_tmin = epoch['tmin'] - post_baseline_trigger_shift_min
tonew_tmax = epoch['tmax'] - post_baseline_trigger_shift_max
.- vars : dict
Add new variables only for this epoch. Each entry specifies a variable with the following schema:
{name: definition}
.definition
can be either a string that is evaluated in the events-Dataset`, or a(source_name, {value: code})
-tuple.source_name
can also be an interaction, in which case cells are joined with spaces ("f1_cell f2_cell"
).
See also
Examples
Selecting events based on a categorial label:
PrimaryEpoch('session', "variable == 'label'")
Based on multiple categorial labels:
PrimaryEpoch('session', "variable.isin(['label1', 'label2'])")