Stimulus
Describes each of the stimuli that were shown during an trial.
-
id
id
-
Primary key of the Stimulus table. Reference to this identifier in other tables are thus named
stimulus_id
.Range
Each row in this table has a unique
id
. -
trial_id
id
-
Refers to the
trial_id
in the Trial table and indicates in which trial this stimulus was shown.Range
trial_id
in the Trial table of the same subject/session/activity -
response_id
id
-
Refers to the
response_id
in the Trial table and indicates for which response this stimulus was shown.Range
response_id
in the Trial table of the same subject/activity -
object_id
string
-
A stimulus is defined by a set of features. This variable is used to identify each time the same stimulus features were used.
-
presentation_id
string
-
In a multitasking setting, a particular instance of a stimulus (e.g., the current letter “A”) may be used by multiple tasks at the same time (e.g, in the dual N-back task). Because these are different trials, they will have different
trial_id
values and hence will have different rows in the StimulusTable. We usepresentation_id
to indicate that a given stimulus is in fact the same instance across those trials. -
index_in_trial
integer
-
Refers to individual stimuli within the sequence or set of stimuli shown during a trial.
-
onset
float
-
Duration between the start of the trial and the appearance of the stimulus, in seconds.
Range
In seconds
-
duration
float
-
Describes for how long this stimulus was displayed after its onset, in seconds.
Range
In seconds
-
panel_id
string
-
Identifier of the panel this stimulus is displayed over.
-
x_screen
integer
-
X coordinates of the stimulus on the screen in pixels.
-
y_screen
integer
-
Y coordinates of the stimulus on the screen in pixels.
-
x_viewport
float
-
X coordinates of the stimulus on the screen expressed as a fraction of the screen width.
Range
0 to 1 (inclusive)
-
y_viewport
float
-
Y coordinates of the stimulus on the screen expressed as a fraction of the screen height.
Range
0 to 1 (inclusive)
-
description
string
-
A human readable, compact description of the main aspects of the stimulus. The description for a given stimulus depends on the task but follows a specific template for a given task. Because of this, it looks like the
description
could be parsed and converted into a more structured format—however, this is not the intention; structured data will be available in other tables; here, description is for human readability and facilitates the understanding of the data. -
source
string
-
Refers to the specific generator or set the stimulus belongs to.
-
source_type
enum
-
A stimulus is typically created using a particular procedure/algorithm (“generator”) or is sampled from a particular set (“set”). This variable indicates which of these two applies for the current stimulus.
Range
set
: stimulus is sampled from a fixed set of stimuli.generator
: “stimulus is created using a procedure/algorithm.
-
index_in_source
integer
-
When a stimulus is picked from a particular set (e.g., “digits1to9”), this index refers to the index within that set.
-
role
enum
-
Describe the role that the stimulus plays in the trial, e.g., “target”.
Range
target
: A stimulus the subject must process and which should trigger the completion of the response (e.g., classify, reach, memorize) if the subject is doing the task as intended. In some cases (e.g., in a go/no-go task) the correct response to a stimulus is to NOT click the button. In this case, the stimulus that triggered the decision to NOT click the button is still atarget
.non_target
: A stimulus the subject must process but which does not trigger the completion of the response (e.g., the first two stimuli in a 2-back test).distractor
: “A stimulus the subject should not process at all (i.e., ignore) and which is unrelated to the correct execution of the task.”location_cue
: A stimulus giving a spatial location information that subjects could use to improve their performance.job_specifier
: A stimulus specifying which job the subject should perform.stop_signal
: “A stimulus signaling the subjects that they should abort current action.probe
: A stimulus indicating about which stimulus to respond.
-
animation
string
-
Describes the animation used to display a specific stimulus in a human-readable format. For example, “fadeIn 3s” indicates a 3-second fade-in animation.
Identifier
If the same stimulus is shown at two different times in a trial, those two instances will have their own row in the Stimulus table, each with its own id
.
Make sure to refer to this field as stimulus_id
rather than id
When joining tables. This also applies to all the id
fields; they are named id
within their own context/table, but <context/table>_id
when addressed from other tables. For example, X_id
in a table refers (hence a foreign key) to the id
column in the X table.
Context
For example, if the same white digit “3” is shown in a digit span sequence, all those instances would have the same object_id
although they would have different id
s (as they appeared at different times).
When
When the stimulus is shown using an animation, duration
covers the complete period between the start of the animation and the end of the animation.
Where
In BDM, the preferred position is the center of the object. However, specific implementations of the tasks may use other locations such as the top-left corner. If this is the case, it should be explicitly stated in the codebook.
What
Stimuli that come from the same source have the same data scheme and could thus be described in a table named after the stimulus_source
. stimulus_source
indicates which table contains the full information about the stimulus; e.g., “digits1to9”.
One could include a source_count
variable here that indicates how many different stimuli there are in the set; but it’s better stored in the table that contains information about that stimulus source.
In addition to index_in_source
, stimulus_id
can also be used to look up further information about the stimulus in the source.
How
To maintain clarity and consistency, BDM recommends using CSS-style naming conventions for common animations (e.g., “3s linear slide-in”).