Implements the CAM02-UCS (Luo et al. (2006), "Uniform Colour Spaces Based on CIECAM02 Colour Appearance Model") forward transform symbolically, using Theano.
See also: CIECAM02 and Its Recent Developments.
The forward transform is symbolically differentiable in Theano and it may be approximately inverted, subject to gamut boundaries, by constrained function minimization (e.g. projected gradient descent or L-BFGS-B).
constants.py
contains constants needed by CAM02-UCS and others which are merely useful.functions.py
contains compiled Theano functions, as well as NumPy equivalents of other symbolic functions. It also containsucs_to_srgb()
anducs_to_srgb_b()
, which approximately invert the CAM02-UCS forward transform with L-BFGS-B.symbolic.py
implements the forward transform symbolically in Theano. The functions therein can be used to construct custom auto-differentiable loss functions to be subject to optimization.