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”). |