Fwd: Re: using Pell-Zhang attenuator

Fwd: Re: using Pell-Zhang attenuator
To: Steven Dakin <s.dakin@...>
From: Denis Pelli <denis.pelli@...>

Hi Denis

Further to my question of the other day (what's the rule for combining RGB gamma functions to predict luminance with the attenuator?) I have one more general question. The philosophy when using the attenuator seems to be "vary as few DACs as possible" to minimize accumulating error between their outputs. However if one varies (say) the G and B DACs while fixing B at (say) 128, isn't the precision of the resulting luminance still dependent on the precision of the gun carrying the largest portion of the luminance (i.e. B)? Given that the thing works, am I to take it that DACs tend to be inaccurate but quite precise?

This isn't idle curiosity. I'm trying to assess the feasibility of making a "thousands of grey levels" display using 24-bit SCREEN mode. The programming is straightforward: construct a thousands-of-entries LUT, and a thousands-of-luminances image, then use the image to offset the CLUT to generate an RGB triplet that would give the desired luminances (three or four lines in MatLab once you've made the CLUT).
The advantages of such a working system are obvious: e.g. very high-contrast and very low-contrast stimuli could be presented simultaneously, natural images could be rendered in 12-bit, etc.
Do you know if anyone's tried this?

Thanks in advance (as always) for any thoughts you have on this

All the best
Steven
--
Steven Dakin
Institute of Ophthalmology
University College London
11-43 Bath Street
London EC1V 9EL

T: +44 20 7608 6988
F: +44 20 7608 6850
W: http://www.homepages.ucl.ac.uk/~smgxscd


dear steven

http://vision.nyu.edu/Tips/Attenuator.html

most of what you say is didactic and correct.

 isn't the precision of the resulting luminance still dependent on the precision of the gun carrying the largest portion of the luminance (i.e. B)?

yes. but typically we care much more about accuracy of contrast than of luminance. A fixed luminance error across the screen and throughout the whole presentation of even as much as a few percent would usually be considered negligible. What matters is that the step sizes of the increments and decrements that form your (say) 0.3% contrast grating be accurate.

if you want thousands of colors in your palette i suggest buying a card with a 10-bit clut and dac. ATI Radeon 7000. it costs only $130 and will be wholly compatible with the Pelli-Zhang attenuator.
http://psychtoolbox.org/mac.html#drivers

You can select any contrast range you like and design optimal settings for that range. However, the achievable contrast accuracy will be better if the range is smaller. It's not clear to me what you expect to achieve from your proposed scheme above, but what you propose does not escape the tradeoff between range and accuracy. Number of settings is not the bottleneck; the bottleneck is whether you change the coarsest DAC or not. If it changes, then parts of the display will have errors that could differ by up to a whole LSB of that DAC.

you COULD overcome that by calibrating the coarse DAC, measuring its "errors" once and for all, and taking them into account. Then there would be no error.

best

denis

Hi Steven and Denis,

>> I'm trying to assess the feasibility of making a "thousands of grey
>> levels" display using 24-bit SCREEN mode. The programming is
>> straightforward: construct a thousands-of-entries LUT, and a
>> thousands-of-luminances image, then use the image to offset the CLUT
>> to generate an RGB triplet that would give the desired luminances
>> (three or four lines in MatLab once you've made the CLUT).
>> The advantages of such a working system are obvious: e.g. very
>> high-contrast and very low-contrast stimuli could be presented
>> simultaneously, natural images could be rendered in 12-bit, etc.

> if you want thousands of colors in your palette i suggest buying a card
> with a 10-bit clut and dac. ATI Radeon 7000. it costs only $130 and
> will be wholly compatible with the Pelli-Zhang attenuator.
> http://psychtoolbox.org/mac.html#drivers

Even better, for the fist time, a consumer card (the Matrox Parhelia)
claims to offer a full 10 bits per color all the way through the
pipeline (not just the LUT after the framebuffer). Check it out:
http://www.matrox.com/mga/products/parhelia512/technology/gigacolor.cfm
Although I don't think the Vision Egg has been tried on a Matrox
Parhelia yet, I imagine that it already works fine, and should take
advantage of the 10 bit framebuffer without resorting to LUT tricks. It
does so on SGI machines. Because I'm not very familiar with the
Pelli-Zhang attenuator, I don't know if the 10 bit true color would get
you farther than the 10 bit LUT/DACs in the other cards.

Cheers!
Andrew
________________________________________________________
Andrew Straw
Ph.D. student -- Department of Physiology, University of Adelaide,
Australia
Developer -- The Vision Egg -- http://www.visionegg.org/
andrew.straw@...
________________________________________________________