All human knowledge is there

I just love how much stuff is accessible online nowadays. I’m old enough that when I started my scientific career, reading a paper meant walking over to the library and looking up the actual physical paper in leather-bound volumes! I haven’t done that this millennium… it makes me feel ancient to think of it.

And increasingly, out-of-copyright texts are being digitised, so if I come across a reference to a nineteenth-century German work, I can probably now find it in an American library somewhere and read it myself. Or, let’s face it, use the fact that it’s digital to search it for keywords rather than reading all 200 densely-written pages. Even if I only skim, I feel so much more in touch with my scientific heritage now that I can go back to the original texts myself rather than relying on what I read in textbooks. What a fantastic development.

Bizzare Issue with LCD Monitors

This is about an unusual flickering artefact with LCD monitors that I noticed while working on a visual stimulus. I am posting about this for reference and to share information about what can potentially have a big impact on psychophysics/electrophysiology experiments that use LCDs to render visual stimuli.

The effect can be induced by launching a PTB window and flashing it (painting min/max luminance at alternate cycles) for 30+ seconds. After closing the window, persistent flashing is observed in dark areas across the screen. What really struck me as weird is that this happens *after* closing the PTB window and would not go away after closing Matlab, shutting down the machine or even unplugging the DVI connector (in the latter case you can see the flickering on top of the “monitor idle” box that floats around when the monitor is disconnected). These observations rule out any software/driver/OS issues as the source of this issue and leave only the monitor itself.

Luckily one of the folks on PTB forums seems to know what’s causing this:

It’s the timing and content of your stimulus interfering with the panels LCD inverter cycle, causing a buildup in the liquid crystal, as they only like AC driving voltage over longer periods of time. A known problem in many (most?) LCD panels, due to the way the physics of liquid crystal displays works. Periodic strong contrast changes at video refresh rate like your stim and some other high frequency spatial patterns are especially effective at triggering it.

LCD’s – more ways to screw up your low level stimuli properties than your wildest dreams could imagine.

Thread :

The flickering goes away gradually over the course of ~10 minutes (on Dell U2412M) so there’s no permanent hardware damage, just another LCD quirk that you need to be aware when designing any visual stimuli involving persistent flashing!

This is a minimal Matlab script to reproduce this effect:

function testFlickerAfterEffect
duration = 30; % seconds
%% open PTB window
m = Screen(‘Windows’);
if (~isempty(m))

% exit if any PTB windows are already open


PsychImaging(‘AddTask’, ‘FinalFormatting’, ‘DisplayColorCorrection’, ‘SimpleGamma’);
PsychImaging(‘OpenWindow’, SCREEN_ID, 0.5, [], [], [], 0, 0);
m = Screen(‘Windows’);
window = m(1);
%% render
col = 0;
h = tic;
while toc(h) < duration

col = 1 – col; % toggle

Screen(window, ‘FillRect’ , [1 1 1] * col * 255, []);

Screen(‘Flip’, window);