DOI: 10.5061/dryad.zgmsbcckn
title: Weak overcomes strong in sensory integration: Shading warps the disparity field

description: Human perception is often based on the integration of multiple sensory
 cues, where more statistically reliable cues are considered to have
 stronger influence on the percept. For example, in three-dimensional (3D)
 shape perception, binocular disparity is considered the most reliable cue
 at close distances, while pictorial cues like shading are considered less
 reliable. In three within-subject experiments, we instead show that
 shading can override disparity, a result that cannot be explained by its
 measured reliability, cue vetoing, nor cue promotion. Observers judged the
 shape of a disparity surface that was combined with different shading
 patterns. In all tests, shading altered the perceived shape specified by a
 strong disparity signal in a way that could not be predicted by standard
 accounts of 3D perception. We find an example of unaccounted-for cue
 cooperation, where shading becomes strong when it interacts with
 disparity.
description: # Weak overcomes strong in sensory integration: Shading warps the
 disparity field
 Paper: [https://doi.org/0.1098/rspb.2024.1758](https://doi.org/0.1098/rspb.2024.1758) Data/Analysis: [https://doi.org/10.5061/dryad.zgmsbcckn](https://doi.org/10.5061/dryad.zgmsbcckn) This contains the complete data collected in three within-subject experiments investigating the effect of shading on the perceived depth of local points on stereoscopically presented surfaces. Data from experiments 1 and 2 are collected through the dot placement task, where human observers adjust the disparity of a small dot until it appears to rest on a stereoscopically presented surface in front of them. Units are in millimeters. The third experiment employed a forced-choice variation of the dot placement task, where observers reported whether a temporarily flashed disparity-defined dot appeared to be behind the surface in depth. The comparison levels are in millimeters. Further details are available in the commented analysis scripts. ## Description of the data and file structure Raw data for each trial, concatenated across participants, are available for each of the three experiments in the form of a single tab-delimited text file, named "exp1_data_concat.txt", "exp2_data_concat.txt", and "exp3_data_concat.txt" respectively. Below is a description of each column in the data sets. **exp1_data_concat.txt**  * subjName: an abbreviated text identifier for each participant * IOD: inter-oculuar distance, in mm, noting the measured separation between the participant's pupils. * trialN: an integer recording the trial number associated with the row of data * surface: a categorical variable representing the surface condition tested  * 0: disparity-only condition * 4: Shift_left shading with symmetrical disparity condition  * 5: Shift_right shading with symmetrical disparity condition * 6: Shift_left shading only * 7: Shift_right shading only * probe: the x position of the probe in mm relative to fixation * initPosZ: the randomly initialized z (depth) position of the probe dot at the beginning of the trial, in mm. * posZ: the adjusted z (depth) position of the probe dot submitted by the participant * jitter: the random depth jitter applied to the surface, in mm, which shifts the entire surface in depth **exp2_data_concat.txt** * subjName: an abbreviated text identifier for each participant * IOD: inter-oculuar distance, in mm, noting the measured separation between the participant's pupils. * trialN: an integer recording the trial number associated with the row of data * surface: a categorical variable representing the surface condition tested  * 0: disparity-only condition * 4: Shift_up shading with symmetrical disparity condition  * 5: Shift_down shading with symmetrical disparity condition * 6: Shift_up shading only condition * 7: Shift_down shading only condition * probe: a categorical variable representing 1 of 7 probe positions linearly space from the bottom (0) to the top (6) of the surface * initPosZ: the randomly initialized z (depth) position of the probe dot at the beginning of the trial, in mm. * posY: the y position in mm of the probe dot, which corresponds to the probe categorial variable * posZ: the adjusted z (depth) position of the probe dot submitted by the participant * jitter: the random depth jitter applied to the surface, in mm, which shifts the entire surface in depth exp3_data_concat.txt * subjName: an abbreviated text identifier for each participant * IOD: inter-oculuar distance, in mm, noting the measured separation between the participant's pupils. * trialN: an integer recording the trial number associated with the row of data * surface: a categorical variable representing the surface condition tested  * 0: disparity-only condition * 4: Shift_up shading with symmetrical disparity condition  * 5: Shift_down shading with symmetrical disparity condition * 6: Shift_up shading only condition * 7: Shift_down shading only condition * probe: a categorical variable representing 1 of 7 probe positions linearly space from the bottom (0) to the top (6) of the surface (in this case, always 2) * comparison_level: a categorical variable representing which of the 6 tested fixed probe depths was used for the current trial. These probe depth levels were set per surface condition per participant based on the results of a pretest. * posZ: the z (depth) position in mm of the probe corresponding to the current combination of the subjName, surface, and comparision_level conditions. * answer: the response of the observer, where 0 indicates a "no" response and 1 indicates a "yes" response. Processed data from experiment 3 is also included in a single tab-delimited text file, named "exp3_processed_data.txt", which contains the estimated PSE (point of subjective-equality) and JND (just-noticeable difference threshold) for each surface condition at probe level 2 by participant. This processed data is what was used in the analysis of experiment 3, and can be generated using the raw trial data in "exp3_data_concat.txt" using the R script titled "exp3_psychometric_fits.R". Below is a description of each column in the processed data set: exp3_processed_data.txt * subjName: an abbreviated text identifier for each participant * surface: a categorical variable representing the surface condition tested  * 0: disparity-only condition * 4: Shift_up shading with symmetrical disparity condition  * 5: Shift_down shading with symmetrical disparity condition * 6: Shift_up shading only condition * 7: Shift_down shading only condition * PSE: the measured point of subjective-equality, in mm, where the participant is estimated to have chance level performance at discriminating whether the presented probe dot is behind the surface or not. * JND: the just-noticeable-difference threshold, in mm, measured as the absolute difference between the probe depths where the participant is estimated to have chance level performance and 84% level performance in the discrimination task.  ## Code/Software There are three analysis scripts, one for each experiment, presented as Jupyter notebooks. A separate python script, named "util_functions.py", is used in each of the notebooks. The scripts were written and tested using Python 3.9.13. The following libraries are required: * pandas (1.4.2) * scipy.stats (1.7.3) * statsmodels.api, statsmodels.stats.anova (0.13.5) * numpy (1.22.4) * matplotlib.pyplot (3.7.1)