[argyllcms] Re: Dispcal - Inverting Jacobian failed?
- From: Graeme Gill <graeme@xxxxxxxxxxxxx>
- To: argyllcms@xxxxxxxxxxxxx
- Date: Thu, 21 May 2009 13:03:04 +1000
Alastair M. Robinson wrote:
Quick question - what does the error message "Inverting Jacobian failed"
from dispcal mean?
It usually means that the display isn't behaving very well.
At each neutral curve target point dispcal attempts to locate the RGB value
to meet the target. To do this it maintains a model of how much to
change the RGB value to get a certain change in the measured color,
so as to be able to figure out what RGB value to try next.
That model is the Jacobian matrix. Normally it updates the Jacobian
with each measurement attempt, but if the Jacobian prediction proves too
inaccurate, it re-measures the behavior of the display at that
point in order to re-establish the Jacobian. It measures the
forward behavior for a small change in the RGB values, and then
inverts the resulting matrix to form the Jacobian. If that inversion fails,
you get the above warning message. The inversion will fail
if the matrix is singular, probably meaning that the measured
color didn't change in response to a change in the RGB value,
ie. you're in a "dead zone" of the display response. This doesn't
help progress much :-(
I have a dirt-cheap TFT monitor here whose response I expected to be
pretty funky since there's no direct backlight brightness adjustment.
Instead, the "brightness" control appears to adjust some form of
gamma-like curve, and the "contrast" control... well I'm not sure
exactly what it's doing yet - it looks like it could be scaling the
range about a pivot point that depends on the the brightness control's
setting!
These controls are bad news if some settings result in dead zones (clipping)
in the display behavior. The best thing is to try and figure
out what settings give you a progressive output - ie.
that give a different output for each possible RGB input value.
Graeme Gill.
Other related posts: