示例#1
0
    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)
示例#2
0
    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)
示例#3
0
    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)
示例#4
0
    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)
示例#5
0
    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)
示例#6
0
    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)