def test_ootf_reverse_BT2100_HLG(self): """ Tests :func:`colour.models.rgb.transfer_functions.itur_bt_2100.\ ootf_reverse_BT2100_HLG` definition. """ self.assertAlmostEqual(ootf_reverse_BT2100_HLG(0.0), 0.0, places=7) self.assertAlmostEqual(ootf_reverse_BT2100_HLG(63.095734448019336), 0.1, places=7) self.assertAlmostEqual(ootf_reverse_BT2100_HLG(1000.0), 1.0, places=7) self.assertAlmostEqual(ootf_reverse_BT2100_HLG(398.108130742780300, 0.001, 10000, 1.4), 0.1, places=7) a = np.array( [[45.884942278760597, 0.000000000000000, -45.884942278760597], [-63.095734448019336, -63.095734448019336, -63.095734448019336], [63.095734448019336, 63.095734448019336, 63.095734448019336], [51.320396090100672, -51.320396090100672, 51.320396090100672]] ) # yapf: disable np.testing.assert_almost_equal(ootf_reverse_BT2100_HLG(a), np.array([[0.1, 0.0, -0.1], [-0.1, -0.1, -0.1], [0.1, 0.1, 0.1], [0.1, -0.1, 0.1]]), decimal=7)
def test_ootf_reverse_BT2100_HLG(self): """ Tests :func:`colour.models.rgb.transfer_functions.itur_bt_2100.\ ootf_reverse_BT2100_HLG` definition. """ self.assertAlmostEqual(ootf_reverse_BT2100_HLG(0.0), 0.0, places=7) self.assertAlmostEqual( ootf_reverse_BT2100_HLG(63.095734448019336), 0.1, places=7) self.assertAlmostEqual(ootf_reverse_BT2100_HLG(1000.0), 1.0, places=7) self.assertAlmostEqual( ootf_reverse_BT2100_HLG(398.108130742780300, 0.001, 10000, 1.4), 0.1, places=7) a = np.array( [[45.884942278760597, 0.000000000000000, -45.884942278760597], [-63.095734448019336, -63.095734448019336, -63.095734448019336], [63.095734448019336, 63.095734448019336, 63.095734448019336], [51.320396090100672, -51.320396090100672, 51.320396090100672]] ) # yapf: disable np.testing.assert_almost_equal( ootf_reverse_BT2100_HLG(a), np.array([[0.1, 0.0, -0.1], [-0.1, -0.1, -0.1], [0.1, 0.1, 0.1], [0.1, -0.1, 0.1]]), decimal=7)
def test_nan_ootf_reverse_BT2100_HLG(self): """ Tests :func:`colour.models.rgb.transfer_functions.itur_bt_2100.\ ootf_reverse_BT2100_HLG` definition nan support. """ ootf_reverse_BT2100_HLG( np.array([-1.0, 0.0, 1.0, -np.inf, np.inf, np.nan]))
def test_domain_range_scale_ootf_reverse_BT2100_HLG(self): """ Tests :func:`colour.models.rgb.transfer_functions.itur_bt_2100.\ ootf_reverse_BT2100_HLG` definition domain and range scale support. """ F_D = 63.095734448019336 E = ootf_reverse_BT2100_HLG(F_D) d_r = (('reference', 1), (1, 1), (100, 100)) for scale, factor in d_r: with domain_range_scale(scale): np.testing.assert_almost_equal(ootf_reverse_BT2100_HLG(F_D * factor), E * factor, decimal=7)
def test_domain_range_scale_ootf_reverse_BT2100_HLG(self): """ Tests :func:`colour.models.rgb.transfer_functions.itur_bt_2100.\ ootf_reverse_BT2100_HLG` definition domain and range scale support. """ F_D = 63.095734448019336 E = ootf_reverse_BT2100_HLG(F_D) d_r = (('reference', 1), (1, 1), (100, 100)) for scale, factor in d_r: with domain_range_scale(scale): np.testing.assert_almost_equal( ootf_reverse_BT2100_HLG(F_D * factor), E * factor, decimal=7)
def test_n_dimensional_ootf_reverse_BT2100_HLG(self): """ Tests :func:`colour.models.rgb.transfer_functions.itur_bt_2100.\ ootf_reverse_BT2100_HLG` definition n-dimensional arrays support. """ F_D = 63.095734448019336 E = 0.1 np.testing.assert_almost_equal(ootf_reverse_BT2100_HLG(F_D), E, decimal=7) F_D = np.tile(F_D, 6) E = np.tile(E, 6) np.testing.assert_almost_equal(ootf_reverse_BT2100_HLG(F_D), E, decimal=7) F_D = np.reshape(F_D, (2, 3)) E = np.reshape(E, (2, 3)) np.testing.assert_almost_equal(ootf_reverse_BT2100_HLG(F_D), E, decimal=7) F_D = np.reshape(F_D, (2, 3, 1)) E = np.reshape(E, (2, 3, 1)) np.testing.assert_almost_equal(ootf_reverse_BT2100_HLG(F_D), E, decimal=7) F_D = np.reshape(F_D, (6, 1)) E = np.reshape(E, (6, 1)) np.testing.assert_almost_equal(ootf_reverse_BT2100_HLG(F_D), E, decimal=7) F_D = np.array([213.01897444, 426.03794887, 639.05692331]) E = np.array([0.25, 0.50, 0.75]) np.testing.assert_almost_equal(ootf_reverse_BT2100_HLG(F_D), E, decimal=7) F_D = np.tile(F_D, (6, 1)) E = np.tile(E, (6, 1)) np.testing.assert_almost_equal(ootf_reverse_BT2100_HLG(F_D), E, decimal=7) F_D = np.reshape(F_D, (2, 3, 3)) E = np.reshape(E, (2, 3, 3)) np.testing.assert_almost_equal(ootf_reverse_BT2100_HLG(F_D), E, decimal=7)
def test_n_dimensional_ootf_reverse_BT2100_HLG(self): """ Tests :func:`colour.models.rgb.transfer_functions.itur_bt_2100.\ ootf_reverse_BT2100_HLG` definition n-dimensional arrays support. """ F_D = 63.095734448019336 E = ootf_reverse_BT2100_HLG(F_D) F_D = np.tile(F_D, 6) E = np.tile(E, 6) np.testing.assert_almost_equal( ootf_reverse_BT2100_HLG(F_D), E, decimal=7) F_D = np.reshape(F_D, (2, 3)) E = np.reshape(E, (2, 3)) np.testing.assert_almost_equal( ootf_reverse_BT2100_HLG(F_D), E, decimal=7) F_D = np.reshape(F_D, (2, 3, 1)) E = np.reshape(E, (2, 3, 1)) np.testing.assert_almost_equal( ootf_reverse_BT2100_HLG(F_D), E, decimal=7) F_D = np.reshape(F_D, (6, 1)) E = np.reshape(E, (6, 1)) np.testing.assert_almost_equal( ootf_reverse_BT2100_HLG(F_D), E, decimal=7) F_D = np.array([213.01897444, 426.03794887, 639.05692331]) E = np.array([0.25, 0.50, 0.75]) np.testing.assert_almost_equal( ootf_reverse_BT2100_HLG(F_D), E, decimal=7) F_D = np.tile(F_D, (6, 1)) E = np.tile(E, (6, 1)) np.testing.assert_almost_equal( ootf_reverse_BT2100_HLG(F_D), E, decimal=7) F_D = np.reshape(F_D, (2, 3, 3)) E = np.reshape(E, (2, 3, 3)) np.testing.assert_almost_equal( ootf_reverse_BT2100_HLG(F_D), E, decimal=7)