pep8 math operators

This commit is contained in:
Matt Terry
2013-07-24 07:54:56 -07:00
parent 499141cd2b
commit 1cd918e5c0
2 changed files with 60 additions and 60 deletions
+3 -3
View File
@@ -1072,10 +1072,10 @@ def lab2lch(lab):
lch = _prepare_colorarray(lab).copy()
a, b = lch[..., 1], lch[..., 2]
lch[..., 1], lch[..., 2] = np.sqrt(a**2 + b**2), np.arctan2(b, a)
lch[..., 1], lch[..., 2] = np.sqrt(a ** 2 + b ** 2), np.arctan2(b, a)
H = lch[..., 2]
H[H < 0] += 2*np.pi # (-pi, pi) -> (0, 2*pi)
H[H < 0] += 2 * np.pi # (-pi, pi) -> (0, 2*pi)
return lch
@@ -1113,5 +1113,5 @@ def lch2lab(lch):
lch = _prepare_colorarray(lch).copy()
c, h = lch[..., 1], lch[..., 2]
lch[..., 1], lch[..., 2] = c*np.cos(h), c*np.sin(h)
lch[..., 1], lch[..., 2] = c * np.cos(h), c * np.sin(h)
return lch
+57 -57
View File
@@ -25,7 +25,7 @@ from __future__ import division
import numpy as np
DEG = np.pi/180
DEG = np.pi / 180
def _unpack_last(x):
@@ -35,11 +35,9 @@ def _unpack_last(x):
def _arctan2pi(b, a):
"""np.arctan2 mapped to (0, 2*pi)"""
"""np.arctan2 mapped to (0, 2 * pi)"""
ans = np.arctan2(b, a)
ans += np.where(ans < 0, 2*np.pi, 0.)
assert ans.max() <= 2*np.pi
assert ans.min() >= 0.
ans += np.where(ans < 0, 2 * np.pi, 0.)
return ans
@@ -65,7 +63,7 @@ def deltaE_cie76(lab1, lab2):
"""
l1, a1, b1 = _unpack_last(lab1)
l2, a2, b2 = _unpack_last(lab2)
return np.sqrt((l2-l1)**2 + (a2-a1)**2 + (b2-b1)**2)
return np.sqrt((l2 - l1) ** 2 + (a2 - a1) ** 2 + (b2 - b1) ** 2)
def deltaE_ciede94(lab1, lab2, kH=1, kC=1, kL=1, k1=0.045, k2=0.015):
@@ -121,16 +119,19 @@ def deltaE_ciede94(lab1, lab2, kH=1, kC=1, kL=1, k1=0.045, k2=0.015):
l2, a2, b2 = _unpack_last(lab2)
dl = l1 - l2
c1 = np.sqrt(a1**2 + b1**2)
c2 = np.sqrt(a2**2 + b2**2)
c1 = np.sqrt(a1 ** 2 + b1 ** 2)
c2 = np.sqrt(a2 ** 2 + b2 ** 2)
dc = c1 - c2
dh_ab = np.sqrt(deltaE_cie76(lab1, lab2)**2 - dl**2 - dc**2)
dh_ab = np.sqrt(deltaE_cie76(lab1, lab2) ** 2 - dl ** 2 - dc ** 2)
SL = 1
SC = 1 + k1*c1
SH = 1 + k2*c1
SC = 1 + k1 * c1
SH = 1 + k2 * c1
ans = (dl/(kL*SL))**2 + (dc/(kC*SC))**2 + (dh_ab/(kH*SH))**2
ans = ((dl / (kL * SL)) ** 2 +
(dc / (kC * SC)) ** 2 +
(dh_ab / (kH * SH)) ** 2
)
return np.sqrt(ans)
@@ -172,21 +173,21 @@ def deltaE_ciede2000(lab1, lab2, kL=1, kC=1, kH=1):
L1, a1, b1 = _unpack_last(lab1)
L2, a2, b2 = _unpack_last(lab2)
c1 = np.sqrt(a1**2 + b1**2)
c2 = np.sqrt(a2**2 + b2**2)
cbar = 0.5*(c1 + c2)
c7 = cbar**7
G = 0.5 * (1 - np.sqrt(c7/(c7 + 25**7)))
c1 = np.sqrt(a1 ** 2 + b1 ** 2)
c2 = np.sqrt(a2 ** 2 + b2 ** 2)
cbar = 0.5 * (c1 + c2)
c7 = cbar ** 7
G = 0.5 * (1 - np.sqrt(c7 / (c7 + 25 ** 7)))
dL_prime = L2 - L1
Lbar = 0.5*(L1 + L2)
Lbar = 0.5 * (L1 + L2)
a1_prime = a1 * (1 + G)
a2_prime = a2 * (1 + G)
c1_prime = np.sqrt(a1_prime**2 + b1**2)
c2_prime = np.sqrt(a2_prime**2 + b2**2)
cbar_prime = 0.5*(c1_prime + c2_prime)
c1_prime = np.sqrt(a1_prime ** 2 + b1 ** 2)
c2_prime = np.sqrt(a2_prime ** 2 + b2 ** 2)
cbar_prime = 0.5 * (c1_prime + c2_prime)
dC_prime = c2_prime - c1_prime
h1_prime = _arctan2pi(b1, a1_prime)
@@ -199,47 +200,46 @@ def deltaE_ciede2000(lab1, lab2, kL=1, kC=1, kH=1):
mask2 = np.logical_and(-mask1, dh_prime > np.pi)
mask3 = np.logical_and(-mask1, dh_prime < -np.pi)
dh_prime = np.where(mask1, 0., dh_prime)
dh_prime += np.where(mask2, 2*np.pi, 0)
dh_prime -= np.where(mask3, 2*np.pi, 0)
dh_prime += np.where(mask2, 2 * np.pi, 0)
dh_prime -= np.where(mask3, 2 * np.pi, 0)
dH_prime = 2 * np.sqrt(cc) * np.sin(dh_prime/2)
dH_prime = 2 * np.sqrt(cc) * np.sin(dh_prime / 2)
Hbar_prime = h1_prime + h2_prime
mask0 = np.logical_and(np.abs(h1_prime - h2_prime) > np.pi, cc != 0.)
mask1 = np.logical_and(mask0, Hbar_prime < 2*np.pi)
mask2 = np.logical_and(mask0, Hbar_prime >= 2*np.pi)
mask1 = np.logical_and(mask0, Hbar_prime < 2 * np.pi)
mask2 = np.logical_and(mask0, Hbar_prime >= 2 * np.pi)
Hbar_prime += np.where(mask1, 2*np.pi, 0)
Hbar_prime -= np.where(mask2, 2*np.pi, 0)
Hbar_prime += np.where(mask1, 2 * np.pi, 0)
Hbar_prime -= np.where(mask2, 2 * np.pi, 0)
Hbar_prime *= np.where(cc == 0., 2, 1)
Hbar_prime *= 0.5
deg = np.pi/180.
T = (1 -
0.17 * np.cos(Hbar_prime - 30*deg) +
0.24 * np.cos(2*Hbar_prime) +
0.32 * np.cos(3*Hbar_prime + 6*deg) -
0.20 * np.cos(4*Hbar_prime - 63*deg)
0.17 * np.cos(Hbar_prime - 30 * DEG) +
0.24 * np.cos(2 * Hbar_prime) +
0.32 * np.cos(3 * Hbar_prime + 6 * DEG) -
0.20 * np.cos(4 * Hbar_prime - 63 * DEG)
)
dTheta = 30*deg * np.exp(-((Hbar_prime/deg - 275)/25)**2)
c7 = cbar_prime**7
Rc = 2 * np.sqrt(c7 / (c7 + 25**7))
dTheta = 30 * DEG * np.exp(-((Hbar_prime / DEG - 275) / 25) ** 2)
c7 = cbar_prime ** 7
Rc = 2 * np.sqrt(c7 / (c7 + 25 ** 7))
term = (Lbar - 50)**2
SL = 1 + 0.015*term/np.sqrt(20 + term)
SC = 1 + 0.045*cbar_prime
SH = 1 + 0.015*cbar_prime * T
term = (Lbar - 50) ** 2
SL = 1 + 0.015 * term / np.sqrt(20 + term)
SC = 1 + 0.045 * cbar_prime
SH = 1 + 0.015 * cbar_prime * T
RT = -np.sin(2*dTheta) * Rc
RT = -np.sin(2 * dTheta) * Rc
l_term = dL_prime / (kL * SL)
c_term = dC_prime / (kC * SC)
h_term = dH_prime / (kH * SH)
r_term = RT * c_term * h_term
dE2 = l_term**2
dE2 += c_term**2
dE2 += h_term**2
dE2 = l_term ** 2
dE2 += c_term ** 2
dE2 += h_term ** 2
dE2 += r_term
return np.sqrt(dE2)
@@ -283,28 +283,28 @@ def deltaE_cmc(lab1, lab2, kL=1, kC=1):
l1, a1, b1 = _unpack_last(lab1)
l2, a2, b2 = _unpack_last(lab2)
c1 = np.sqrt(a1**2 + b1**2)
c2 = np.sqrt(a2**2 + b2**2)
c1 = np.sqrt(a1 ** 2 + b1 ** 2)
c2 = np.sqrt(a2 ** 2 + b2 ** 2)
dC = c1 - c2
dl = l1 - l2
dH = np.sqrt(deltaE_cie76(lab1, lab2)**2 - dl**2 - dC**2)
dH = np.sqrt(deltaE_cie76(lab1, lab2) ** 2 - dl ** 2 - dC ** 2)
dL = l1 - l2
h1 = _arctan2pi(b1, a1)
T = np.where(np.logical_and(h1 >= 164*DEG, h1 <= 345*DEG),
0.56 + 0.2 * np.abs(np.cos(h1 + 168*DEG)),
0.36 + 0.4 * np.abs(np.cos(h1 + 35*DEG))
T = np.where(np.logical_and(h1 >= 164 * DEG, h1 <= 345 * DEG),
0.56 + 0.2 * np.abs(np.cos(h1 + 168 * DEG)),
0.36 + 0.4 * np.abs(np.cos(h1 + 35 * DEG))
)
c1_4 = c1**4
c1_4 = c1 ** 4
F = np.sqrt(c1_4 / (c1_4 + 1900))
SL = np.where(l1 < 16, 0.511, 0.040975*l1 / (1. + 0.01765*l1))
SC = 0.638 + 0.0638 * c1 / (1. + 0.0131*c1)
SH = SC * (F*T + 1 - F)
SL = np.where(l1 < 16, 0.511, 0.040975 * l1 / (1. + 0.01765 * l1))
SC = 0.638 + 0.0638 * c1 / (1. + 0.0131 * c1)
SH = SC * (F * T + 1 - F)
dE2 = (dL / (kL*SL))**2
dE2 += (dC/(kC*SC))**2
dE2 += (dH/SH)**2
dE2 = (dL / (kL * SL)) ** 2
dE2 += (dC / (kC * SC)) ** 2
dE2 += (dH / SH) ** 2
return np.sqrt(dE2)