Making progress on the color space implementation in my colorimeter measurements & calibration app!

After rewriting all the color space conversion code now using as input only:
– the primaries xy coordinates
– white point / illuminant XYZ coordinates
– an opto electronic conversion function (aka gamma)
– optionally fixed black and white point values
Here's a few examples of various color spaces presets I added to stress test the math and conversion matrices generated, by simulating measurements of a display rendering them perfectly each one.

All good 🙂

#supercurioBlog #calibration #color


In Album Simulated gamuts and saturations

Source post on Google+

Today I'm excited because the work I did yesterday should now allow me to generate calibration profiles targeting any white point

Previously, my calibration algorithm was supporting only sRGB / Rec. 709 white point D65, of about 6500K.

At home I have two Dell UltraSharp 2407WFP giving me the hardest time to measure and calibrate.
Somehow, their aging CCFL backlight is throwing off every spectro or colorimeter sensor I tried and targeting a D65 white point from the measurements obtained only give a terrible blueish/pinking hue.
Added to that, some kind of dithering or backlight PWM on those displays trips off the X-Rite i1 Display Pro 3 using Argyll as a driver.
Super fast colorimeter; maybe a bit too fast in this context !

Color balance being off should not happen using the spectro measurements, as XYZ readings are not coming from a RGB-filtered light sensor but instead wavelength domain sampling.
But the spectro I have is an old EFI ES-1000 bought used for a cheap price and on this particular display the results are in contradiction with what you can perceive with your own eyes.

With this new math & code, I should be able soon to calibrate those desktop monitors I spend so much time behind.
I look forward to get here as the results of my algorithm surpass by a fair margin in accuracy every other I tried so far.

#supercurioBlog #display #color #calibration


In Album i1display3 troubles with 2407WFP

Source post on Google+

Yesterday I finally wrote my first display auto-calibration algorithm

Results are good 🙂
Also the approach is completely different from everything I saw so far.

Attached: D65 calibration on Nexus 7 (2013): very first results

I take all the measurements I need first and then everything can be done with calculations.
Usually auto calibration algorithms measure various kind of color patches that I can't justify, then try to improve their vastly interpolated early results by several optimization pass.
Not sure why they do that as it seems inefficient. Maybe those algorithms were designed with different goals in mind than mine.
Like if you're not sure of what the hardware will do with your profile, so you load it, retry, again and again.
But it means you're not measuring correctly to begin with or working with inconsistent and unpredictable hardware.

A huge benefit of my approach seems to be the accuracy first, and also you can tune the algorithm parameters all you want without taking any new measurement (which takes a vast amount of time).

Today I'm adding black point compensation strategies in it in order to provide a smooth gradation near black instead of clipping at rgb (10, 10, 15) on Nexus 7 (2013) when targeting a Gamma 2.2 response curve with pure black output.

And I'm having a lot of fun doing this!

I was really not sure I would be able to make this auto calibration thing, thinking I was too limited in my maths skills.
But it seems to be no issue even if it took quite some time to turn to code the theoretical concept I had in mind.

Back to code 🙂

#supercurioBlog #calibration #display #color #development


In Album Very first auto calibration algorithm results

Source post on Google+

Calibrating my Nexus 7 (2013) to standard sRGB 6500K

First attempt & beta profile

I'm currently writing a solution that will, as absolute first on market to calibrate your tablet using a colorimeter or spectrophotometer.
No erratic slider tuning here, this is the real deal with 256 values per channel.

With this solution, Nexus 7 (2013) will becomes a tool of choice for professional photographers and graphic creators to showcase their work on the go, thanks to a display that might rival their desktop monitor in terms of color reproduction accuracy.
As there's always variation between devices in production, the key is to allow the user to calibrate his device on his own.
(It requires having access to a sensor)

So far, color calibration has not been a priority of +Android Developers or manufacturers:
Most devices are released without any calibration effort, and Android OS doesn't provide any solution to the situation either, being incompatible with ICC profiles.

I'm very early in the development of this solution as I got my tablet yesterday, but in the meantime, here's some measurements with a profile targeting D65, the standard sRGB white point.

+Romain Guy there's a few photographers in your dev teams. Do you think anyone would be interested integrating such feature in Android?

– Contrast ratio is 1103:1
– This is my very first attempt, I'm sure even better results can be obtained.

#supercurioBlog #calibration #display #color #development


In Album Nexus 7 (2013) first D65 display profile

Source post on Google+

Work in progress in my Screen Tuning app

Satisfyingly accurate hardware color profile for Samsung Galaxy Tab 10.1

White point is changed to 6500k instead of its native 8200k, without reducing gamut.
Take a look at the resulting Delta E 😉

#supercurioBlog #calibration #color #display


In Album Working on a 6500K profile for Galaxy Tab 10.1 (9 photos)

Source post on Google+