Module moog.game_rules.fixation
Rule that can be used to monitor fixation.
This rule is used to keep track of how long the subject has been fixating on a sprite (e.g. a fixation cross). The fixation duration is stored in the environment meta_state, and at each step either incremented if subject is fixating or reset to 0 otherwise.
A config that uses this rule should have a conditional rule checking whether the fixation duration in the environment meta_state has reached a threshold, in order to proceed with the task.
Classes
class Fixation (agent_layer,
fixation_layer,
fixation_threshold=0.1,
meta_state_fixation_key='fixation_duration')-
Expand source code
class Fixation(abstract_rule.AbstractRule): """Fixation rule.""" def __init__(self, agent_layer, fixation_layer, fixation_threshold=0.1, meta_state_fixation_key='fixation_duration'): """Constructor. Args: agent_layer: String. Key in environment state of agent layer. Agent is assumed to be the sprite at index 0 in this layer. fixation_layer: String. Key in environment state of agent layer. Fixation target is assumed to be the sprite at index 0 in this layer. fixation_threshold: Float. Distance from agent to fixation target considered fixating. meta_state_fixation_key: String. Key in meta_state whose value contains fixation duration. """ self._agent_layer = agent_layer self._fixation_layer = fixation_layer self._fixation_threshold = fixation_threshold self._meta_state_fixation_key = meta_state_fixation_key def reset(self, state, meta_state): del state meta_state[self._meta_state_fixation_key] = 0 def step(self, state, meta_state): agent = state[self._agent_layer][0] target = state[self._fixation_layer][0] dist = np.linalg.norm(agent.position - target.position) if dist < self._fixation_threshold: meta_state[self._meta_state_fixation_key] += 1 else: meta_state[self._meta_state_fixation_key] = 0
Fixation rule.
Constructor.
Args
agent_layer
- String. Key in environment state of agent layer. Agent is assumed to be the sprite at index 0 in this layer.
fixation_layer
- String. Key in environment state of agent layer. Fixation target is assumed to be the sprite at index 0 in this layer.
fixation_threshold
- Float. Distance from agent to fixation target considered fixating.
meta_state_fixation_key
- String. Key in meta_state whose value contains fixation duration.
Ancestors
- AbstractRule
- abc.ABC
Inherited members