About the data set

Contrast sensitivity for wide luminance range

This data set contains contrast sensitivity measurements (CSF) at varying background luminance. The data was specially collected to calibrate visual metrics for comparing image pairs. The data set is intended to cover a possibly large range of conditions in the same experiment. Therefore, the data contains a large variation of spatial frequencies (from 0.125 to 16 cpd) and luminance levels (from 0.02 to 150 cd/m2).

The stimuli are vertical sine-gratings attenuated by a Gaussian envelope of a specified size so that the number of cycles varies with the spatial frequency and the stimulus size. The stimuli for 1 cpd and 8 cpd were measured at three different sizes (0.15, 0.5 and 1.5 deg) while all other stimuli were measured for the Gaussian envelope with the sigma equal to 1.5 visual degree. The stimuli design was inspired by the ModelFest data set.

The stimuli were shown on a 24" LCD display with 10-bit panel and RGB LED backlight. Two additional bits were simulated by spatio-temporal dithering so that the effective bit-depth was 12 bits per color channel. Stimuli were observed from a fixed distance of 93 cm, which gave an angular resolution of 60 pixels per visual degree. The display was calibrated using a photo-spectrometer. The display white point was fixed at D65. The luminance levels below 10 cd/m2 were seen while wearing goggles with neutral density (ND) filters.

The procedure involved a 4-alternative-forced-choice (4AFC) experiment in which an observer was asked to choose one of the four stimuli, of which only one contained the pattern. We found 4AFC more efficient and faster converging than 2AFC because of lower probability of correct guesses. The stimuli were shown side-by-side on the same screen and the presentation time was not limited. The QUEST procedure with a fixed number of trials (from 20 to 30, depending on the observer experience) was used to find the threshold. The data was collected for five observers. Each observer completed all the tests in 3--4 sessions of 30--45 minutes.

Stimuli list

All stimuli shown at the detection threshold magnified x10. The visible banding (quantization) is due to 8-bit image files and display panel and is not present in the actual data.


0.02 sin 1 1.5
mean luminance = 0.02001 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.02

0.02 sin 0.5 1.5
mean luminance = 0.02001 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.02

0.02 sin 0.25 1.5
mean luminance = 0.02001 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.02

0.02 sin 0.125 1.5
mean luminance = 0.02001 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.02

0.02 sin 1 0.5
mean luminance = 0.02001 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.02

0.02 sin 1 0.15
mean luminance = 0.02001 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.02

0.02 sin 2 1.5
mean luminance = 0.02001 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.02

0.02 sin 4 1.5
mean luminance = 0.02001 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.02

0.02 sin 8 0.5
mean luminance = 0.02001 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.02

0.02 sin 8 0.15
mean luminance = 0.02001 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.02

0.02 sin 1.41 1.5
mean luminance = 0.02001 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.02

0.02 sin 0.71 1.5
mean luminance = 0.02001 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.02

0.002 sin 1 1.5
mean luminance = 0.00199926 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.002

0.002 sin 0.5 1.5
mean luminance = 0.00199926 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.002

0.002 sin 0.25 1.5
mean luminance = 0.00199926 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.002

0.002 sin 0.125 1.5
mean luminance = 0.00199926 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.002

0.002 sin 2 1.5
mean luminance = 0.00199926 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.002

0.002 sin 4 1.5
mean luminance = 0.00199926 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.002

20 sin 1 1.5
mean luminance = 20 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 20

20 sin 0.5 1.5
mean luminance = 20 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 20

20 sin 0.25 1.5
mean luminance = 20 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 20

20 sin 0.125 1.5
mean luminance = 20 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 20

2 sin 1 1.5
mean luminance = 2 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 2

2 sin 0.5 1.5
mean luminance = 2 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 2

2 sin 0.25 1.5
mean luminance = 2 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 2

2 sin 0.125 1.5
mean luminance = 2 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 2

0.2 sin 1 1.5
mean luminance = 0.200123 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.2

0.2 sin 0.5 1.5
mean luminance = 0.200123 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.2

0.2 sin 0.25 1.5
mean luminance = 0.200123 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.2

0.2 sin 0.125 1.5
mean luminance = 0.200123 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.2

20 sin 1 0.5
mean luminance = 20 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 20

2 sin 1 0.5
mean luminance = 2 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 2

0.2 sin 1 0.5
mean luminance = 0.200123 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.2

20 sin 1 0.15
mean luminance = 20 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 20

2 sin 1 0.15
mean luminance = 2 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 2

0.2 sin 1 0.15
mean luminance = 0.200123 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.2

20 sin 2 1.5
mean luminance = 20 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 20

20 sin 4 1.5
mean luminance = 20 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 20

20 sin 8 1.5
mean luminance = 20 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 20

20 sin 16 1.5
mean luminance = 20 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 20

2 sin 2 1.5
mean luminance = 2 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 2

2 sin 4 1.5
mean luminance = 2 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 2

2 sin 8 1.5
mean luminance = 2 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 2

2 sin 16 1.5
mean luminance = 2 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 2

0.2 sin 2 1.5
mean luminance = 0.200123 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.2

0.2 sin 4 1.5
mean luminance = 0.200123 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.2

0.2 sin 8 1.5
mean luminance = 0.200123 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.2

0.2 sin 16 1.5
mean luminance = 0.200123 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.2

0.02 sin 8 1.5
mean luminance = 0.02001 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.02

20 sin 8 0.5
mean luminance = 20 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 20

2 sin 8 0.5
mean luminance = 2 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 2

0.2 sin 8 0.5
mean luminance = 0.200123 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.2

20 sin 8 0.15
mean luminance = 20 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 20

2 sin 8 0.15
mean luminance = 2 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 2

0.2 sin 8 0.15
mean luminance = 0.200123 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.2

20 sin 1.41 1.5
mean luminance = 20 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 20

2 sin 1.41 1.5
mean luminance = 2 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 2

0.2 sin 1.41 1.5
mean luminance = 0.200123 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.2

20 sin 2.83 1.5
mean luminance = 20 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 20

2 sin 2.83 1.5
mean luminance = 2 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 2

0.2 sin 0.71 1.5
mean luminance = 0.200123 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 0.2

150 sin 1 1.5
mean luminance = 150 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 150

150 sin 0.5 1.5
mean luminance = 150 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 150

150 sin 0.25 1.5
mean luminance = 150 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 150

150 sin 0.125 1.5
mean luminance = 150 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 150

150 sin 1 0.5
mean luminance = 150 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 150

150 sin 1 0.15
mean luminance = 150 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 150

150 sin 2 1.5
mean luminance = 150 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 150

150 sin 4 1.5
mean luminance = 150 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 150

150 sin 8 1.5
mean luminance = 150 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 150

150 sin 16 1.5
mean luminance = 150 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 150

150 sin 8 0.5
mean luminance = 150 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 150

150 sin 8 0.15
mean luminance = 150 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 150

150 sin 1.41 1.5
mean luminance = 150 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 150

150 sin 2.83 1.5
mean luminance = 150 cd/m2
threshold_p = 0.66
viewing_distance = 0.9
rgb_display = led-lcd
pixels_per_degree = 60
surround_l = 150