Bells Test

Technical Manual

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond

Created: January 24, 2022

Last Modified: January 01, 2025 by K. Borchert (katjab@millisecond.com), Millisecond

Script Copyright © Millisecond Software, LLC

Background

This script implements Millisecond's computerized version of the Bells test (Gauthier et al, 1989), a test for visual neglect and search strategy. Gauthier et al (1989) define visual neglect 'as a lack of response or attendance to visual stimuli presented to the left or to the right of the median line of the body and/or head' (p.50).

Mancuso et al (2019) suggest a new standardization approach of the original paper&pencil Bells Test based on data collected with a large sample of Italian participants. They introduce three new measures (ExecutionTime in seconds, Accuracy Score, and Asymmetry Score) that depend on age and level of schooling to varying degrees.

This script provides the functionality to present the 'apples page' in roughly the same absolute size as the original paper&pencil version of the Apples Test. Default settings default back to proportional sizing. Go to 'defaults' setting for more info.

Data Files will contain the suggested measures by Mancuso et al (2019) and Gauthier et al (1989) as well as additional information about the 'response path' (search path) taken to find the Bells. Screenshots of the taken path/numbered targets can be taken (optional setting) for further analyses. Please, use caution in comparing results obtained with this computerized version of the Bells Test to results obtained with the original paper&pencil version.

References

Gauthier, L., Dehaut, F., & Joanette, Y. (1989). The Bells Test: A quantitative and qualitative test for visual neglect. International Journal of Clinical Neuropsychology, 11(2), 49–54.

Instructions and test sheet: https://strokengine.ca/en/assessments/bells-test/

Mancuso et al (2019). A New Standardization of the Bells Test: An Italian Multi-Center Normative Study. Front. Psychol. 9:2745. doi: 10.3389/fpsyg.2018.02745

Duration

8 minutes

Description

The Bells Test provides participants with a black and white page of seemingly randomly distributed little objects such as houses, saws, cars, trees, guns, sharks etc. Scattered around the page are 35 bells which are the search targets of the test. While the objects look to be randomly placed on the page, they are actually placed in a strategic way: the page consists of 7 columns (left side: c1, c2, c3; center: c4; right side: c5, c6, c7). Each of the columns contains 5 bells and about 40 distractors (35 bells + 280 distractors = 315 total objects). Participants get 5 minutes (editable parameter) to find as many bells as they can. One verbal reminder/hint is provided if participants try finish the test before all bells are found.

Procedure

(1) Demographic Information (Optional, see section Editable Parameters)
- script collects age and education information about the participant
( Since Mancuso et al (2019) reported that age and education can have an impact on participants' performance,
this information can be collected when running the script)

