Operator RGB2XYZ

Operator Library: Prototype

[Warning] Warning

Disclaimer: This module is part of the prototype library. It is absolutely preliminary and subject to extensive changes, even removal. Therefore, this module must not be used for productive designs. It is included for testing purposes only.

The module RGB2XYZ converts the color space from an anticipated sRGB, white point D65 to CIE XYZ. The coefficients are parametrizable to allow customized transformations. Since the XYZ values range [0, 100] the output bit width is 7-bit, however if more bits are selected at the output link the values are scaled by 2^(n-7) to make a higher precision available.

The transformation matrix is defined by the parameters TransMatrixX1 to TransMatrixZ3. These parameters are a 3x3 matrix containing double precision coefficients. The following formula represents the transformation algorithm.

I/O Properties

Property Value
Operator Type O
Input Link I, image data input
Output Link O, image data output

Supported Link Format

Link Parameter Input Link I Output Link O
Bit Width 24 [21, 63]
Arithmetic unsigned as I
Parallelism any as I
Kernel Columns 1 as I
Kernel Rows 1 as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} as I
Color Format VAF_COLOR as I
Color Flavor FL_RGB FL_XYZ
Max. Img Width any as I
Max. Img Height any as I

Parameters

TransMatrixX1
Type static read/write parameter
Default 0.4124
Range [0, 1]

Defines one coefficient of the transformation matrix RGB to XYZ. The value of this coefficient is a double value.

TransMatrixX2
Type static read/write parameter
Default 0.3576
Range [0, 1]

Defines one coefficient of the transformation matrix RGB to XYZ. The value of this coefficient is a double value.

TransMatrixX3
Type static read/write parameter
Default 0.1805
Range [0, 1]

Defines one coefficient of the transformation matrix RGB to XYZ. The value of this coefficient is a double value.

TransMatrixY1
Type static read/write parameter
Default 0.2126
Range [0, 1]

Defines one coefficient of the transformation matrix RGB to XYZ. The value of this coefficient is a double value.

TransMatrixY2
Type static read/write parameter
Default 0.7152
Range [0, 1]

Defines one coefficient of the transformation matrix RGB to XYZ. The value of this coefficient is a double value.

TransMatrixY3
Type static read/write parameter
Default 0.0722
Range [0, 1]

Defines one coefficient of the transformation matrix RGB to XYZ. The value of this coefficient is a double value.

TransMatrixZ1
Type static read/write parameter
Default 0.0193
Range [0, 1]

Defines one coefficient of the transformation matrix RGB to XYZ. The value of this coefficient is a double value.

TransMatrixZ2
Type static read/write parameter
Default 0.1192
Range [0, 1]

Defines one coefficient of the transformation matrix RGB to XYZ. The value of this coefficient is a double value.

TransMatrixZ3
Type static read/write parameter
Default 0.9505
Range [0, 1]

Defines one coefficient of the transformation matrix RGB to XYZ. The value of this coefficient is a double value.