German version German Translations provided by K. Borchert for Millisecond Software ___________________________________________________________________________________________________________________ STAR CANCELLATION TASK ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 04-08-2025 last updated: 04-10-2025 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 04-10-2025 Millisecond Software ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements Millisecond Software's computerized version of the Star Cancellation Test, a test/screening tool for unilateral visual neglect. Data Files will contain the suggested measures (accuracy score and laterality index) as well as additional information about the 'response path' (search path) taken to find the star targets. Screenshots of the taken path/numbered targets can be taken (optional setting) for further analyses. DISCLAIMER Millisecond Software advises caution in comparing results obtained with this computerized version of the Star Cancellation Test to results obtained with the original paper&pencil version. ****References***** Wilson, B., Cockburn, J., Halligan, P. (1987). Development of a behavioral test of visuospatial neglect. Arch Phys Med Rehabil, 68, 98-101. Maggie J. Bailey, M. Jane Riddoch & Peter Crome (2004) Test–retest stability of three tests for unilateral visual neglect in patients with stroke: Star Cancellation, Line Bisection, and the Baking Tray Task, Neuropsychological Rehabilitation, 14:4, 403-419 DOI: 10.1080/09602010343000282 additional info on the test here: https://strokengine.ca/en/assessments/star-cancellation-test/ ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ Participants are asked to select as many little stars as they can find on a page of 56 small stars (2 are practice items), 52 large stars (considered 'foils' in this script), 13 letters, and 10 short words. left side: 27 small stars center: 2 small stars (practice) right: 27 small stars The center of the page is presented in the center of the screen. By default, participants have 5 minutes to complete the task. ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 6 minutes to complete ___________________________________________________________________________________________________________________ DATA OUTPUT DICTIONARY ___________________________________________________________________________________________________________________ The fields in the data files are: (1) Raw data file: 'starCancellationTest_raw*.iqdat' (a separate file for each participant) build: The specific Inquisit version used (the 'build') that was run computer.platform: the platform the script was run on (win/mac/ios/android) date, time: date and time script was run subject: with the current subject id group: with the current group id session: with the current session id //Screen Setup: stimuliPageWidthMM: the width of the stimuli page in mm stimuliPageHeightMM: the height of the stimuli page in mm blockCode, blockNum: the name and number of the current block (built-in Inquisit variable) trialCode, trialNum: the name and number of the currently recorded trial (built-in Inquisit variable) Note: trialNum is a built-in Inquisit variable; it counts all trials run; even those that do not store data to the data file. response: the response of participant (the name of the response area) latency: response latency (in ms); measured from: onset of trial responseCounter: counts the number of responses made (excluding 'submit' response) target: 1 = the current response was a target (= small star) 0 = the current response was not on a target response circle foil: 1 = the current response was a foil (= big star) 0 = the current response was not on a foil response circle targetCounter: counts the number of times a response was registered on a new target (Max: 54) (repeatedly selecting the same target does not increase the count) foilCounter: counts the number of times a response was registered on a new foil (Max: 52) (repeatedly selecting the same foil does not increase the count) otherRespCounter: counts the number of times a response was registered that was not made on one of the target NOR foil response circles Note: some other responses might simply be a missed target response circle Note: under each target (small star) as well as foil (large star) lies a response circle with a parameters.responseCircleSize_Pct, if response is registered outside of these responsecircles, the script counts it as an 'other' response. In some cases, these 'other' responses may simply be inaccurate screen responding. Check screenshots of response path if in doubt. //response Coordinates pathX: a variable that stores the horizontal coordinates of the response in canvas percentages in sequential order pathY: a variable that stores the vertical coordinates of the response in canvas percentages in sequential order targets: a variable that stores whether the responses were on a target (1) or elsewhere (0)in sequential order Note: these values can be used in script starCancellationTest_path.iqjs to visualize the path taken (2) Summary data file: 'starCancellationTest_summary*.iqdat' (a separate file for each participant) inquisit.version: Inquisit version run computer.platform: the platform the script was run on (win/mac/ios/android) startDate: date script was run startTime: time script was started subjectId: assigned subject id number groupId: assigned group id number sessionId: assigned session id number elapsedTime: time it took to run script (in ms); measured from onset to offset of script completed: 0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run) //Screen Setup: stimuliPageWidthMM: the width of the stimuli page in mm stimuliPageHeightMM: the height of the stimuli page in mm /////////general DVs: executionTimeSec: star search time in seconds accuracyScore: number of correctly identified little stars Range: 0-54 A cutoff of < 44 is taken as indicative of Unilateral Spatial Neglect (USN) lateralityIndex: correctly identified LEFT targets relative to the total number of targets selected 0 <= score <= 0.46 indicate USN in the left hemispace (= favor the right) 0.54 <= score <= 1 indicate USN in the right hemispace (= favor the left) ////////////additional data targetCounter: counts the number of times a response was registered on a new target (Max: 54) (repeatedly selecting the same target does not increase the count) targetCounterLeft: number of correctly selected LEFT targets (Max: 27) targetCounterRight: number of correctly selected RIGHT targets (Max: 27) foilCounter: counts the number of times a response was registered on a new foil (aka big star) (Max: 52) (repeatedly selecting the same foil does not increase the count) otherRespCounter: counts the number of times a response was registered that was not made on one of the target (small star) NOR foil (big star) response circles Note: some other responses might simply be a missed target response circle Note: under each target (small star) as well as foil (large star) lies a response circle with a parameters.responseCircleSize_Pct, if response is registered outside of these responsecircles, the script counts it as an 'other' response. In some cases, these 'other' responses may simply be inaccurate screen responding. Check screenshots of response path if in doubt. //response Coordinates pathX: a variable that stores the horizontal coordinates of the response in canvas percentages in sequential order pathY: a variable that stores the vertical coordinates of the response in canvas percentages in sequential order targets: a variable that stores whether the responses were on a target (1) or elsewhere (0) in sequential order Note: these values can be used in script starCancellationTest_path.iqjs to visualize the path taken ////////////////////////// Screenshot Data: ////////////////////////// If a screenshot was taken, the script marks all responses with a number (in order from first to last response) If a target area (small star) was selected, the number turns green. Otherwise it's red. If a target (small star) was selected twice, the second mark is also green and marked as a separate response, but the redundant selection is not counted as a new target selection. ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ (1) Demo: The computer runs a short animation of selecting the two center targets By default instructions are provided visually and aurally. (2) Test: Max allotted time = 5minutes (editable parameter) - participants are presented the 'stimuli page' and a submit button (the 'stimuli page' is presented with 95% of the width of the active canvas to allow for some room to provide the submit button) - participants use the mouse/finger to select the little stars scattered around the page - When they are done, they click the submit button - The test is over if the allotted time is up, or if participants submit their responses (3) Path Feedback with screencapture (optional) Once done with the test, the script can show participants the 'stimuli page' with all targets circled in blue and with all responses made numbered in sequence (starting with '1'). Numbers in Green show correctly selected target stars, numbers in red show responses that were made outside of the target stars response circles. The taken path is marked by a turquoise dotted line. A screenshot of this feedback page (with subject ID) can be taken for further analyses (optional) ___________________________________________________________________________________________________________________ STIMULI ___________________________________________________________________________________________________________________ The star cancellation page was downloaded here: https://strokengine.ca/en/assessments/star-cancellation-test/ and recreated to present on a canvas that roughly represents the proportions of US letter sized paper (4:3) and presents the arrow in the middle of the screen. Since the resolution of the page is not great, the page was further recreated by replacing the little stars, big stars, letters and words with crisper versions (this also makes it easier to change the words for different language versions). By default, this scripts uses this crisper version but also provides the 'less crisp version' if needed. To check if the coded responsecircles that lie under the stimuli, still align with the stimuli, set parameters.showResponseCirclePlacements to true. The 'stimuli page' run by the script is sized to be 95% of the width of the active canvas to allow for response buttons to be placed on the screen. The script can be run with an absolutely sized stimuli page that approaches the actual size of the paper version of the task (provided the screen is large enough). See section 'defaults' for more information. ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ provided by Millisecond Software - can be edited in script starCancellationTest_instructions_inc.iqjs The instructions are provided visually and aurally. The soundfile were created with the help of the Google Translate Narrator and edited in Audacity. ___________________________________________________________________________________________________________________ EDITABLE CODE ___________________________________________________________________________________________________________________ check below for (relatively) easily editable parameters, stimuli, instructions etc. Keep in mind that you can use this script as a template and therefore always "mess" with the entire code to further customize your experiment. The parameters you can change are: //color parameter / canvasColor = lightGray //Display color of the actively used portion of the screen (the 'canvas') //Note: if set to a color other than the screenColor, you can distinguish the active canvas //from the inactive portion of the screen / screenColor = lightGray //Color of the screen not used by the canvas ('inactive screen') / defaultTextColor = black //Default color of text items //CANVAS SIZING PARAMETERS //sizing Parameters in RELATIVE measurements relative to CANVAS HEIGHT //NOTE: to run the script with ABSOLUTE screen measurements, go to 'defaults' and set //canvasSize to absolute measurements / responseCircleSizePct = 4% //Note: under each target (small star) lies a response circle with a //parameters.responseCircleSize_Pct (4%) - proportional to canvas height //This size was selected to approximate the size of the small stars //////Experimental Design Choices: //timing parameters / testDurationInmin = 5 //the max. duration of the test (in minutes) / testDurationInInstructions = true //true: the instructions mention the test timeout //false: no test timeout is mentioned during instructions / runAudioIntro = true //true: the instruction audiofiles are run //false: the audio instructions are skipped; only the visual instructions are presented //feedback / showPathFeedback = true //*true*: at the end of the task, the script presents the stimulipage //with all target locations circled and draws the response path. //Participants' response locations are marked with numbers that refer to the //order in which those locations were selected. Selected target locations //are marked by green numbers, other locations by red numbers. //*false*: no response feedback is provided / takePathScreenshot = true //NOTE: this parameter is only relevant if parameters.showPathFeedback = true //*true*: script takes a screenshot of the feedback/response path page //as additional data //*false*: no screenshot is taken of the response path //(Note: this project folder provides a stand-alone 'post-hoc' location //drawing script. This additional script draws the response path //but requires some copy-paste manual labor) //Debug Variable: / showResponseCirclePlacements = false //true = the script runs a procedure to show test administrators //the response circles under the individual star target stimuli (Debug Mode) //false = the regular testing procedure is run //Note: this setting is useful if you use a different starCancellationTest image //than the one that comes with this script but still need to see if the //response circles still align with the stimuli