DelayMatchSample#

class braintools.cogtask.DelayMatchSample(t_fixation=Quantity(300., 'ms'), t_sample=Quantity(500., 'ms'), t_delay=Quantity(1000., 'ms'), t_response=Quantity(500., 'ms'), num_stimuli=8, match_prob=0.5, noise_sigma=Quantity(0., 'ms^0.5'), base_value=0.0, feature_per_direction=1, stimulus_encoding='von_mises', kappa=2.0, sigma=0.1, centers=None, cue_dim=1, non_response_cue=None, response_cue=None, **kwargs)[source]#

Delayed Match-to-Sample (DMS) task.

Agent must remember a sample stimulus and indicate whether a later comparison stimulus matches it.

Structure: Fixation >> Sample >> Delay >> Response

In the response phase, the comparison stimulus is presented together with the response cue, and the agent must decide whether it matches the sample.

Parameters:
  • t_fixation (Quantity) – Fixation duration (default: 300ms).

  • t_sample (Quantity) – Sample presentation duration (default: 500ms).

  • t_delay (Quantity) – Delay period duration (default: 1000ms).

  • t_response (Quantity) – Response duration, during which the comparison stimulus is shown and the agent makes its decision (default: 500ms).

  • num_stimuli (int) – Number of possible stimuli (default: 8).

  • match_prob (float) – Probability of a match trial (default: 0.5).

  • noise_sigma (Array | ndarray | bool | number | bool | int | float | complex | Quantity) – Stimulus noise level (default: 0.0 * u.ms**0.5).

  • base_value (float) – Baseline activity added to encoded stimulus features (default: 0.0).

  • feature_per_direction (int) – Number of repeated encoded features per stimulus identity (default: 1).

  • stimulus_encoding (str) – Encoding scheme for discrete stimuli. Supported values: ‘one_hot’, ‘von_mises’, ‘circular’, ‘scalar’ (default: ‘von_mises’).

  • kappa (float) – Concentration parameter for von Mises stimulus encoding (default: 2.0).

  • sigma (float) – Reserved for compatibility with other stimulus encoders (default: 0.1).

  • centers (Any) – Reserved for compatibility with other stimulus encoders (default: None).

  • cue_dim (int) – Dimensionality of the fixation/response cue vector (default: 1).

  • non_response_cue (array-like, optional) – Cue vector used during fixation, sample, and delay phases. Defaults to a zero vector of length cue_dim.

  • response_cue (array-like, optional) – Cue vector used during response phase. Defaults to [1, 0, …, 0].

  • seed (int, optional) – Random seed.

Examples

>>> task = DelayMatchSample()
>>> task = DelayMatchSample(t_delay=2000*u.ms, num_stimuli=16)
>>> X, Y, info = task.sample_trial(0)
define_features()[source]#

Define input and output features.

Override in subclass for class-based task definition.

Return type:

Tuple

Returns:

  • input_features (Feature or FeatureSet) – Input feature definitions.

  • output_features (Feature or FeatureSet) – Output feature definitions.

define_phases()[source]#

Define the phase structure.

Override in subclass for class-based task definition.

Returns:

The task phase structure (single phase or composition).

Return type:

Phase

trial_init(ctx)[source]#

Initialize trial-level state.

Override in subclass to set up trial parameters like ground_truth, stimulus indices, etc.

Parameters:

ctx (Context) – Trial context to populate with state.

Return type:

None