Weak overcomes strong in sensory integration: Shading warps the disparity field
Data files
Sep 04, 2024 version files 290.66 KB
-
exp1_data_concat.txt
-
exp2_data_concat.txt
-
exp3_data_concat.txt
-
exp3_processed_data.txt
-
README.md
Abstract
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.
README: Weak overcomes strong in sensory integration: Shading warps the disparity field
Paper: https://doi.org/0.1098/rspb.2024.1758
Data/Analysis: 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)