Isoluminant stimuli across as wide a colour space as possible

Something I've been trying to get my head around for a while, and I'm finally going to have to ask for some advice here...


I'm trying to create a paradigm in which observers 'bisect' two colours presented either side of the screen, by adjusting a central colour patch until it appears to be the exact mid-colour of the two either side. The specific problem is that any colours I generate have to be isoluminant, so that any decision is made on the basis of the chromatic information only.


The two difficulties I have to overcome are:


(1) Monitor calibration. If I calibrate the R, G and B channels of a monitor separately, does that guarantee that intermediate combinations (e.g. purples) will come out truly isoluminant?


(2) How to request an isoluminant palette from PsychToolbox. As I understand it, I should probably be using DKL colour space. The built-in PTB function DKLDemo produces a nice set of colours as a figure, which appear to be approximately isoluminant, so this is likely the palette I need. So far so good. The question is how do I tell PTB that I want to produce a colour in DKL space? Converting between RGB and DKL looks to be trivial in PsychoPy, but not so in PTB. I see that DKL colours are defined by specifying elevation, azimuth and radius (AKA contrast). As far as I can tell, if I fix elevation at 0° and radius at 0, then by adjusting the azimuth from 0 to 360, I should get a decent range of colours that I can use for my experimental paradigm. But, I can't get my head around the code in DKLDemo, and I haven't yet found anything explaining how this might be done in PTB. All I want to do is specify colours by adjusting the azimuth value in DKL colour space.


Hi Matt,

I am not expert here, so will only throw an additional problem in the mix. I thought (not sure) that isoluminance is not only a property of the screen, but also of the observer. Difference in transduction level for different retinas will make colors that are isoluminant according to a photimeter not necessarily appear isoluminant to the observer.

Hope dome of the color guys that probably roam this forum find the time to respond, I'm curious how this works too (and if I'm wrong).

Cheers,
Dee

On Wed, Oct 31, 2018, 01:11 mattjdunn@... [PSYCHTOOLBOX] <PSYCHTOOLBOX@yahoogroups.com> wrote:


Something I've been trying to get my head around for a while, and I'm finally going to have to ask for some advice here...


I'm trying to create a paradigm in which observers 'bisect' two colours presented either side of the screen, by adjusting a central colour patch until it appears to be the exact mid-colour of the two either side. The specific problem is that any colours I generate have to be isoluminant, so that any decision is made on the basis of the chromatic information only.


The two difficulties I have to overcome are:


(1) Monitor calibration. If I calibrate the R, G and B channels of a monitor separately, does that guarantee that intermediate combinations (e.g. purples) will come out truly isoluminant?


(2) How to request an isoluminant palette from PsychToolbox. As I understand it, I should probably be using DKL colour space. The built-in PTB function DKLDemo produces a nice set of colours as a figure, which appear to be approximately isoluminant, so this is likely the palette I need. So far so good. The question is how do I tell PTB that I want to produce a colour in DKL space? Converting between RGB and DKL looks to be trivial in PsychoPy, but not so in PTB. I see that DKL colours are defined by specifying elevation, azimuth and radius (AKA contrast). As far as I can tell, if I fix elevation at 0° and radius at 0, then by adjusting the azimuth from 0 to 360, I should get a decent range of colours that I can use for my experimental paradigm. But, I can't get my head around the code in DKLDemo, and I haven't yet found anything explaining how this might be done in PTB. All I want to do is specify colours by adjusting the azimuth value in DKL colour space.




Yep, I'm aware that true isoluminance and perceived isoluminance are different things – hence I'm not sure whether DKL is actually the appropriate colour space, or if I first need to determine a bespoke isoluminant colour space for each observer. And since I want to cover as wide a colour space as possible, a further complication is how to determine isoluminance for all colours, rather than just R, G and B...
Caterina Ripamonti, who is an honorary associate with Andrew Stockman at UCL and a scientific advisor to CRS (Display++, SpectroCal2 etc.), and who has written a book on colour science using MATLAB would probably be able to provide some input. We've used her Colour toolbox that uses spectrophotometer spectral measurements (SpectroCal2) of our displays so we can get optimised DKL colour stimuli for macaque perception research. If you want to use DKL I think you will need to at the least use a spectral measurement of your display for a proper RGB to DKL transformation.  We can't do perceptual isoluminance measurements with macaques easily, so standard-cone isoluminant DKL is as good as we can get. But if you use a method like flicker (or minimum motion or other techniques), as you say then calibration becomes less critical. You could try to measure points on the DKL plane using flicker across a series of L–M an S-(L+M) angle values, then transform the DKL space using the perceptual isolumiance values and interpolate from there? 

Ian