EVENTLOCK Time lock data epochs to specified event frames or event x-values. Use to timelock existing data epochs to reaction times or other events

Usage: >> [dataout,medval,shiftframes] = eventlock(data,frames,eventframes,medval);
>> [dataout,medval,shiftframes] = eventlock(data,xvals,eventvals,medval);

Inputs for multi-channel data:
data   
input data, size(chans,frames*epochs)
frames   
scalar, frames per epoch {0 -> data length}
eventframes   
time locking event frames, size(1,epochs)
medval   
median eventframe to align to {default: median(eventvals)}

Inputs for single-channel data:
data   
input data, size(frames, epochs)
xvals   
vector of epoch time-values, size(1,frames) OR xvals = [startval nframes srate] (ms N Hz)
eventvals   
x-values of time locking events, size(1,epochs)
medval   
median event time to align to {default: median(eventvals)}

Outputs:
dataout   
shifted/sorted data out; size(dataout) = size(data)
medval   
median eventval (time or frame). Data is aligned to this.
shifts   
number of frames shifted for each epoch (Note: shift > 0 means shift forward|right)

Note: Missing values are filled with NaN. Some toolbox functions
( timef, crossf, crosscoher() ) handle NaNs correctly.
To truncate to non-NaN values, use
>> dataout = matsel(dataout,frames, 1+max(shifts(find(shifts>=0))):frames+min(shifts(find(shifts<=0))));

Authors: Scott Makeig, SCCN/INC/UCSD, La Jolla, 8/20/99

See the matlab file eventlock.m (may require other functions)

Back to functions