def lab_to_xyz(l, a, b, *rest): # see http://www.easyrgb.com/index.php?X=MATH&H=08#text8 f_y = (l * 100. + 16.) / 116. x, y, z = a / 5. + f_y, f_y, f_y - b / 2. x, y, z = map(_scale_lab_to_xyz, (x, y, z)) x, y, z = [u * v for u, v in zip((x, y, z), _ref_white.xyz)] x, y, z = clip([x, y, z], 0, 1) return (x, y, z) + rest
def lab_to_xyz(l, a, b, *rest): # see http://www.easyrgb.com/index.php?X=MATH&H=08#text8 f_y = (l * 100. + 16.) / 116. x, y, z = a / 5. + f_y, f_y, f_y - b / 2. x, y, z = map(_scale_lab_to_xyz, (x, y, z)) x, y, z = [u * v for u, v in zip((x, y, z), _ref_white.xyz)] x, y, z = clip([x, y, z], 0, 1) return (x, y, z) + rest
def luv_to_xyz(cie_l, cie_u, cie_v, *rest): # see http://www.easyrgb.com/index.php?X=MATH&H=17#text17 u = cie_u / (13. * cie_l) + _ref_white.u_r v = cie_v / (13. * cie_l) + _ref_white.v_r cie_l_100 = cie_l * 100.0 # MMA specific y = (cie_l_100 + 16.) / 116. y = _scale_lab_to_xyz(y) x = -(9 * y * u) / ((u - 4) * v - u * v) z = (9 * y - (15 * v * y) - (v * x)) / (3 * v) cie_l_is_zero = cie_l < 0.078 x, y, z = map(lambda t: _luv_to_xyz_clip_zero(cie_l_is_zero, t), (x, y, z)) x, y, z = clip([x, y, z], 0, 1) return (x, y, z) + rest
def luv_to_xyz(cie_l, cie_u, cie_v, *rest): # see http://www.easyrgb.com/index.php?X=MATH&H=17#text17 u = cie_u / (13. * cie_l) + _ref_white.u_r v = cie_v / (13. * cie_l) + _ref_white.v_r cie_l_100 = cie_l * 100.0 # MMA specific y = (cie_l_100 + 16.) / 116. y = _scale_lab_to_xyz(y) x = -(9 * y * u) / ((u - 4) * v - u * v) z = (9 * y - (15 * v * y) - (v * x)) / (3 * v) cie_l_is_zero = cie_l < 0.078 x, y, z = map(lambda t: _luv_to_xyz_clip_zero(cie_l_is_zero, t), (x, y, z)) x, y, z = clip([x, y, z], 0, 1) return (x, y, z) + rest
def _clip1(t): return clip(t, 0, 1)
def testClip(self): a = array([[[-0.1, 0.6], [-1.8, -0.4]], [[0.1, 0.8], [1.1, 0.5]]]) a = clip(a, 0, 1) self.assertEqualArrays( a, [[[0., 0.6], [0., 0.]], [[0.1, 0.8], [1., 0.5]]])
def testClip(self): a = array([[[-0.1, 0.6], [-1.8, -0.4]], [[0.1, 0.8], [1.1, 0.5]]]) a = clip(a, 0, 1) self.assertEqualArrays(a, [[[0., 0.6], [0., 0.]], [[0.1, 0.8], [1., 0.5]]])
def _clip1(t): return clip(t, 0, 1)