Epsych

View the Project on GitHub dstolz/epsych

Note: This manual is a work in progress!

Overview GUIs

EPsych Macros for RPvds

Useful macros for handling the timing and contingencies of basic behavioral paradigms, such as two-alternative forced choice and stimulus detection, are included in the '..\epsych.circuit_macros' subdirectory on your hard drive.

All EPsych behavioral macros are designed to work with one or multiple behavioral boxes at a time. You can assign a macro to specific boxes, but double clicking the macro after placing it in the RPvds circuit and entering a number to be associated with it in the "Setup" tab. This numerical ID will then be associated with a specific subject when using the ep_RunExpt GUI.

Stimulus Detection Macro ep_StimDetect.rcm

ep_StimDetect macro
This macro is designed for behavioral experiments in which a subject responds to a stimulus indicating it has been detected. This macro has been used, for example, in a gap-in-noise detection threshold paradigm, behavioral audiograms using a staircase procedure, and several others.

When a new trial is initiated (TTL line goes from low to high), the macro will begin an internal clock. A signal for the TTL input can be any (for example, during a lever press which makes a digital input on a TDT hardware module change state from low to high). The basic stimulus detection paradigm typically has four sequential phases:
  1. Initiate trial by setting TTL input (ex, lever is pressed) and wait some delay period during which TTL remains high (ex, lever remains depressed).
    • When a trial is initiated, the InTrial logical output line goes from low to high. InTrial will go back to low if the subject responds (TTL goes from high to low) or the response window ends. The Clock output begins counting from 0 as long as the InTrial value remains high. The Clock value is expressed in milliseconds and its resolution is dependant up on the circuits sampling rate. The Clock value can be used to trigger other RPvds components that are unrelated to the response window by using the RPvds Compare component.
    • The first thing that will happen is that the DelayPeriod logical output line goes high until the internal clock reaches the value specified in the RespWinDelay input.
    • Once the internal clock has reached the RespWinDelay value, DelayPeriod will go low and RespWindow will go high. It is often useful to use the rising edge detector RPvds component to detect this this transition between trial phases to trigger a stimulus.
  2. A response window occurs following some event (ex, presentation of a tone burst from a speaker). In a simple stimulus detection paradigm, the subject is expected to respond if the stimulus is detected (ex, lever is released) and a hit is coded. If no response is detected (ex, lever remains depressed after the response window expires), then a miss would be coded. If the current trial is a catch trial, then the subject is expected to not respond during the response window. Correctly rejecting the catch trial will be coded if the response window expires an no response was detected (ex, lever remains depressed). If a response is detected in the response window during a catch trial, then a false alarm is coded.
    • RespWinDelay accepts a floating point value which controls the onset of the response window. Value is in milliseconds.
    • RespWinDur accepts a floating point value which controls the duration of the response window.
  3. If the subject does not detect a stimulus, indicated by no response, (ex, lever remains depressed), then a miss (or correct reject) is coded.
  4. An inter-trial interval may be enforced as an indicator of a miss (false alarm) or simply to slow down the trial presentation. As long as the InhibitTrial line is high, a new trial can not be triggered.

Two-Alternative Forced Choice Macro ep_2AFC.rcm

This macro is designed for operant conditioning behavioral experiments in which a subject must select between one of two choices. The ep_2AFC macro has been used for sound localization, multisensory integration, and many other experiments over the years.

ep_2AFC macro

Trial Trigger Macro ep_TrialTrigger.rcm

ep_TrialTrigger macro

Operational Trigger Macro ep_OperationalTrigger.rcm

ep_OperationalTrigger macro