Updates:

12/20/2018

A correction on the description of motion direction index was made (see item #10, ‘move_dir‘).


Subramaniyan et al. 2013
Data package for

Macaque monkeys perceive the flash lag illusion

Manivannan Subramaniyan, Alexander S. Ecker, Philipp Berens and Andreas S. Tolias*

* To whom correspondence should be addressed. Email address: atolias@cns.bcm.edu

Published in PLOS one, 2013.

Here we provide the details of the raw data provided with the data package and how to recreate Figures 2, 3, 4 and 5 presented in the paper. You will need MATLAB to read the data files and to recreate the figures.

Raw data – trial by trial details for each monkey subject and human observer. All the data needed for plotting the figures and performing statistical tests were derived from this raw data.

 

Monkey raw data

File name: raw_data_monkey.mat

Data structure: A nested structure array of size 1-by-(number of monkeys). For each monkey, several sessions were run for each speed of the moving bar. For example, the trial-by-trial data for speed 10 deg/s for the 1st session from monkey B can be accessed by raw_data_monkey(1).speed(1).session(1).trial_data where trial_data is a 1-by-(number of trials) structure array with the following fields:

  1. ‘abort_type’ – Takes one of the values from the set {‘eyeAbort’, ‘leverAbort’, ‘prematureAbort’, ‘ ‘}. ‘eyeAbort’ indicates that the monkey broke fixation before the trial was over; ‘leverAbort’ indicates that the monkey did not respond; ‘prematureAbort’ indicates the monkey responded before the allotted response period began; ‘ ‘ – indicates no abort.
  2. ‘correct_response’ – A value of one indicates that monkey made a correct response; a value of zero indicates incorrect response.
  3. ‘fixation_rad_deg’ – Fixation radius in degrees.
  4. ‘fixation_required’ – A value of one indicates that the subject fixated the gaze within ‘fixation_rad_deg’ radius. A zero value indicates that the subject was not required to fixate.
  5. ‘flash_location_deg’ – Azimuth location in degrees where the flash was shown. Positive value indicates right visual hemifield.
  6. ‘flash_onset_ms’ – Onset time (ms) of the flashed bar relative to beginning of the session. Note that for monkey H, around 0.5 % of the valid trials in the ‘reward_block_mode’, the ‘flash_onset_ms’ field will have NaN values. In these trials, the monkey had made a response before the flash appeared.
  7. ‘mov_bar_loc_deg’ – Instantaneous location (Azimuth in degrees) of the moving bar at the onset time of flashed bars.
  8. ‘mov_onset_ms’ – Onset time (ms) of the moving bar relative to beginning of the session.
  9. ‘mov_offset_ms’ – Offset time (ms) of the moving bar relative to beginning of the session.
  10. ‘move_dir’ – Direction of the moving bar trajectory; a value of zero indicates left to right movement direction and a value of one indicates right to left direction.
  11. ‘response_onset_time_ms’ – Response onset time (ms) relative to the beginning of the session. Reaction time – the time when the monkey made a response after the flash onset – can be obtained by subtracting ‘flash_onset_ms’ from ‘response_onset_time_ms’. Note that for some behavioral sessions from monkey-H (sessions on 2008-03-14 and 2008-03-17), the response onset time data were not available; in those cases, the value of this field was set to NaN.
  12. ‘reward_block_mode’ – A value of one indicates that the trial was part of Phase-III where the reward block design was used. A value of zero indicates that the trial was part of Phase-I.
  13. ‘reward_duration_ms’ – Duration (ms) of fluid reward.
  14. ‘spatial_offset_deg’ – Horizontal distance in degrees between flashed bar center and the instantaneous location of the moving bar center at the time of flash. Positive values indicate that flash was located ahead of the moving bar’s instantaneous position.
  15. ‘valid_trial’ – A value of one indicates that the monkey successfully completed the trial; a  value of zero indicates that the monkey aborted the trial.

Human raw data

File name: raw_data_human.mat

Data structure: A nested structure array of size 1-by-(number of human observers). The array has the same organization of fields and field definitions as those of the monkey raw data. Note that ‘trial_data’ structure does not have the fields ‘response_onset_time_ms’ (due to the lack of reaction time data for human subjects), ‘reward_block_mode’ (not applicable to human observers), ‘fixation_rad_deg’ and ‘reward_duration_ms’.

Recreating Figures

Figures 2, 3, 4 and 5 can be recreated by executing the corresponding function ‘recreate_figure_#.m’ in MATLAB. These functions use pre-computed data (data files other than the ‘raw_data_*.mat’), included with the data package. Make sure that you place all the data files in the same directory where you have the MATLAB code. If you need to recreate the computed data, please run ‘compute_and_save_all_data.m’ which uses psignift 3.0 toolbox (see below) to fit psychometric functions.

Data for statistical tests

The data needed for statistical tests are provided in the txt format files stat_data_for_fig_*.txt as part of the data package. These files were created by the script ‘stat_analysis.m’; in Windows platform, you can also create excel files optionally using this script.

The data package can be obtained from http://dx.doi.org/10.5061/dryad.t1n04

The MATLAB code associated with recreating figures can be obtained by one of the two methods:

  1. Using git: clone the working version from https://github.com/mani33/subramaniyan_et_al_2013
  2. Download the code from https://github.com/mani33/subramaniyan_et_al_2013/archive/master.zip

Installing psignifit

To recompute all results from raw data, you need the psignifit toolbox for fitting psychometric functions. We patched the MATLAB version of psignifit, which is still in beta phase. There are two ways of downloading the MATLAB functions:

  1. Using git: clone the working version from https://github.com/mani33/Psignifit-3.x and use the branch subramaniyan_et_al_2013. From the command line:
    git clone -b subramaniyan_et_al_2013 https://github.com/mani33/Psignifit-3.x <target_directory>
  2. Download the code from https://github.com/mani33/Psignifit-3.x/archive/subramaniyan_et_al_2013.zip

In MATLAB you need to add <path_to_psignifit>/mpsignifit to your path.

In addition, you need to get the source code for the command line interface by one of the two methods:

  1. Using git: clone the branch ingo/master from https://github.com/esc/Psignifit-3.x From command line: git clone -b ingo/master https://github.com/esc/Psignifit-3.x <target_directory>
  2. Download the code from https://github.com/esc/Psignifit-3.x/archive/ingo/master.zip

Next, you need to create the executables. How you do this depends on the operating system.

  1. On Unix-based systems (Linux, Mac OS) you need to run the following two commands from the directory where you cloned the psignifit source code:
    sudo make install
    sudo make cli-install
    In addition, you need to add the folder where the executables where placed (e.g. Mac OS: ~/bin) to your system path.
  2. On Windows, download and run the installer for the psignifit command line interface: http://sourceforge.net/projects/psignifit/files/psignifit3.0_beta_27-08-2011/psignifit-cli_3_beta_installer_27-08-2011.exe/download