How to extract eye tracking data by trial ID
6 次查看(过去 30 天)
显示 更早的评论
Hi there,
I have lots of eye tracking data from a 2 alternate forced choice experiment. In total, 496 trials per participant.
The data are in .asc format, and include MSGs for every forced choice onset. For example:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1295615/image.jpeg)
I would like to extract the data for each 2AFC trial. Such that my ideal data set would include only saccades/fixations/blinks within the 2AFC period, per trial (Trial ID 1 2AFC : Trial ID 496 2AFC).
Whilst i've been able to extract saccade/fixation/etc information using a toolbox, I'm stuck on how to filter the data by trial.
Maybe this can't even be achieved! But would appreciate any insights.
0 个评论
采纳的回答
dpb
2023-2-14
编辑:dpb
2023-2-15
Easiest would be to read the file line-by-line, looking for the magic value and then save data until the next, adding the trial as a variable...
You forgot to attach any usable data for anybody to actually demonstrate, but "air code" would look something like --
fid=fopen('YourFile.Dat');
ID=input('Enter the magic ID to look for, please; ','s')
ID=upper(ID);
pat="MSG"+wildcardPattern+digitsPattern(7)+wildcardPattern+"TRIALID"+wildcardPattern+digitsPattern(1,4)+wildcardPattern+upper(ID);
j=0; % the counter
d=[]; % empty accumulator for data
l=fgetl(fid);
while ~feof(fid)
if matches(l,pat)
j=j+1; % increment counter
l=fgetl(fid); % get first data line in section
end
try
d=[d;[j str2double(l)]]; % convert line to data; add trial number and array
l=fgetl(fid); % record for next loop
catch % presume failure means next section
% do nothing special, pass on to next test if in wanted section
l=fgetl(fid); % record for next loop
end
end
fid=fclose(fid);
will (hopefully) leave you with the array of values with the trial # as first variable; save as a matrix or convert to a table as desired.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import and Export 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!