Data need to be in continuous form. We use the default format of EEG.

The minimal required fields (the usual EEGlab-structure) are:

EEG.data (chan x time)

EEG.times (vector of time points in milliseconds)

EEG.srate (samplingrate in Hz)

EEG.event (structure of events, same structure as in EEGlab)

event.type (e.g. ‘stimulus’ or ‘keypress’)

event.latency (in samples)

event.customField (

`customField()`

= name of your variable, e.g.`color()`

. The content should be in this case a string ‘red’ or, for continuous variables, a number)

`EEG.unfold()`

- splines
all information on the splines are saved in here (see below). Each spline is added at splines{end+1}

- formula
contains all formulas specified in

`uf_designmat()`

- X
The designmatrix. This can be used for ‘classical’ mass-univariate linear modeling (

`uf_epoch()`

and`uf_glmfit_nodc()`

)- variabletypes
Type of each variable/predictor, can be ‘categorical’, ‘interaction’, ‘continuous’ and ‘spline’

- variablenames
Name of each variable/predictor without modifiers for level / spline modifier (e.g. factorA, sac_amplitude)

- colnames:
The name of each column of

`X()`

. This field contains the modifier for level and spline (e.g. factorA_face or sac_amplitude_3.5)- cols2variablenames
A list connecting the columns of

`X()`

with the variables.- cols2eventtypes
A list connecting the columns of

`X()`

with possibly multiple events.- eventtypes
The names of the events that are modeled. Only interesting if multiple different events were modeled.

- Xdc
Timeexpanded designmatrix [nsamples x (npredictors x ntimebasisfunctions)]. Output of

`uf_timeexpandDesignmat()`

. If you need to modify this, have a look at`uf_designmat_addcol()`

to see which fields should be modified.- timebasis
The basis-function of the timeexpand for the deconvolution. This matrix could be the identity matrix in case of “stick”/dirac-functions. Used only for splines/fourier time-basis functions

- times: [1×20 double]
A vector containing the time in seconds over what range the timeexpand occurred. This encodes the time of the resulting ERP

- Xdc_terms2cols
A list connecting the columns of

`Xdc()`

with columns of`X()`

- beta_dc
deconvolved betas. Output of

`uf_glmfit()`

. This is the main outcome of this toolbox- beta_nodc
non-deconvolved betas. This is a mass univariate fit where each timepoint and each electrode were fitted independently. Output of

`uf_glmfit_nodc()`

- channel
for which channel the deconvolved betas have been calculated

- effects_mean
In case of effects coding contains the mean of the designmatrix columns

`ufresult()`

the ufresult structure is the output of `uf_condense()`

. This function removes the time-splines if used and possibly evaluates splines at (automatically) specific quantiles.

- unfold
same as EEG.unfold

- times
same as ufresult.unfold.basistime, thus the epoch-time in s

- chanlocs
same as EEG.chanlocs

- param
a structure defining for each beta-value which event, what predictor, which variable-type and what the corresponding value is.

- beta_nodc
the betas without deconvolution [channel x time x predictors]

- beta
the betas with deconvolution [channel x time x predictors]

`unfold.splines()`

- paramValues
the parameter values of each event, e.g. for saccade amplitude: [1.3, 2.3, 6, 1.2 …]

- nSplines
the number of splines used for modelling

- knots
the knot sequence. This is necessary to evaluate splines at a later point in time

- splineFunction
the function used to define the spline, could be a custom function.

- removedSplineIdx
The index of the spline which was removed during spline-generation. It is necessary to remove one spline in order to not have any collinearities. Depending on configuration either a middle or the first spline is removed.

- X
the entries of X times the spline (i.e. the subset of X)

- name
name of the spline

- colnames
column names that the spline will get in EEG.unfold.X