def test_n_dimensional_exponent_hdr_IPT(self): """ Tests :func:`colour.models.hdr_ipt.exponent_hdr_IPT` definition n-dimensional arrays support. """ Y_s = 0.2 Y_abs = 100 epsilon = exponent_hdr_IPT(Y_s, Y_abs) Y_s = np.tile(Y_s, 6) Y_abs = np.tile(Y_abs, 6) epsilon = np.tile(epsilon, 6) np.testing.assert_almost_equal(exponent_hdr_IPT(Y_s, Y_abs), epsilon, decimal=7) Y_s = np.reshape(Y_s, (2, 3)) Y_abs = np.reshape(Y_abs, (2, 3)) epsilon = np.reshape(epsilon, (2, 3)) np.testing.assert_almost_equal(exponent_hdr_IPT(Y_s, Y_abs), epsilon, decimal=7) Y_s = np.reshape(Y_s, (2, 3, 1)) Y_abs = np.reshape(Y_abs, (2, 3, 1)) epsilon = np.reshape(epsilon, (2, 3, 1)) np.testing.assert_almost_equal(exponent_hdr_IPT(Y_s, Y_abs), epsilon, decimal=7)
def test_nan_exponent_hdr_IPT(self): """ Tests :func:`colour.models.hdr_ipt.exponent_hdr_IPT` definition nan support. """ cases = np.array([-1.0, 0.0, 1.0, -np.inf, np.inf, np.nan]) exponent_hdr_IPT(cases, cases)
def test_domain_range_scale_exponent_hdr_IPT(self): """ Tests :func:`colour.models.hdr_ipt.exponent_hdr_IPT` definition domain and range scale support. """ Y_s = 0.2 Y_abs = 100 epsilon = exponent_hdr_IPT(Y_s, Y_abs) d_r = (('reference', 1), (1, 1), (100, 100)) for scale, factor in d_r: with domain_range_scale(scale): np.testing.assert_almost_equal( exponent_hdr_IPT(Y_s * factor, Y_abs), epsilon, decimal=7)
def test_exponent_hdr_IPT(self): """ Tests :func:`colour.models.hdr_ipt.exponent_hdr_IPT` definition. """ self.assertAlmostEqual(exponent_hdr_IPT(0.2, 100), 1.689138305989492, places=7) self.assertAlmostEqual(exponent_hdr_IPT(0.4, 100), 1.219933220992410, places=7) self.assertAlmostEqual(exponent_hdr_IPT(0.2, 1000), 1.126092203992995, places=7)
def test_exponent_hdr_IPT(self): """ Tests :func:`colour.models.hdr_ipt.exponent_hdr_IPT` definition. """ self.assertAlmostEqual( exponent_hdr_IPT(0.2, 100), 0.482020919845900, places=7) self.assertAlmostEqual( exponent_hdr_IPT(0.4, 100), 0.667413581325092, places=7) self.assertAlmostEqual( exponent_hdr_IPT(0.4, 100, method='Fairchild 2010'), 1.219933220992410, places=7) self.assertAlmostEqual( exponent_hdr_IPT(0.2, 1000), 0.723031379768850, places=7)
def test_exponent_hdr_IPT(self): """ Tests :func:`colour.models.hdr_ipt.exponent_hdr_IPT` definition. """ self.assertAlmostEqual( exponent_hdr_IPT(0.2, 100), 0.722167826473768, places=7) self.assertAlmostEqual( exponent_hdr_IPT(0.4, 100), 0.521565652453277, places=7) self.assertAlmostEqual( exponent_hdr_IPT(0.4, 100, method='Fairchild 2010'), 1.219933220992410, places=7) self.assertAlmostEqual( exponent_hdr_IPT(0.2, 1000), 0.481445217649179, places=7)