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 |