Add unit tests for "RGBA" case in "colour.io.LUTOperatorMatrix.apply" method.
@@ -197,6 +197,28 @@ LUTOperatorMatrix([[ 0. , 0.06666667, 0.13333333, 0.2 ],
[0.33333333, 1.53333333, 2.73333333],
]))
+ RGBA = tstack([samples, samples, samples, samples])
+
+ np.testing.assert_array_equal(LUTOperatorMatrix().apply(RGBA), RGBA)
+
+ np.testing.assert_almost_equal(
+ self._lut_operator_matrix.apply(RGBA),
+ np.array([
+ [0.25000000, 0.50000000, 0.75000000, 1.00000000],
+ [0.35000000, 0.86666667, 1.38333333, 1.90000000],
+ [0.45000000, 1.23333333, 2.01666667, 2.80000000],
+ [0.55000000, 1.60000000, 2.65000000, 3.70000000],
+ [0.65000000, 1.96666667, 3.28333333, 4.60000000],
+ ]))
+
+ np.testing.assert_almost_equal(
+ self._lut_operator_matrix.apply(RGBA, apply_offset_first=True),
+ np.array([[0.33333333, 1.00000000, 1.66666667, 2.33333333], [
+ 0.43333333, 1.36666667, 2.30000000, 3.23333333
+ ], [0.53333333, 1.73333333, 2.93333333, 4.13333333], [
+ 0.63333333, 2.10000000, 3.56666667, 5.03333333
+ ], [0.73333333, 2.46666667, 4.20000000, 5.93333333]], ))
+
if __name__ == '__main__':
unittest.main()
