Record timing of user input

6 views (last 30 days)
David
David on 20 Jan 2014
Answered: David on 20 Jan 2014
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

Accepted Answer

Kye Taylor
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

More Answers (2)

Bruno Pop-Stefanov
Bruno Pop-Stefanov on 20 Jan 2014
Edited: Bruno Pop-Stefanov on 20 Jan 2014
You can use tic to start a stopwatch and toc to read the elapsed time.
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.

David
David on 20 Jan 2014
wow that was very fast. thank you guys very much!!! this worked immediately.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!