Record timing of user input
5 views (last 30 days)
Show older comments
Hello and thank you for reading my question,
I'm trying to display images and record the timing (and keyboard value if possible) of when the user advanced to the next image. (that is, the user presses a keyboard button after they are done with the image and advances to the next image).
I've looked at some of the "input" and such commands but i'm still confused on this.
any ideas how to do this?
thankyou, veritas
0 Comments
Accepted Answer
Kye Taylor
on 20 Jan 2014
I think you want tic and toc, as in the example below:
% I will create a cell that represents some collection of images
nImg = 4;
timings = zeros(1,nImg);
I = cell(1,nImg); % cell of images
for i = 1:nImg
I{i} = rand(640,480,3); % I{i} is an 640-by-480-by-3 random RGB image
end
figure(1)
for i = 1:nImg
close(1)
figure(1)
image(I{i})
tic % start stopwatch
input('Hit any key to advance to next image.');
timings(i) = toc; % end stopwatch and store result in element i
end
0 Comments
More Answers (2)
Bruno Pop-Stefanov
on 20 Jan 2014
Edited: Bruno Pop-Stefanov
on 20 Jan 2014
As for the user input, it depends on how you are planning your human-computer interface. The input function requests a user input in the Command Window using the keyboard. For example:
number = input('Choose a number\n');
However, you can also get user input through a mouse click on the image you are displaying (see ginput) or you can design more complex graphical user interfaces using the GUI Design Environment (GUIDE).
If you want to measure how long the user looked at a picture before displaying the next image, you could write a script in which the images are displayed one after the other, but using tic and toc between each image to measure time and using ginput(1) to wait for a mouse click.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!