Face in the Crowd Task

Technical Manual

Script Author: Millisecond Software, LLC

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

Script Copyright © Millisecond Software, LLC

Background

This script offers example code to 1) determine the relative coordinates of target locations (->block.determinecoordinates) 2) select locations in an image: FITC task (-> block.FITC)

The default is to run the FITC task. An editable variable (parameters.taskselection) can be set to run either task.

Duration

1 minute

Description

Participants are asked to select target faces in a picture depicting a crowd of people.

Procedure

Task: Determine The Relative Coordinates Of The Target Locations (->Block.Determinecoordinates)

1) Set your canvas under DEFAULTS. This is important as not all monitors are the same size.
Forcing a canvas on each monitor will keep the relative screen positions of the targets the same.

2) Force a picture size to ensure that the picture takes up the same relative canvas location on each monitor

3) create a trial that calculates the relative screen locations by using the x/y-coordinate of the mouse cursor at the end of the trial,
at the time of 'lButtonDown' (trial.determinecoordinates)
Stores the coordinates in the data file.

4) manually fill in the target coordinates into list.hposition and list.vposition under LISTS. Make sure that the index of the
coordinates corresponds to the index of the target image in item.targetfaces.
EXAMPLE: if the target image is 'Face03.jpg' and it is stored under index '/3 = "Face03.jpg"' in item.targetfaces
then make sure to store the corresponding coordinates as the third items in list.hposition and list.vposition

II) "Face in the Crowd" Task: FITC (-> block.FITC)

Task: Find Particular Faces In A Crowd

Steps:
1) Make sure the script runs the same /canvassize to run
block.FITC as was used to determine the target coordinates

2) The relative coordinates of the targets are used to define response circles (-> shape.responsecircle).
Check out shape.responsecircle for more details

3) Present these response circles BEFORE the crowd image, so that the crowd image covers response circles on the screen.
(FACE IN THE CROWD MAIN TRIALS-> trial.faceinthecrowd -> stimulusframes)
To check/debug the positions of the response circle: present the response circles AFTER the crowd image
(aka superimpose the circles onto the pictures)

4) Ask participants to click on the target faces in the crowd image. If they click on the underlying
response circles, the response is evaluated as 'correct'; if not the response is evaluated as 'incorrect'.

Summary Data

File Name: faceinthecrowd_demo_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
list.acc.mean Overall proportion correct selections
list.rt.mean Overall mean latency (in ms) of correct selections

Raw Data

File Name: faceinthecrowd_demo_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
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.
target The presented stimuli in order of trial presentation
response The participant's response
correct The correctness of the response
latency The response latency (in ms)
percentHorizontalTargetx Stores the percent (of canvas) of the horizontal target coordinate
percentVerticalTargety Stores the percent (of canvas) of the vertical target coordinate
percentResponseX Stores the percent (of canvas) of the x coordinate of the response
percentResponseY Stores the percent (of canvas) of the x coordinate of the response

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
taskSelection 1 = determine coordinates of the targets and have the coordinates saved as screen percentages in the datafile
0 = run the task of finding the faces the crowd (FITC) (default)
0