CSF models as functions of spatial frequency, luminance and area
Fitting error
Dataset |
Fitting error |
Sensitivity adjustment |
castleCSF |
original Barten's CSF (1999) |
VDP CSF |
Wuerger 2020 JOV CSF |
Postreceptoral contrast |
stelaCSF |
castleCSF |
original Barten's CSF (1999) |
VDP CSF |
Wuerger 2020 JOV CSF |
Postreceptoral contrast |
stelaCSF |
Average training |
2.76 ± 0.07 [dB] |
3.40 ± 0.12 [dB] |
5.29 ± 0.13 [dB] |
3.21 ± 0.16 [dB] |
2.47 ± 0.09 [dB] |
2.75 ± 0.11 [dB] |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
Average testing |
2.78 ± 0.27 [dB] |
3.51 ± 0.48 [dB] |
5.41 ± 0.54 [dB] |
3.51 ± 0.71 [dB] |
2.72 ± 0.32 [dB] |
2.84 ± 0.47 [dB] |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
modelfest |
2.35 [dB] |
2.20 [dB] |
2.93 [dB] |
2.50 [dB] |
1.56 [dB] |
2.37 [dB] |
0.986 |
1.364 |
1.293 |
1.461 |
0.966 |
1.392 |
hdrvdp_csf |
2.00 [dB] |
3.71 [dB] |
5.44 [dB] |
2.28 [dB] |
1.59 [dB] |
1.95 [dB] |
1.153 |
1.763 |
2.924 |
1.715 |
1.097 |
1.697 |
rovamo1993 |
3.19 [dB] |
2.96 [dB] |
6.74 [dB] |
4.20 [dB] |
2.86 [dB] |
3.13 [dB] |
1.507 |
2.641 |
4.690 |
2.266 |
1.577 |
2.185 |
virsu1979 |
3.93 [dB] |
3.74 [dB] |
5.23 [dB] |
5.16 [dB] |
4.18 [dB] |
4.05 [dB] |
1.536 |
2.469 |
4.195 |
2.265 |
1.699 |
2.150 |
wright1983 |
1.25 [dB] |
2.21 [dB] |
2.70 [dB] |
1.61 [dB] |
0.85 [dB] |
1.60 [dB] |
0.988 |
1.461 |
1.653 |
1.433 |
1.052 |
1.309 |
colorfest |
2.71 [dB] |
2.54 [dB] |
4.04 [dB] |
2.94 [dB] |
2.04 [dB] |
2.78 [dB] |
0.920 |
0.933 |
1.269 |
0.950 |
0.967 |
0.899 |
hdr_csf |
3.21 [dB] |
3.92 [dB] |
5.20 [dB] |
3.56 [dB] |
3.04 [dB] |
3.38 [dB] |
1.000 |
1.000 |
1.000 |
1.000 |
1.000 |
1.000 |
hdr_csf_disc |
2.18 [dB] |
1.71 [dB] |
1.34 [dB] |
1.84 [dB] |
2.20 [dB] |
1.36 [dB] |
1.096 |
1.154 |
1.102 |
1.212 |
1.179 |
0.887 |
Model comparison statistics
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 = [ 531.26 38.459 0.461719 ];
p.rg.ch_sust.f_max = 0.0138199;
p.rg.ch_sust.bw = 1.41535;
p.rg.A_0 = 2831.12;
p.rg.f_0 = 0.068128;
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 = [ 73.8985 63.0543 0.41075 ];
p.yv.ch_sust.f_max = 0.00279805;
p.yv.ch_sust.bw = 1.02765;
p.yv.A_0 = 2.82396e+07;
p.yv.f_0 = 0.000633327;
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 = [ 63.8025 1.21438 0.289024 5.04582e-07 1.49216e+10 ];
p.ach.ach_sust.f_max = [ 1.50042 50.6645 0.228245 ];
p.ach.ach_sust.bw = 0.000212618;
p.ach.ach_sust.a = 0.0927507;
p.ach.ach_sust.A_0 = 157.103;
p.ach.ach_sust.f_0 = 0.702338;
p.ach.ach_trans.S_max = [ 0.193509 2792.16 ];
p.ach.ach_trans.f_max = 0.000326737;
p.ach.ach_trans.bw = 2.66544;
p.ach.ach_trans.a = 0.000241177;
p.ach.ach_trans.A_0 = 3.5849;
p.ach.ach_trans.f_0 = 2.94733;
p.ach.sigma_trans = 0.0850136;
p.ach.sigma_sust = 10.467;
p.ach.omega_trans_sl = 2.33992;
p.ach.omega_trans_c = 4.66969;
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 = [ 63.8025 1.21438 0.289024 5.04582e-07 1.49216e+10 ];
p.ach_sust.f_max = [ 1.50042 50.6645 0.228245 ];
p.ach_sust.bw = 0.000212618;
p.ach_sust.a = 0.0927507;
p.ach_trans.S_max = [ 0.193509 2792.16 ];
p.ach_trans.f_max = 0.000326737;
p.ach_trans.bw = 2.66544;
p.ach_trans.a = 0.000241177;
p.ach_trans.A_0 = 3.5849;
p.ach_trans.f_0 = 2.94733;
p.sigma_trans = 0.0850136;
p.sigma_sust = 10.467;
p.omega_trans_sl = 2.33992;
p.omega_trans_c = 4.66969;
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 = [ 531.26 38.459 0.461719 ];
p.ch_sust.f_max = 0.0138199;
p.ch_sust.bw = 1.41535;
p.A_0 = 2831.12;
p.f_0 = 0.068128;
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 = [ 73.8985 63.0543 0.41075 ];
p.ch_sust.f_max = 0.00279805;
p.ch_sust.bw = 1.02765;
p.A_0 = 2.82396e+07;
p.f_0 = 0.000633327;
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;
original Barten's CSF (1999)
p.k = 7.77083;
p.eta0 = 0.0643144;
p.sigma0 = 0.284245;
p.eg = 3.3;
p.u00 = 3.25748;
p.Phi00 = 3e-08;
p.T = 0.0621335;
p.Xmax0 = 12.1279;
p.Nmax = 6.39308;
p.tau10 = 0.032;
p.tau20 = 0.018;
p.n1 = 7;
p.n2 = 4;
VDP CSF
p.P = 148.038;
p.ob = 1.27214;
p.k = 0.24;
p.epsilon = 1.16716;
p.a_l_m = 1.37258;
p.b_l_m = 65.154;
Wuerger 2020 JOV CSF
p.ach.S_max = [ 2.83323 1.35032 43.2732 ];
p.ach.f_max = [ 44511.1 55.2103 255.111 ];
p.ach.bw = 1.55659;
p.ach.Ac_prime = 122.126;
p.ach.f_0 = 1.12345;
p.ach.gamma = 0.907183;
p.rg.S_max = [ 2.90539 3.04331 38.6588 ];
p.rg.f_max = [ 0.0686226 3.04969e-24 ];
p.rg.bw = 1.21802;
p.rg.Ac_prime = 18.6192;
p.rg.f_0 = 0.65;
p.rg.gamma = 1.24219;
p.yv.S_max = [ 2.19857 3.04952 23.8802 ];
p.yv.f_max = 0.121887;
p.yv.bw = 2.91534;
p.yv.Ac_prime = 2.12076;
p.yv.f_0 = 0.65;
p.yv.gamma = 1.35274;
Postreceptoral contrast
p.ach.S_max = [ 660.307 0.618764 0.43145 14597.3 1.01958 ];
p.ach.f_max = [ 1.47206 69.1252 0.213507 ];
p.ach.bw = 1.9789e-10;
p.ach.gamma = 0.910392;
p.ach.Ac_prime = 98.9975;
p.rg.S_max = [ 21101.8 0.347117 0.371023 ];
p.rg.f_max = 0.0786052;
p.rg.bw = 0.94158;
p.rg.gamma = 1.43174;
p.rg.Ac_prime = 88.6343;
p.yv.S_max = [ 8720.4 66.5734 0.361262 ];
p.yv.f_max = 0.00070608;
p.yv.bw = 0.0231462;
p.yv.gamma = 1.77486;
p.yv.Ac_prime = 0.302184;
p.colmat = [ 0.314553 7.94986e-20 2.49296 0.00226441 3.88847e-06 2.0005 ];
stelaCSF
p.ach_sust.S_max = [ 43.2319 1.09063 0.305216 7.54866e-07 9.17444e+09 ];
p.ach_sust.f_max = [ 1.58797 81.5028 0.219447 ];
p.ach_sust.bw = 4.807e-09;
p.ach_sust.a = 0.097091;
p.ach_trans.S_max = [ 0.040711 32.5041 ];
p.ach_trans.f_max = 0.017853;
p.ach_trans.bw = 0.964732;
p.ach_trans.a = 0.000273289;
p.sigma_trans = 2.41178e-05;
p.sigma_sust = 5.79336;
p.ecc_drop = 0.0296662;
p.ecc_drop_nasal = 0.0113638;
p.ecc_drop_f = 0.0190062;
p.ecc_drop_f_nasal = 0.0193858;
↸CSF model: castleCSF
↸CSF model: original Barten's CSF (1999)
↸CSF model: VDP CSF
↸CSF model: Wuerger 2020 JOV CSF
↸CSF model: Postreceptoral contrast
↸CSF model: stelaCSF
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: [hdr_csf_disc] High Dynamic Range Disc CSF
CSF as the function of size at different luminance levels