Skip to content

Instantly share code, notes, and snippets.

@sobotka
Last active February 25, 2022 06:24
Show Gist options
  • Save sobotka/b4da09b1445b4082e02b2481bc6ff666 to your computer and use it in GitHub Desktop.
Save sobotka/b4da09b1445b4082e02b2481bc6ff666 to your computer and use it in GitHub Desktop.
Arri Wide Gamut to REC.709
- !<ColorSpace>
name: Alexa Wide Gamut LogC
family: ""
equalitygroup: ""
bitdepth: 32f
description: |
LogC Arri Wide Gamut to REC.709 Primaries
isdata: false
allocation: uniform
allocationvars: [0, 1]
to_reference: !<GroupTransform>
children:
- !<FileTransform> {src: V3_LogC_800_to_linear.spi1d, interpolation: linear}
- !<MatrixTransform> {matrix: [0.638007619283725, 0.214703856337102, 0.097744451430844, 0, 0.291953778999716, 0.823841041510691, -0.115794820510407, 0, 0.00279827903194611, -0.0670342356889595, 1.15329370741689, 0, 0, 0, 0, 1]}
- !<MatrixTransform> {matrix: [0.41239079926596, 0.357584339383878, 0.180480788401834, 0, 0.21263900587151, 0.715168678767756, 0.0721923153607337, 0, 0.0193308187155918, 0.119194779794626, 0.950532152249661, 0, 0, 0, 0, 1], direction: inverse}
@sobotka
Copy link
Author

sobotka commented Mar 2, 2019

Previous incarnation had the transfer function encoded version from the Arri Vfx document. This uses the proper Arri Wide Gamut xyY chromaticity points to derive the XYZ matrix, and then uses the xyY coordinates of REC.709 to derive the destination matrix. The inverse direction is used here to keep the matrices legible in the forward RGB to XYZ direction.

@Ginurx
Copy link

Ginurx commented Feb 24, 2022

But I got totally different matrices using colour science. Am I getting it wrong?

>>> matrix_RGB_to_RGB(colour.models.RGB_COLOURSPACE_sRGB, colour.models.RGB_COLOURSPACE_ALEXA_WIDE_GAMUT)
array([[ 0.63136262,  0.27081263,  0.09791522],
       [ 0.03675345,  0.79307157,  0.17013495],
       [ 0.01733878,  0.14879521,  0.8338121 ]])

>>> matrix_RGB_to_RGB(colour.models.RGB_COLOURSPACE_ALEXA_WIDE_GAMUT, colour.models.RGB_COLOURSPACE_sRGB)
array([[ 1.61734195, -0.53721545, -0.08028311],
       [-0.07040252,  1.33455233, -0.26405072],
       [-0.02106408, -0.22695949,  1.24809828]])

@sobotka
Copy link
Author

sobotka commented Feb 24, 2022

  1. AWG D65 -> XYZ
  2. XYZ -> sRGB D65

@Ginurx
Copy link

Ginurx commented Feb 25, 2022

Got it. Thanks :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment