def delta_e_cie1994(color1, color2, K_L=1, K_C=1, K_H=1, K_1=0.045, K_2=0.015): """ Calculates the Delta E (CIE1994) of two colors. K_l: 0.045 graphic arts 0.048 textiles K_2: 0.015 graphic arts 0.014 textiles K_L: 1 default 2 textiles """ color1_vector = _get_lab_color1_vector(color1) color2_matrix = _get_lab_color2_matrix(color2) delta_e = color_diff_matrix.delta_e_cie1994(color1_vector, color2_matrix, K_L=K_L, K_C=K_C, K_H=K_H, K_1=K_1, K_2=K_2)[0] return numpy.asscalar(delta_e)
def delta_e_matrix(self, lab_color_matrix, mode='cie2000', *args, **kwargs): """ Compares this object with all colors in lab_color_matrix via Delta E. The matrix must be of shape (n,3) and must be composed of floats. Returns a distance vector of shape (n,). Valid modes: cie2000 cie1976 cie1994 cmc """ lab_color_vector = np.array([self.lab_l, self.lab_a, self.lab_b]) mode = mode.lower() if mode == 'cie2000': return color_diff_matrix.delta_e_cie2000(lab_color_vector, lab_color_matrix) elif mode == 'cie1994': return color_diff_matrix.delta_e_cie1994(lab_color_vector, lab_color_matrix, **kwargs) elif mode == 'cie1976': return color_diff_matrix.delta_e_cie1976(lab_color_vector, lab_color_matrix) elif mode == 'cmc': return color_diff_matrix.delta_e_cmc(lab_color_vector, lab_color_matrix, **kwargs) else: raise InvalidDeltaEMode(mode)
def delta_e_cie1994(color1, color2, K_L=1, K_C=1, K_H=1, K_1=0.045, K_2=0.015): """ Calculates the Delta E (CIE1994) of two colors. K_l: 0.045 graphic arts 0.048 textiles K_2: 0.015 graphic arts 0.014 textiles K_L: 1 default 2 textiles """ color1_vector = _get_lab_color1_vector(color1) color2_matrix = _get_lab_color2_matrix(color2) delta_e = color_diff_matrix.delta_e_cie1994( color1_vector, color2_matrix, K_L=K_L, K_C=K_C, K_H=K_H, K_1=K_1, K_2=K_2)[0] return numpy.asscalar(delta_e)