Skip to main content

diagonal_matrix

Function diagonal_matrix 

Source
pub fn diagonal_matrix<T, I, O>(
    input_wp: Lms<I, T>,
    output_wp: Lms<O, T>,
) -> Matrix3<Lms<I, T>, Lms<O, T>>
where T: Zero + Div<Output = T>,
Expand description

Construct a diagonal matrix for full adaptation of Lms colors.

This is the core matrix in the von Kries adaptation method and is a central part of the matrix from adaptation_matrix. It’s offered separately, as an option for building more advanced adaptation matrices.

The produced matrix is a diagonal matrix, containing the output white point divided by the input white point:

[out.l / in.l,            0,            0]
[           0, out.m / in.m,            0]
[           0,            0, out.s / in.s]

See also Wikipedia - Von Kries transform.