Theory of Mind and Pain Matrix Localizer / Movie Viewing Experiment

Our lab has used Disney Pixar’s “Partly Cloudy” movie (<6 minutes) as an experimental paradigm for studying the responses in ToM and Pain Matrix brain regions. We have done this in two ways:

(1) First, we hand-coded mental, social, physical pain, and control moments in the movie. We contrasted activation during mental vs. pain events to localize the theory of mind network and the pain matrix.


  1. mental — characters mentalizing
  2. pain — characters in physical pain
  3. social — non-main characters interacting
  4. control — scenery, no focus on characters

If you use this experiment and the hand-coding scheme, please credit Nir Jacoby, Emile Bruneau, Jorie Koster-Hale, and Rebecca Saxe.

(2) Second, we conducted reverse correlation analyses (Hasson et al., 2004) on the responses from theory of mind and pain matrix brain regions across two samples of adults in order to identify ToM and pain events in a data-driven manner. This analysis, the participant samples (1: n=33 adults, 2: n=20 adults), and the ROIs are described in detail in Richardson et al., 2018.


  1. mental — events that evoked reliably high responses from ToM brain regions
  2. pain — events that evoked reliably high responses from Pain Matrix brain regions

If you use this experiment and the reverse correlation event coding scheme, please credit Hilary Richardson, Grace Lisandrelli, Alexa Riobueno-Naylor, and Rebecca Saxe.

Note: The correspondence between hand-coded mental and pain events, and mental and pain events identified via reverse correlation analysis is displayed in the Supplemental Materials of Richardson et al., 2018.


To use “Partly Cloudy” as an experiment, you will need to purchase the movie from Pixar Animation Studios. To run the experiment script, you need Matlab and the PsychToolbox. Make sure to follow the GStreamer instructions if prompted in order to make movie screening from PsychToolbox possible.

  1. To download the script to run the experiment, click here [version: March 29, 2019]
  2. Extract the folder.
  3. From within matlab, cd into the extracted folder
  4. Type ‘setup’ and follow the onscreen instructions
  5. If you want to use the hand-coded events, use experiment script mov_localizer.m (Jacoby et al, 2016). If you want to use events defined by reverse correlation analysis, use experiment script mov_localizer_rc.m (Richardson et al, 2018).


subjID: STRING The string you wish to use to identify the participant. “PI name”_”study name”_”participant number” is a common convention. This will be the name used to save the files.

Example usage: 


The script outputs a behavioural file into the behavioural directory. This contains information about the IPS of the scan, and when events corresponding to different conditions occurred. It also contains information necessary to perform the analysis with SPM. The file is saved as


  • time = 5:59 — including fixation before movie and credits
  • IPS = 180 — can be made shorter if you stop the scan during credits
  • For timing purposes, the movie is 5:49 seconds.
  • NOTES Make sure to change the inputs in the ‘Variables unique to scanner/computer’ section of the script. 

    Analysis consists of five primary steps:

    < >Motion correction by rigid rotation and translation about the 6 orthogonal axes of motion.(optional) Normalization to the SPM template.Smoothing, FWHM, 5 mm smoothing kernel if normalization has been performed, 8 mm otherwise.ModelingEach condition in each run gets a parameter, a boxcar plot convolved with the standard HRF. The length of the boxcar corresponds to the duration of each event, as noted in the experimental script.The data is high pass filtered (filter frequency is 128 seconds per cycle)A simple contrast and a map of t-test t values is produced for analysis in each subject. We look for activations thresholded at p < 0.001 (voxelwise) with a minimum extent threshold of 10 contiguous voxels.

    Random effects analyses show significant results with n > 10 participants, though it should be evident that the experiment is working after 3 – 5 individuals.

    SPM Parameters

    If using scripts to automate data analysis, these parameters are set in the SPM.mat file prior to modeling or design matrix configuration.

    SPM.xGX.iGXcalc = {‘Scaling’} — global normalization: OPTIONS:’Scaling’|’None’
    SPM.xX.K.HParam = filter_frequency — high-pass filter cutoff (secs) [Inf = no filtering]
    SPM.xVi.form = ‘none’ — intrinsic autocorrelations: OPTIONS: ‘none’|’AR(1) + w’ = ‘hrf’ — Basis function name
    SPM.xBF.T0 = 8 — reference time bin
    SPM.xBF.UNITS = ‘scans’ — OPTIONS: ‘scans’|’secs’ for onsets
    SPM.xBF.Volterra = 1 — OPTIONS: 1|2 = order of convolution; 1 = no Volterra