-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- use a single clock per trial starting from zero - removes possibility of timestamps `fixed_target_intervals` drifting due to accumulated error - resolves #198 - simplify logic and the conversion to excel timestamps - add `to_target_num_timestamps_before_visible` int to trial data (and similarly for center) - this is the number of to_target_timestamps for which the target is not yet visible - previously this was implictly defined by these timestamps having negative values - all timestamps are now taken directly after `window.flip()` returns - this means the time is when the current frame was displayed (+maybe a few microseconds) - and this frame remains displayed until the next timestamp - previously we timestamped when we called `flip()` (which we control precisely) - but this meant the frame was actually displayed stochastically [0-1/fps) seconds after the timestamp - require at least 1/60s remaining before timeout to call flip() - bump version to 0.28.0 Document changes to frames / timestamp data - add reference info section - framerate page - statistics page - resolves #194 Ensure there is always at least one window flip when we show a new target - we now get at least a single frame of data for each target - even if user is already at the target when it is displayed - resolves #193 Minor performance improvement - only set up drawables for "no target visible" if this will be displayed for a non-zero amount of time
- Loading branch information
Showing
11 changed files
with
317 additions
and
188 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
Framerates and timestamps | ||
========================= | ||
|
||
Introduction | ||
------------ | ||
|
||
During an experiment you see the cursor moving on the screen, but what your screen actually displays | ||
is a series of still images, or frames, which are updated quickly enough that we don't notice the individual frames. | ||
|
||
Typically computer monitors do this at a rate of 60 frames per second (fps), although gaming monitors are available | ||
that offer much higher refresh rates. | ||
|
||
The experiment saves information about the cursor position each time a new frame is displayed. | ||
|
||
How an experiment works | ||
----------------------- | ||
|
||
This loop happens every time the monitor refreshes: | ||
|
||
- store the timestamp and current cursor location | ||
- prepare next frame to display (draw objects such as the cursor, targets, etc) | ||
- wait until the screen is updated with the new frame | ||
|
||
In the stored data, each timestamp is the time when the specified target was displayed on the screen, | ||
and the cursor location at that time. The display on the screen doesn't change until the next timestamp. | ||
|
||
Dropped frames | ||
-------------- | ||
|
||
The sampling frequency of the experimental data is limited by the refresh rate of the monitor. | ||
|
||
In addition, it could sometimes be the case that the code preparing the next frame to be displayed takes too long, | ||
and the monitor refreshes the screen before the next frame is available. | ||
This is known as a "dropped frame", and will be visible in the recorded data as a larger than usual delay | ||
before the next timestamp. | ||
|
||
If this happens, ensuring that nothing else is running on the computer when an experiment is running may help. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
Statistics | ||
========== | ||
|
||
Time | ||
---- | ||
|
||
* Time | ||
* Time from target being displayed to the target being reached by the cursor or timeout | ||
* Reaction time | ||
* Time from target being displayed to first cursor movement | ||
* Movement time | ||
* Time from first cursor movement to the target being reached by the cursor or timeout | ||
|
||
Distance | ||
-------- | ||
|
||
* Distance | ||
* Euclidean point-to-point distance travelled by the cursor | ||
* RMSE | ||
* The Root Mean Square Error (RMSE) of the perpendicular distance from each cursor point to the ideal path to the target |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,4 +5,4 @@ | |
"__version__", | ||
] | ||
|
||
__version__ = "0.27.0" | ||
__version__ = "0.28.0" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.