Repository: colour-science/colour

Issue:
Change "L_B" and "L_W" default argument values for "BT.1886" eotf.
Current default values are 64 and 940, i.e. 10-bit black and white code values. L_B and L_W should be screen luminance in cd/m^2 if the function is to return absolute luminance, or e.g. 0 and 1 to return normalised values.

Discussion:

Patch:
diff --git a/colour/models/rgb/transfer_functions/bt_1886.py b/colour/models/rgb/transfer_functions/bt_1886.py
index 73fb873e9..a366685f9 100644
--- a/colour/models/rgb/transfer_functions/bt_1886.py
+++ b/colour/models/rgb/transfer_functions/bt_1886.py
@@ -41,7 +41,7 @@ __all__ = ['oetf_BT1886',
            'eotf_BT1886']
 
 
-def oetf_BT1886(L, L_B=64, L_W=940):
+def oetf_BT1886(L, L_B=0, L_W=1):
     """
     Defines *Recommendation ITU-R BT.1886* opto-electrical transfer function
     (OETF / OECF).
@@ -69,7 +69,7 @@ def oetf_BT1886(L, L_B=64, L_W=940):
 
     Examples
     --------
-    >>> oetf_BT1886(277.98159179331145)  # doctest: +ELLIPSIS
+    >>> oetf_BT1886(0.11699185725296059)  # doctest: +ELLIPSIS
     0.4090077...
     """
 
@@ -92,7 +92,7 @@ def oetf_BT1886(L, L_B=64, L_W=940):
     return V
 
 
-def eotf_BT1886(V, L_B=64, L_W=940):
+def eotf_BT1886(V, L_B=0, L_W=1):
     """
     Defines *Recommendation ITU-R BT.1886* electro-optical transfer function
     (EOTF / EOCF).
@@ -118,7 +118,7 @@ def eotf_BT1886(V, L_B=64, L_W=940):
     Examples
     --------
     >>> eotf_BT1886(0.409007728864150)  # doctest: +ELLIPSIS
-    277.9815917...
+    0.1169918...
     """
 
     V = np.asarray(V)


Test patch:
diff --git a/colour/models/rgb/transfer_functions/tests/tests_bt_1886.py b/colour/models/rgb/transfer_functions/tests/tests_bt_1886.py
index b9254dd3a..d259abb97 100644
--- a/colour/models/rgb/transfer_functions/tests/tests_bt_1886.py
+++ b/colour/models/rgb/transfer_functions/tests/tests_bt_1886.py
@@ -38,18 +38,18 @@ oetf_BT1886` definition.
         """
 
         self.assertAlmostEqual(
-            oetf_BT1886(64.0),
+            oetf_BT1886(0.0),
             0.0,
             places=7)
 
         self.assertAlmostEqual(
-            oetf_BT1886(184.32),
-            0.268401363726554,
+            oetf_BT1886(0.016317514686316),
+            0.18,
             places=7)
 
         self.assertAlmostEqual(
-            oetf_BT1886(940),
-            1.000000000000000,
+            oetf_BT1886(1.0),
+            1.0,
             places=7)
 
     def test_n_dimensional_oetf_BT1886(self):
@@ -58,8 +58,8 @@ oetf_BT1886` definition.
 oetf_BT1886` definition n-dimensional arrays support.
         """
 
-        L = 184.32
-        V = 0.268401363726554
+        L = 0.016317514686316
+        V = 0.18
         np.testing.assert_almost_equal(
             oetf_BT1886(L),
             V,
@@ -111,17 +111,17 @@ eotf_BT1886` definition.
 
         self.assertAlmostEqual(
             eotf_BT1886(0.0),
-            64.0,
+            0.0,
             places=7)
 
         self.assertAlmostEqual(
             eotf_BT1886(0.18),
-            136.58617957,
+            0.016317514686316,
             places=7)
 
         self.assertAlmostEqual(
             eotf_BT1886(1.0),
-            940.00000000,
+            1.0,
             places=7)
 
     def test_n_dimensional_eotf_BT1886(self):
@@ -131,7 +131,7 @@ eotf_BT1886` definition n-dimensional arrays support.
         """
 
         V = 0.18
-        L = 136.58617957
+        L = 0.016317514686316
         np.testing.assert_almost_equal(
             eotf_BT1886(V),
             L,