PsychoPy Stimuli
Stimuli based on PsychoPy play a special role in rewardGym, as they allow for both stimulation, fine control over timing, logging and simulation of experiments.
See some examples rewardgym.psychopy_render,
which can be accessed via the rewardgym.psychopy_render.stimuli
module.
These stimuli are added to the environment as a list, so that at each state a number
of stimuli are displayed after another. Typically ending in an rewardgym.psychopy_render.stimuli.ActionStimulus
.
The Stimulus Class
The stimulus class has three main methods: setup
, display
, and simulate
.
Setup
The role of the setup
method is to instantiate the different PsychoPy objects,
that are used for displaying stimuli on the screen. In principle, this
method should only take the current window
object as an argument.
All properties of the PsychoPy objects to be displayed (filenames, images, text, etc.)
should be added to the class during __init__
.
Display
The display
method is used by the rewardgym.environments.psychopy_env
,
to render the stimuli onto the display.
The display method inside the environment has access to:
the current window object
the current logger object
the current condition
the total reward
the current reward
the current location of the agent
and the action issued previously
Simulate
Finally, there’s the simulate
method, which mirrors the display
method.
This is used to simulate full log files. In many cases you can use simulate
method inherited from the rewardgym.psychopy_render.stimuli.BaseStimulus
,
class.