Depending on your experimental paradigm, chances are you'll need to present stimuli to your participants, and record their responses. You can automate this process by coding a script for your task in MATLAB or Python. For web-based experiments, Inquisit is another good tool, as it can coordinate with mTurk and Qualtrics.

Note: before coding your own script from scratch, check out our lab GitHub to see if someone’s done something similar!

Stimulus Presentation in MATLAB

To present stimuli in Matlab, you'll need to download the package Psychtoolbox, a set of functions designed to draw stimuli on a computer screen and record precise timings.

Here are some helpful tutorials for using Psychtoolbox.

Note: if presenting video stimuli in Psychtoolbox, you’ll also need to install the PsychtoolboxKernelDriver.


To present stimuli in Python, you'll need to download the Psychopy, the Python-equivalent of Psychtoolbox.

Here are some helpful tutorials for using Psychopy.

Stimulus Presentation in Inquisit

To code and test your task in Inquisit, you'll need to download Inquisit Lab from Millisecond, which runs on your computer only. Millisecond offers a 30-day free trial, after which you can still use Inquisit Lab, but you won't be able to save data.

Here are some helpful tutorials for using Inquisit Lab.

If you want to run your experiment with online participants, you'll need to purchase an Inquisit Web license. The lab manager can help you with this. This page explains how to publish your script on Inquisit Web. When you've followed the instructions, you can copy the url of your experiment's launch page and link to it in a Qualtrics survey or mTurk.

Coordinating Your Script with the Scanner

If you're running an fMRI experiment, you'll also need to coordinate your script with the scanner hardware (button box, scan trigger, audio). Below are guides for doing this in Psychopy and Psychtoolbox.

In Psychopy:

In Psychtoolbox: