CSF models as functions of spatial, luminance, area and colour directions

Fitting error

Dataset Fitting error Sensitivity adjustment
castleCSF Postreceptoral contrast castleCSF Postreceptoral contrast
Average training 3.27 ± 0.06 [dB] 3.08 ± 0.05 [dB] N/A N/A
Average testing 3.31 ± 0.22 [dB] 3.18 ± 0.21 [dB] N/A N/A
modelfest 2.22 [dB] 1.52 [dB] 1.078 0.999
hdrvdp_csf 1.79 [dB] 2.15 [dB] 1.252 1.233
rovamo1993 3.23 [dB] 3.35 [dB] 1.653 1.663
virsu1979 5.04 [dB] 5.80 [dB] 1.412 1.526
wright1983 1.19 [dB] 0.89 [dB] 1.093 1.062
colorfest 2.69 [dB] 2.16 [dB] 0.944 0.922
hdr_csf 3.75 [dB] 3.53 [dB] 1.000 1.000
kim2013 3.59 [dB] 3.07 [dB] 1.169 1.231
five_centres 3.30 [dB] 3.04 [dB] 1.195 1.521
lucassen2018 2.83 [dB] 2.90 [dB] 0.609 0.752
hdr_csf_disc 3.09 [dB] 2.64 [dB] 1.604 1.426
vanderHorst1969_b 3.15 [dB] 3.21 [dB] 0.660 0.728

Model comparison statistics

Model No. of free parameters Sum of Square Errors (SS) Degrees of freedom (df) F-test AIC
F-statistic p-value
castleCSF (Reference Model) 53 32.086 1132 N/A N/A -4170.78
Postreceptoral contrast 31 28.411 1154 -5.892 1.0000 -4358.89

We use AIC and F-test to test whether the difference in fitting error is statistically significant at alpha=0.05 level. Both statistical metrics take the number of optimized parameters into account.

F-test: For F-test, we compare the fitting results from castleCSF with those of other models. The F-static is calculated using the residual sum of squares and degrees of freedom (number of data points - number of optimized parameters) from both models. The corresponding p-value indicates whether or not the null hypothesis is rejected, where H0: the castleCSF does not provide significant better fit than the other model. The p-values less than 0.05 indicates that castleCSF provides a better fit to the data at the significance level of 0.05 (marked with ✓). We performed the F-test for all individual datasets as well as for all datasets combined. For smaller datasets, where the number of data points are comparable to the number of model parameters, F-test can not provide any results since it indicates there is more variance within the models' fits than between.

AIC: Akaike information criterion is a statistical estimator of prediction error and relative quality of the models, which accounts for the number of parameters of each model. The model with the lower AIC score is considered to be better and with a good balance of error value and the number of parameters.

The sensitivity adjustment column contains a multiplier that is used to adjust the sensitivity of each datasets. It corresponds to sd in the paper.

Model parameters

castleCSF
M_lms2acc = 1.0000 1.0000 0 1.0000 -2.3112 0 -1.0000 -1.0000 50.9875 p.rg.sigma_sust = 16.541; p.rg.beta_sust = 1.15549; p.rg.ch_sust.S_max = [ 557.889 25.0577 0.486866 ]; p.rg.ch_sust.f_max = 0.0310876; p.rg.ch_sust.bw = 2.17973; p.rg.A_0 = 1696.1; p.rg.f_0 = 0.0832666; p.rg.ecc_drop = 0.0591431; p.rg.ecc_drop_nasal = 2.89648e-05; p.rg.ecc_drop_f = 2.04986e-69; p.rg.ecc_drop_f_nasal = 0.180118; p.yv.sigma_sust = 7.9187; p.yv.beta_sust = 0.999363; p.yv.ch_sust.S_max = [ 92.3014 39.6231 0.441457 ]; p.yv.ch_sust.f_max = 0.0232328; p.yv.ch_sust.bw = 2.12947; p.yv.A_0 = 2.72428e+07; p.yv.f_0 = 0.000589457; p.yv.ecc_drop = 0.00357397; p.yv.ecc_drop_nasal = 5.85804e-141; p.yv.ecc_drop_f = 0.0080878; p.yv.ecc_drop_f_nasal = 0.0147658; p.ach.ach_sust.S_max = [ 56.9178 2.1622 0.221787 5.67457e-07 8.63393e+09 ]; p.ach.ach_sust.f_max = [ 1.82869 222.308 0.217517 ]; p.ach.ach_sust.bw = 0.000212433; p.ach.ach_sust.a = 0.0301568; p.ach.ach_sust.A_0 = 157.103; p.ach.ach_sust.f_0 = 0.702338; p.ach.ach_trans.S_max = [ 0.193416 2793.93 ]; p.ach.ach_trans.f_max = 0.00032711; p.ach.ach_trans.bw = 2.6982; p.ach.ach_trans.a = 0.000241177; p.ach.ach_trans.A_0 = 3.58591; p.ach.ach_trans.f_0 = 2.9498; p.ach.sigma_trans = 0.0855452; p.ach.sigma_sust = 10.467; p.ach.omega_trans_sl = 2.3756; p.ach.omega_trans_c = 4.58868; p.ach.ecc_drop = 0.0259781; p.ach.ecc_drop_nasal = 0.0452708; p.ach.ecc_drop_f = 0.0217926; p.ach.ecc_drop_f_nasal = 0.0068348; Parameters for Ach component: p.ach_sust.S_max = [ 56.9178 2.1622 0.221787 5.67457e-07 8.63393e+09 ]; p.ach_sust.f_max = [ 1.82869 222.308 0.217517 ]; p.ach_sust.bw = 0.000212433; p.ach_sust.a = 0.0301568; p.ach_trans.S_max = [ 0.193416 2793.93 ]; p.ach_trans.f_max = 0.00032711; p.ach_trans.bw = 2.6982; p.ach_trans.a = 0.000241177; p.ach_trans.A_0 = 3.58591; p.ach_trans.f_0 = 2.9498; p.sigma_trans = 0.0855452; p.sigma_sust = 10.467; p.omega_trans_sl = 2.3756; p.omega_trans_c = 4.58868; p.ecc_drop = 0.0259781; p.ecc_drop_nasal = 0.0452708; p.ecc_drop_f = 0.0217926; p.ecc_drop_f_nasal = 0.0068348; Parameters for RG component: p.ch_sust.S_max = [ 557.889 25.0577 0.486866 ]; p.ch_sust.f_max = 0.0310876; p.ch_sust.bw = 2.17973; p.A_0 = 1696.1; p.f_0 = 0.0832666; p.sigma_sust = 16.541; p.beta_sust = 1.15549; p.ecc_drop = 0.0591431; p.ecc_drop_nasal = 2.89648e-05; p.ecc_drop_f = 2.04986e-69; p.ecc_drop_f_nasal = 0.180118; Parameters for YV component: p.ch_sust.S_max = [ 92.3014 39.6231 0.441457 ]; p.ch_sust.f_max = 0.0232328; p.ch_sust.bw = 2.12947; p.A_0 = 2.72428e+07; p.f_0 = 0.000589457; p.sigma_sust = 7.9187; p.beta_sust = 0.999363; p.ecc_drop = 0.00357397; p.ecc_drop_nasal = 5.85804e-141; p.ecc_drop_f = 0.0080878; p.ecc_drop_f_nasal = 0.0147658;
Postreceptoral contrast
p.ach.S_max = [ 521.522 4.28047 0.205589 14370 0.727125 ]; p.ach.f_max = [ 1.63716 208.669 0.217275 ]; p.ach.bw = 0.100024; p.ach.gamma = 0.939377; p.ach.Ac_prime = 58.0308; p.rg.S_max = [ 1656.93 21.116 0.516516 ]; p.rg.f_max = 0.0437323; p.rg.bw = 2.25658; p.rg.gamma = 1.61491; p.rg.Ac_prime = 1.98645; p.yv.S_max = [ 61559.5 34.6744 0.456428 ]; p.yv.f_max = 0.000904801; p.yv.bw = 3.02109; p.yv.gamma = 1.40366; p.yv.Ac_prime = 2.30455; p.colmat = [ 0.0345069 3.05716 2.25236 0.0625121 3.89577e-06 0.853869 ];

CSF model: castleCSF

L+M
L-M
S-(L+M)

CSF model: Postreceptoral contrast

L+M
L-M
S-(L+M)

Legend

To keep the plots legible, only up to 3 models are plotted.

Dataset: [modelfest] ModelFest

Achromatic CSF as a function of frequency

Dataset: [hdrvdp_csf] HDR-VDP CSF

Achromatic CSF as a function of frequency

Achromatic CSF as a function of size

Dataset: [rovamo1993] Rovamo et al. 1993

CSF as the funcation of stimulus area

CSF as the function of spatial frequency

Dataset: [virsu1979] Virsu & Rovamo 1979

Contrast sensitivity of central and peripheral vision as a function of spatial frequency and eccentricity

Dataset: [wright1983] Wright and Johnson 1983

CSF as function of eccentricity

Dataset: [colorfest] ColorFest

Chromatic CSF as a function of frequency

Dataset: [hdr_csf] High Dynamic Range CSF

CSF as the function of frequency at different luminance levels (fixed number of cycles)

Dataset: [kim2013] Chromatic CSF [Kim et al. 2013]

Chromatic CSF as a function of frequency

Dataset: [five_centres] Five centres [Xu et al. 2020]

Chromatic CSF as ellipses

Chromatic CSF as a function of frequency

Dataset: [lucassen2018] Lucassen et al. 2018

Lucassen2018 CSF sensitivity vs spatial frequency

Dataset: [hdr_csf_disc] High Dynamic Range Disc CSF

CSF as the function of size at different luminance levels

Dataset: [vanderHorst1969_b] Van der Horst & Bouman 1969

Static chromatic contrast thresholds as a function of spatial frequency

Static chromatic contrast thresholds as function of luminance

Chromatic contrast thresholds for travelling sine waves as function of spatial frequency

Chromatic contrast thresholds for travelling sine waves as function of temporal frequency