def test_whiteness_ASTME313(self): """ Test :func:`colour.colorimetry.whiteness.whiteness_ASTME313` definition. """ self.assertAlmostEqual( whiteness_ASTME313( np.array([95.00000000, 100.00000000, 105.00000000]) ), 55.740000000000009, places=7, ) self.assertAlmostEqual( whiteness_ASTME313( np.array([105.00000000, 100.00000000, 95.00000000]) ), 21.860000000000014, places=7, ) self.assertAlmostEqual( whiteness_ASTME313( np.array([100.00000000, 100.00000000, 100.00000000]) ), 38.800000000000011, places=7, )
def test_nan_whiteness_ASTME313(self): """ Tests :func:`colour.colorimetry.whiteness.whiteness_ASTME313` definition nan support. """ cases = [-1.0, 0.0, 1.0, -np.inf, np.inf, np.nan] cases = set(permutations(cases * 3, r=3)) for case in cases: XYZ = np.array(case) whiteness_ASTME313(XYZ)
def test_domain_range_scale_whiteness_ASTME313(self): """ Tests :func:`colour.colorimetry.whiteness.whiteness_ASTME313` definition domain and range scale support. """ XYZ = np.array([95.00000000, 100.00000000, 105.00000000]) WI = whiteness_ASTME313(XYZ) d_r = (('reference', 1), (1, 0.01), (100, 1)) for scale, factor in d_r: with domain_range_scale(scale): np.testing.assert_almost_equal( whiteness_ASTME313(XYZ * factor), WI * factor, decimal=7)
def test_n_dimensional_whiteness_ASTME313(self): """ Tests :func:`colour.colorimetry.whiteness.whiteness_ASTME313` definition n_dimensional arrays support. """ XYZ = np.array([95.00000000, 100.00000000, 105.00000000]) WI = whiteness_ASTME313(XYZ) XYZ = np.tile(XYZ, (6, 1)) WI = np.tile(WI, 6) np.testing.assert_almost_equal(whiteness_ASTME313(XYZ), WI, decimal=7) XYZ = np.reshape(XYZ, (2, 3, 3)) WI = np.reshape(WI, (2, 3)) np.testing.assert_almost_equal(whiteness_ASTME313(XYZ), WI, decimal=7)