(2) Intro:
The script provides the 'Bells Test Demonstration' page (https://strokengine.ca/en/assessments/bells-test/)
and asks participant to find each of the items.
For each item search, the name of the item is printed in blue on the screen and participants have to
select the correct item. If an incorrect item is selected, a red error message pops up that
asks them 'to try again'. If the correct item is selected, a green checkmark is briefly presented on screen.
The order of the items is fixed (the bell is presented as the 8th item).

(3) 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 bells scattered around the page
- When they are done, they click the submit button
IF not all bells are found at this point: one verbal reminder (in the form of a soundfile) is
played to ask them "Are you sure that all the bells are now circled?" and allows them to continue
looking for the missing bells.
- The test is over if the allotted time is up, or if participants submit their responses
a second time (if a reminder was given)

(4) Path Feedback with screencapture (optional)
Once done with the test, the script can show participants the 'stimuli page' with all bells
circled in blue and with all responses made numbered in sequence (starting with '1').
Numbers in Green show correctly selected bells, numbers in red show responses that were
made outside of the bells 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

Stimuli Page: https://strokengine.ca/en/assessments/bells-test/

The original paper Bells Test (sized on DinA4) was printed out on a US legal-sized paper.
To fit the stimuli on a W:H=4:3 sized page, white areas on the top/bottom and left/right around the stimuli
were removed while still retaining all the original stimuli as well as the center location of the orientation dot
on the bottom.
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 - can be edited in script 'bellstest.iqjs'
the instructions are based on file 'Bells-Test-Instructions-Final-Version-Approuve-Yves.pdf'
downloaded from: https://strokengine.ca/en/assessments/bells-test/

Summary Data

File Name: bellstest_summary*.iqdat

Data Fields

NameDescription
inquisit.version Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
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
Demographic Information
age The age (in years) of the participant (if empty, no demographic information was collected)
education Number of years in formal schooling (max: 16) (if empty, no demographic information was collected)
Screen Setup
stimuliPageWidthMM The width of the stimuli page in mm
stimuliPageHeightMM The height of the stimuli page in mm
Dvs
executionTimeSec Bell search time in seconds
expectedExecutionTimeSec The execution time (in sec) that can be expected given the participant's age
calculated using the formula suggested by Mancuso et al (2019, p.5)
NA: no demographic information available (values could not be generated)
maximumExecutionTimeSec The cut-off execution time (in sec)
if participant takes longer than this, the performance can be coded
as 'pathological' according to Mancuso et al (2019, p.5)
NA: no demographic information available (values could not be generated)
executionTimeFlag 1 = the ExecutionTimeSec surpassed the cutoff (maximumExecutationTimeSec)
0 = the ExecutionTimeSec did NOT surpass the cutoff
NA: no demographic information available (values could not be generated)
According to Mancuso et al (2019, p.5) if participant takes longer than
the calculated maximumExecutationTime, the performance can be coded
as 'pathological'
Note that Gauthier et al (1989, p.50) et al did not consider execution/completion time to be
'a valuable indicator of success or neglect.
accuracyScore The omission number - number of bells not selected ('Measure of Selective Attention')
Range: 0-35
expectedAccuracyScore The expected number of omissions based on participant's age and number of years of schooling
NA: no demographic information available (values could not be generated)
maximumAccuracyScore The cut-off number of omissions
NA: no demographic information available (values could not be generated)
accuracyScoreFlag 1 = the AccuracyScore surpassed the cut-off
0 = the AccuracyScore did NOT surpass the cut-off
NA: no demographic information available (values could not be generated)
According to Mancuso et al (2019, p.4) if participant makes more mistakes than the
the calculated maximumAccuracyScore, the performance can be coded
as 'pathological'.
asymmetryScore Calculated as the differences in number of bells found on the right (c5,c6,c7)
and the number of bells found on the left (c1,c2,c3)
range: -15 to +15
Positive Value: more values were found on the right (left-sided neglect)
Negative Value: more values were found on the left (right-sided neglect)
asymmetryScoreFlag 1 = participant showed significant asymmetry in performance (> 2)
0 = participant did NOT show significant asymmetry in performance (<= 2)
Mancuso et al (2019): 'Individual performances
in which the difference between left and right total
omissions was equal to or above 3 should be considered
pathological' (p.4). No dependency on age nor education was noted.
leftOmissions Number of bells not selected on the left side (c1,c2,c3); Range: 0-15
rightOmissions Number of bells not selected on the left side (c5,c6,c7); Range: 0-15
see 'Bells-Test-Instructions-Final-Version-Approuve-Yves.pdf'
(https://strokengine.ca/en/assessments/bells-test/)
'If the client has more than three omissions, then he/she is suspected of presenting with an
attentional deficit. If the client omits six bells or more on the left or right half of the sheet,
then he/she is suspected of presenting with a visual neglect.'
realizationTimeSec The time (in seconds) that has passed before participant pressed submit despite yet to be selected targets
(and received a hint)
otherRespCounter Counts the number of times participants selected a non-target
could be a Commission Error or simply a 'missed' target (this happens when
participants might miss the invisible response circle around target images).
targetCounter Counts the number of times a response was registered on a new target (Max: 35)
(repeatedly selecting the same target does not increase the count)
targetCounterC1 Counts the number of times a response was registered on a new target in column1 (Max: 5)
targetCounterC2 Counts the number of times a response was registered on a new target in column2 (Max: 5)
targetCounterC3 Counts the number of times a response was registered on a new target in column3 (Max: 5)
targetCounterC4 Counts the number of times a response was registered on a new target in column4 (Max: 5)
targetCounterC5 Counts the number of times a response was registered on a new target in column5 (Max: 5)
targetCounterC6 Counts the number of times a response was registered on a new target in column6 (Max: 5)
targetCounterC7 Counts the number of times a response was registered on a new target in column7 (Max: 5)
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
these values can be used in script bellstest_path.iqjs to visualize the path taken

Raw Data

File Name: bellstest_raw*.iqdat

Data Fields

NameDescription
build Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
date Date the session was run
time Time the session was run
subject Participant ID
group Group number
session Session number
Demographic Information
age The age (in years) of the participant (if empty, no demographic information was collected)
education Number of years in formal schooling (max: 16) (if empty, no demographic information was collected)
Screen Setup
stimuliPageWidthMM The width of the stimuli page in mm
stimuliPageHeightMM The height of the stimuli page in mm
blockcode The name the current block (built-in Inquisit variable)
blocknum The number of the current block (built-in Inquisit variable)
trialcode The name of the currently recorded trial (built-in Inquisit variable)
trialnum The number of the currently recorded trial (built-in Inquisit variable)
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 (excluding 'submit' response)
target 1 = the current response was a target (bell)
0 = the current response was not on a target response circle
under each target (bell) lies a response circle with a
parameters.responseCircleSize_Pct, if response is registered outside
of this responsecircle, 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.
otherRespCounter Counts the number of times a response was registered that was not made on one of
the 35 target response circles
some other responses might simply be a missed target response circle
targetCounter Counts the number of times a response was registered on a new target (Max: 35)
(repeatedly selecting the same target does not increase the count)
targetCounterC1 Counts the number of times a response was registered on a new target in column1 (Max: 5)
targetCounterC2 Counts the number of times a response was registered on a new target in column2 (Max: 5)
targetCounterC3 Counts the number of times a response was registered on a new target in column3 (Max: 5)
targetCounterC4 Counts the number of times a response was registered on a new target in column4 (Max: 5)
targetCounterC5 Counts the number of times a response was registered on a new target in column5 (Max: 5)
targetCounterC6 Counts the number of times a response was registered on a new target in column6 (Max: 5)
targetCounterC7 Counts the number of times a response was registered on a new target in column7 (Max: 5)
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
these values can be used in script bellstest_path.iqjs to visualize the path taken

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
Color Parameters
canvasColor Display color of the actively used portion of the screen (the 'canvas')
if set to a color other than the screenColor, you can distinguish the active canvas
from the white 'stimuli page' presented for the actual Bell Test
lightGray
screenColor Color of the screen not used by the canvas ('inactive screen')lightGray
defaultTextColor Default color of text itemsblack
Sizing Parameters
responseCircleSizePct under each target (bell) lies a response circle with a
parameters.responseCircleSize_Pct (5%) - proportional to canvas height
This response circle CANNOT reasonably be much bigger as otherwise
some response circle overlap will occur that could make
distinguishing which bell was selected impossible
5%
Timing Parameters
testDurationInmin The max. duration of the test (in minutes)5
Feedback
showPathFeedback True: at the end of the task, the script presents the stimulipage
with all target locations circled and draws the response path.
Participants' reponse 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
true
takePathScreenshot 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
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
true
runDemographicInformation True: script collects age and education information
false: no demographic information is collected
Mancuso et al (2016) report that
-Accuracy Scores ('Number of Omissions') are
affected by age and education (number of years of schooling)
-Execution Time is affected by age
-Asymmetry Score is neither affected by age nor education
true