Gabor degenerates at low contrasts

Hello, I am trying to run an experiment to measure contrast thresholds using classic Gabor stimuli. The problem I encountered is that, when the contrast reaches relatively low values, the pattern that is displayed is not a Gabor, instead, it is just a series of grey stripes: there is no sinusoidal shading between adjacent bands, nor gaussian decay from center to periphery; in other words it is a binary “on/off” pattern. In the attached pictures you can see that the stimulus is correct in the center, where the intensity is high, but in the surround it just creates those stripes. Therefore, when I lower the contrast to threshold levels, I only get a patch of stripes of constant intensity.

I have tried this on different computers and monitors, but this always happens (although, for example, the problem is less noticeable on my laptop).
Would you know how to solve this?

edit: I am generating the Gabor as explained here (Psychtoolbox-3 - CreateProceduralGabor), and even if I run ProceduralGaborDemo lowering the contrast I obtain the same problem.

See Psychtoolbox-3 - Psychtoolbox Forum for all the info that’s missing for effective help, regardless if maybe provided by volunteers, or by paid support.

You should test the Gabor code using Psychtoolbox-3 - ProceduralGaborDemo — pass in “2” which compares the GPU generated gabor with a MATLAB mathematically generated one. THis will tell you how your GPU hardware is handling procedural generation.

As a general rule for the most precise drawing, you should be opening PTB with maximum buffer depth PsychImaging('AddTask', 'General', 'FloatingPoint32Bit') where possible and using 0-1 colour range for all drawing code (modern GPUs and computers can handle this just fine). You need to be using a monitor with good output bit-depth (most cheapish monitors and laptops are 6bit+dithering; you should be looking at 10bit monitors as a minimum these days, and if luminance resolution is important to your study, contemplate using a Display++ or VPixx monitor with 14bit-ish resolution). PTB can run these more precise displays in 10bit+ modes (there is also a mode for standard monitors that uses colour channels to “extend” luminance steps called EnablePseudoGrayOutput) and you can read the very dense PsychImaging docs to understand how to access all these modes: Psychtoolbox-3 - PsychImaging

Mario would be able to save you a bunch of time and tailor this to your specific research needs…

1 Like