WIN: display linearization on nvidia quadro & 10 bit dacs

Hi all,

I'm trying to linearize my display for the purpose of doing some
lightness psychophysics. I would like to do this in a way that
maintains 255 shades of gray between black and white. Has anybody had
good luck doing this with nvidia quadro cards?

I used to be able to do this with an ATI x300 card by setting the
Gamma to 2.2 in the driver's control panel. Recently our lab upgraded
to a Nvidia Quadro FX 1300, and this method has become sub-optimal.
Specifically, it appears that the card only supports 8 bit gamma
ramps, and this does not provide enough resolution to support 255
unique grayscale values when the output has been linearized. Instead,
starting at pixel val = 74, and higher, every other pixel value maps
onto the same screen brightness. IE setting the screen to 74 and 75
produce the same measurable brightness on the screen when tested with
a photometer (we use a ColorCal). I think this worked fine with the
ATI card because it had an 10-bit dac on the output end (though I
never found any evidence that it supported 10 bit frame buffers). I've
not found any indication what resolution the dac is on the Quadro
card, but I'm guessing it's 8bit.

I currently use the old 2.54 version of the toolbox, but if upgrading
to 3 beta would allow some way around this, then I'd be willing. But
from reading the posts it's not clear that it would allow > 8 bit
depth, even if my card supports it (which it might, though it doesn't
at the level that gamma correction occurs).
Afaik your card should have 10 bit DACs. I don't know about PTB 2.54, but PTB-3 supports
loading color/gamma lookup-tables with up to 16 bit resolution, so if your hw is capable
of 10 bits, it should be supported by PTB-3.

-mario

--- In psychtoolbox@yahoogroups.com, "Alan Robinson" <x_e_o_s_yahoo@...> wrote:
>
> Hi all,
>
> I'm trying to linearize my display for the purpose of doing some
> lightness psychophysics. I would like to do this in a way that
> maintains 255 shades of gray between black and white. Has anybody had
> good luck doing this with nvidia quadro cards?
>
> I used to be able to do this with an ATI x300 card by setting the
> Gamma to 2.2 in the driver's control panel. Recently our lab upgraded
> to a Nvidia Quadro FX 1300, and this method has become sub-optimal.
> Specifically, it appears that the card only supports 8 bit gamma
> ramps, and this does not provide enough resolution to support 255
> unique grayscale values when the output has been linearized. Instead,
> starting at pixel val = 74, and higher, every other pixel value maps
> onto the same screen brightness. IE setting the screen to 74 and 75
> produce the same measurable brightness on the screen when tested with
> a photometer (we use a ColorCal). I think this worked fine with the
> ATI card because it had an 10-bit dac on the output end (though I
> never found any evidence that it supported 10 bit frame buffers). I've
> not found any indication what resolution the dac is on the Quadro
> card, but I'm guessing it's 8bit.
>
> I currently use the old 2.54 version of the toolbox, but if upgrading
> to 3 beta would allow some way around this, then I'd be willing. But
> from reading the posts it's not clear that it would allow > 8 bit
> depth, even if my card supports it (which it might, though it doesn't
> at the level that gamma correction occurs).
>
Some experiments with PTB 3 (beta downloaded today) suggest that the
FX 1300 doesn't have a 10bit dac, but perhaps I'm doing something wrong?

I used the loadNormalizedGamma PTB 3 function to setup a gamma ramp
that would require > 8 bits to render smoothly. (basically each ramp
entry was spaced less 1/512 apart), and found that this caused the
hardware to produce stair-step brightness values, where only every
other pixel value increase caused an increase in the luminance the
monitor produced (measured with a photometer).

Also, does the windows version of PTB support HDR or floating point
precision for pixel values? A post to the mailing list a few months
ago suggested not, but the GraphicsHardwareRequirements wiki doesn't
say anything about OSX support only.

--- In psychtoolbox@yahoogroups.com, "Mario Kleiner"
<mario.kleiner@...> wrote:
>
> Afaik your card should have 10 bit DACs. I don't know about PTB
2.54, but PTB-3 supports
> loading color/gamma lookup-tables with up to 16 bit resolution, so
if your hw is capable
> of 10 bits, it should be supported by PTB-3.
>
> -mario
>
> --- In psychtoolbox@yahoogroups.com, "Alan Robinson"
<x_e_o_s_yahoo@> wrote:
> >
> > Hi all,
> >
> > I'm trying to linearize my display for the purpose of doing some
> > lightness psychophysics. I would like to do this in a way that
> > maintains 255 shades of gray between black and white. Has anybody had
> > good luck doing this with nvidia quadro cards?
> >
> > I used to be able to do this with an ATI x300 card by setting the
> > Gamma to 2.2 in the driver's control panel. Recently our lab upgraded
> > to a Nvidia Quadro FX 1300, and this method has become sub-optimal.
> > Specifically, it appears that the card only supports 8 bit gamma
> > ramps, and this does not provide enough resolution to support 255
> > unique grayscale values when the output has been linearized. Instead,
> > starting at pixel val = 74, and higher, every other pixel value maps
> > onto the same screen brightness. IE setting the screen to 74 and 75
> > produce the same measurable brightness on the screen when tested with
> > a photometer (we use a ColorCal). I think this worked fine with the
> > ATI card because it had an 10-bit dac on the output end (though I
> > never found any evidence that it supported 10 bit frame buffers). I've
> > not found any indication what resolution the dac is on the Quadro
> > card, but I'm guessing it's 8bit.
> >
> > I currently use the old 2.54 version of the toolbox, but if upgrading
> > to 3 beta would allow some way around this, then I'd be willing. But
> > from reading the posts it's not clear that it would allow > 8 bit
> > depth, even if my card supports it (which it might, though it doesn't
> > at the level that gamma correction occurs).
> >
>
This discussion of display linearization makes me wonder if there is
code in the PTB or elsewhere to automate finding the gamma ramp that
best linearizes your display? Or is this something that must be done
by hand? I've taken a crack at writing my own automation code, but it
doesn't do a great job.

- Alan.