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