Last Modified: January 11, 2023 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements the Pursuit Rotor Task; a task to measure manual dexterity and visual-motor tracking abilities.
-The Multivariate Study of Pursuit Rotor Skill Development, 11 Aug. 2011, https://www.science.smith.edu/departments/EXER_SCI/Faculty/DS/PR.html -Measuring Hand/Eye Coordination, 11 Aug. 2011, https://www.psywww.com/intropsych/ch07_cognition/measuring_hand_eye_coordination.html -Pursuit Rotor, 11 Aug. 2011, https://sourceforge.net/apps/mediawiki/pebl/index.php?title=Pursuit_Rotor
1.5 minutes
Participant tracks a yellow target with a mouse cursor/finger, as the target moves steadily in a circular path.
- task runs 4 trials (default; can be edited under section Editable Parameters)
- each trial takes 10s (default; can be edited under section Editable Parameters)
- the script records the position of cursor and disc every 16.7ms on a 60Hz monitor (vertical refresh rate of monitor)
in the datastream data file
the default active canvas is set to be 120mm x 120mm. All stimuli are defined in proportion to the
height of the active canvas.
If the script is run on a screen that does not support these dimensions, the script
alerts participants and then aborts.
can be edited under section Editable Instructions
File Name: pursuitrotor_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| startDate | Date the session was run |
| startTime | Time the session was run |
| subjectId | Participant ID |
| groupId | Group number |
| sessionId | Session number |
| elapsedTime | Session duration in ms |
| completed | 0 = Test was not completed 1 = Test was completed |
(Parameter) Settings |
|
| usedCanvasMM | Data file variable that stores the dimension of the active canvas (in mm) used for the task |
| usedCanvasPX | Data file variable that stores the dimension of the active canvas (in pixels) used for the task |
| trackRadiusMM | The radius of the track in mm |
| discRadiusMM | The radius of the disc in mm |
| discRadiusPX | The radius of the target disc in pixels |
| trialDuration | The duration of one trial/one rotation in ms (default: 10000ms) |
Data |
|
| rotationCount | The number of rotations run |
| meanTimeOffTarget | The average time (in ms) a participant spent OFF disc during a rotation trial |
| sumOffDurationsTotal | The sum of the durations spent OFF the target disk across all trials (in ms) |
| timeOnTargetTotal | The duration spent ON the target disk across trials (in ms) |
| meanDistanceFromCenterDiscTotal | The mean distance (in pixels) of recorded cursor positions from the center of the target disc across trials |
| meanOffDistanceFromDiscEdgeTotal | The mean distance (in pixels) of recorded mouse positions from the target disc (to edges of disc; not the center) across trials (= OFF target distances) |
| (3) | Mouse Cursor Position data file: 'pursuitrotor_stream*.iqdat' This data file records mouse positions and relevant data after each stimulusframe |
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
(Parameter) Settings |
|
| usedCanvasMM | Data file variable that stores the dimension of the active canvas (in mm) used for the task |
| usedCanvasPX | Data file variable that stores the dimension of the active canvas (in pixels) used for the task |
| trackRadiusMM | The radius of the track in mm |
| discRadiusMM | The radius of the disc in mm |
| discRadiusPX | The radius of the target disc in pixels |
| trialDuration | The duration of one trial/one rotation in ms (default: 10000ms) |
| rotationCount | The count of the current rotation trial (1-4) |
| mouse.x | The recorded horizontal coordinate of the cursor at the end of a vertical frame refresh (in screen pixels) |
| mouse.y | The recorded vertical coordinate of the cursor at the end of a vertical frame refresh (in screen pixels) |
| shape.animatedCircle.x | The recorded horizontal coordinate of the target disc at the end of a vertical frame refresh (in screen pixels) |
| shape.animatedCircle.y | The recorded vertical coordinate of the target disc at the end of a vertical frame refresh (in screen pixels) |
| distancePX | The pixel distance from the mouse cursor to the center of the target disc |
| offTTarget | "ON" or "OFF": compares distance to radius of disc |
| elapsedTime | Session duration in ms |
| offDuration | Stores the last calculated duration (in ms) participant spent off the disc |
File Name: pursuitrotor_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
(Parameter) Settings |
|
| usedCanvasMM | Data file variable that stores the dimension of the active canvas (in mm) used for the task |
| usedCanvasPX | Data file variable that stores the dimension of the active canvas (in pixels) used for the task |
| trackRadiusMM | The radius of the track in mm |
| discRadiusMM | The radius of the disc in mm |
| discRadiusPX | The radius of the target disc in pixels |
| trialDuration | The duration of one trial/one rotation in ms (default: 10000ms) |
Data |
|
| rotationCount | Tracks the number of rotations started |
| response | Recorded response |
| latency | Response latency (in ms) |
| distancePX | The pixel difference btw. response coordinates and target (disk) center |
| offTarget | 0 = response coordinates were on the target (disk) 1 = response coordinates were not on the target (disk) |
| sumOffDurationsTrial | The sum of the durations spent OFF the target disk per trial (in ms) |
| timeOnTargetTrial | The duration spent ON the target disk per trial (in ms) |
| meanDistanceFromCenterDiscTrial | The mean distance (in pixels) of recorded cursor positions from the center of the target disc per trial |
| meanOffDistanceFromDiscEdgeTrial | The mean distance (in pixels) from of the current cursor position from the perimeter of the target circle per trial for OFF target response coordinates |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| canvasHeightMM | The default height of the active canvas is 120mm | |
| trackRadiusPropCanvasHeight | The radius of the track as a proportion of the canvas height | 0.4 => 0.4*120 = 48mm |
| discRadiusPropCanvasHeight | The radius of the disc as a proportion of the canvas height | 0.065 => 7.8mm |
| trialDuration | The duration of one trial/one rotation in ms | 10000ms |
| numTrials | The number of trials to run | 4 |
| presentSummaryFeedback | True (1) = presents performance feedback at the end of the script (default) false (0) = does not present performance feedback |