DOI: 10.5281/zenodo.10352214
title: Data, stimuli, and analyses for "High-level aftereffects reveal the role of statistical features in visual shape encoding"

description: Data and code share.
This record contains data and code (written in MATLAB) to reproduce the results shown in:
Morgenstern, Y. , Storrs, K., R., Schmidt, F., Hartmann, F., Tiedemann, H., Tiedemann, H, ., Wagemans, J., & Fleming, R. (in press) . High-level aftereffects reveal the role of statistical features in visual shape coding. Current Biology
Below is a summary of shared scripts that load data, run the analysis (including options for fitting model parameters or loading pre-computed fitted parameters), and plotting the results.
Figure 1

Fig1C_shapespace.m:  draw shape space (as in Figure 1C)
Fig1EFG_plotpsychometricdata.m: fit psychometric model to pooled data and plot (as in Figure 1EFG)
getExptShapesHbias.m:  saves a data structure (which we call 'package') with adaptor, test, and human biases from experiment 1.  (Used to fit models; e.g., see fitGabPyr2Hbais.m or fitTAEGANfit2Hbais.m)
Figure 2 and 3A

fig3A_modeval_expt1.m: generate figure that evaluates models in Figure 3A on how well they predict aftereffects in Experiment 1. (script located  in the 'Figures 2 and 3A/models' directory).
Code to fit the models, and figures that show examples of model predictions are in the model directories, and summarized below:
Model: GabPyrAE    

note:  To run GabPyr, you will likely need to recompile the .mex files in 'matlabPyrTools/mex'.  Then move the recompiled files into the 'matlabPyrToos' directory
fig2B_GabPyrAEVisFigs.m: produce GabPyrAE model images for example adaptor and test image ( as in Figure 2B )
figS2BC_GabPyrAEExp.m: get GabPyrAE model responses to simulated tilt aftereffect experiment using anisotropic noise, and plot model responses as in Figures S2BC.
getGabPyrAEMod.m: given an adaptor and test image, this function produces the unfit GabPyrAE prediction
fitGabPyr2Hbias.m:  fit GabPyrAE model to best predict human baises in Experiment 1 using data structure from getExptShapesHbias.m. This is the general function that calls on MATLAB's GA algorithm to minimize the error function in fitGabPyrNormMod2Stims.m
evalGabPyrAE_fitmod_aic.m: evaluate GabPyrAE fitted model on how well it predicts human biases from experiment 1.
evalGabPyrAE_unfitmod_aic.m: evaluate GabPyrAE fitted model on how well it predicts human biases from experiment 1
Model: TAE

fig2CD_TAEmod.m: produce TAE model images for example adaptor and test image (as in Figure 2CD)
getTAEModonShape.m: given an adaptor and test image, this function produces TAE Original prediction.  Input to function is adaptor and test shapes, and TAE model parameters alpha and sigma.
getTAEGAN_spwt_onShape.m: given an adaptor and test image, this function produces TAEGAN prediction.  Input to function is adaptor and test shapes, and TAEGAN model parameters which include a constant term, alpha and sigma, as well as Gaussian pooling parameter that determines how much TAE to incorporate on the test or mean shapes from neighbouring adaptor line segments.
getTAE_spwt_onShape_nn.m: given an adaptor and test image, this function produces TAE nearest neighbour prediction.  Input to function is adaptor and test shapes, and TAE nearest neighbour model parameters which include a constant term, alpha and sigma, as well as Gaussian pooling parameter that determines how much TAE to incorporate on the test or mean shapes from neighbouring adaptor line segments.
fitTAEGAN2Hbias.m:  fit TAEGAN model to best predict human biases in Experiment 1 using data structure from getExptShapesHbias.m.  This is the general function that calls on MATLAB's GA algorithm to minimize the error function in fitTAEGANMod2Stims.m
fitTAENN2Hbias.m:  fit TAE nearest neighbour model to best predict human biases in Experiment 1 using data structure from getExptShapesHbias.m. This is the general function that calls on MATLAB's GA algorithm to minimize the error function in fitTAENNMod2Stims.m.
evalTAEGAN_fitmod_aic.m: evaluate TAEGAN fitted model on how well it predicts human biases from experiment 1.
evalTAENN_fitmod_aic.m: evaluate TAE nearest neighbour fitted model on how well it predicts human biases from experiment 1.
evalTAE_unfitmod_aic.m: evaluate TAE Original model on how well it predicts human biases from experiment 1
Model: PSAE

fig2EF_PSAEmod.m: produce PSAE model images for example adaptor and test image
getPos_spwt_ShiftononShape_io.m: given an adaptor and test image, this function produces PSAEGAN prediction.  Input to function is adaptor and test shapes, and PSAEGAN model parameters which include a constant term, alpha and sigma, as well as Gaussian pooling parameter that determines how much PSAE to incorporate on the test or mean shapes from neighbouring adaptor line segments.
getPos_spwt_ShiftonShape_io_nn.m: given an adaptor and test image, this function produces PSAE nearest neighbour prediction.  Input to function is adaptor and test shapes, and PSAE nearest neighbour model parameters which include a constant term, alpha and sigma, as well as Gaussian pooling parameter that determines how much PSAE to incorporate on the test or mean shapes from neighbouring adaptor line segments.
fitPSAEGAN2Hbias.m:  fit PSAEGAN model to best predict human biases in Experiment 1 using data structure from getExptShapesHbias.m.  This is the general function that calls on MATLAB's GA algorithm to minimize the error function in fitPSAEGANMod2Stims.m
fitPSAENN2Hbias.m:  fit PSAE nearest neighbour model to best predict human biases in Experiment 1 using data structure from getExptShapesHbias.m. This is the general function that calls on MATLAB's GA algorithm to minimize the error function in fitPSAENNMod2Stims.m.
evalPSAEGAN_fitmod_aic.m: evaluate PSAEGAN fitted model on how well it predicts human biases from experiment 1.
evalPSAENN_fitmod_aic.m: evaluate PSAE nearest neighbour fitted model on how well it predicts human biases from experiment 1.
Model: ShapeComp and No Adaptation

eval_ShapeComp _aic.m: evaluate ShapeComp 1 parameter fitted model on how well it predicts human biases from experiment 1.
eval_NoAdaptation _aic.m: evaluate model that predicts no adaptation on how well it predicts human biases from experiment 1.
Figure 3BC

fig3BC_Experiment2.m: load, analyze, and plot experiment 2 data (as in Figure 3B and C).
figS4_Expt2_stimuli.m: show adaptors (in black) and test shapes for ShapeComp (purple), PSAE fit GAN (green), and no adaptation model (white) (as in Figure S4)