Stimulus

Describes each of the stimuli that were shown during an trial.

Each row of Stimulus table corresponds to a stimulus in a trial. Each trial can contain different number of stimuli.

Summary view. Full reference → on behaverse.org/schemas.

Key

Field Type Requirement Description
stimulus_id PRIMARY KEY required 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.
Note: 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.
Note: 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

Field Type Requirement Description
trial_id id optional Refers to the trial_index in the Response table and indicates in which trial this stimulus was shown.
Range: trial_id in the Response table of the same agent/session/activity/attempt
response_id id required Refers to the response_id in the Response table and indicates for which response this stimulus was shown.
Range: response_id in the Response table of the same agent/session/activity/attempt
object_id string optional A stimulus is defined by a set of features. This variable is used to identify each time the same stimulus features were used.
Note: 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 ids (as they appeared at different times).
presentation_id string optional 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 Stimulus table. We use presentation_id to indicate that a given stimulus is in fact the same instance across those trials.
index_in_trial integer optional Refers to individual stimuli within the sequence or set of stimuli shown during a trial.

When

Field Type Requirement Description
onset float required Duration between the start of the trial and the appearance of the stimulus, in seconds.
Range: In seconds
duration float required Describes for how long this stimulus was displayed after its onset, in seconds.
Range: In seconds
Note: 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

Field Type Requirement Description
panel_id string optional Identifier of the panel this stimulus is displayed over.
x_screen integer optional X coordinates of the stimulus on the screen in pixels.
Note: 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.
y_screen integer optional Y coordinates of the stimulus on the screen in pixels.
x_viewport float optional X coordinates of the stimulus on the screen expressed as a fraction of the screen width.
Range: 0 to 1 (inclusive)
y_viewport float optional Y coordinates of the stimulus on the screen expressed as a fraction of the screen height.
Range: 0 to 1 (inclusive)

What

Field Type Requirement Description
description string required 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 required Refers to the specific generator or set the stimulus belongs to.
Note: 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”.
Note: 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.
source_type enum optional 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 optional When a stimulus is picked from a particular set (e.g., “digits1to9”), this index refers to the index within that set.
Note: In addition to index_in_source, stimulus_id can also be used to look up further information about the stimulus in the source.
role enum required Describe the role that the stimulus plays in the trial, e.g., “target”.
Range: - target: A stimulus the agent must process and which should trigger the completion of the response (e.g., classify, reach, memorize) if the agent 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 a target. - non_target: A stimulus the agent 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 agent 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 agents could use to improve their performance. - job_specifier: A stimulus specifying which job the agent should perform. - stop_signal:”A stimulus signaling the agents that they should abort current action. - probe: A stimulus indicating about which stimulus to respond.

How

Field Type Requirement Description
animation string optional 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.
Note: To maintain clarity and consistency, BDM recommends using CSS-style naming conventions for common animations (e.g., “3s linear slide-in”).
Back to top