Skip to content

Instantly share code, notes, and snippets.

@remia
Last active May 14, 2021 20:34
Show Gist options
  • Save remia/6ce318f3d78987ab6e3a85b26086f592 to your computer and use it in GitHub Desktop.
Save remia/6ce318f3d78987ab6e3a85b26086f592 to your computer and use it in GitHub Desktop.
ocio_profile_version: 2
description: Prototype OCIO v2 config for ACES 1.2.
name: ACES 1.2 2021-02-01
roles:
aces_interchange: ACES2065-1
cie_xyz_d65_interchange: CIE-XYZ D65
color_timing: ACEScct
compositing_log: ACEScct
data: Raw
default: sRGB
scene_linear: ACEScg
file_rules:
- !<Rule> {name: tx, colorspace: Raw, pattern: "*", extension: tx}
- !<Rule> {name: hdr, colorspace: Raw, pattern: "*", extension: hdr}
- !<Rule> {name: exr, colorspace: Raw, pattern: "*", extension: exr}
- !<Rule> {name: Default, colorspace: default}
shared_views:
- !<View> {name: ACES 1.0 SDR-cinema, view_transform: ACES 1.0 SDR-cinema, display_colorspace: <USE_DISPLAY_NAME>}
- !<View> {name: ACES 1.0 SDR-video, view_transform: ACES 1.0 SDR-video, display_colorspace: <USE_DISPLAY_NAME>}
- !<View> {name: ACES 1.1 SDR-cinema (Rec.709 lim), view_transform: ACES 1.1 SDR-cinema (Rec.709 lim), display_colorspace: <USE_DISPLAY_NAME>}
- !<View> {name: ACES 1.1 SDR-video (Rec.709 lim), view_transform: ACES 1.1 SDR-video (Rec.709 lim), display_colorspace: <USE_DISPLAY_NAME>}
- !<View> {name: ACES 1.1 SDR-video (P3 lim), view_transform: ACES 1.1 SDR-video (P3 lim), display_colorspace: <USE_DISPLAY_NAME>}
- !<View> {name: ACES 1.1 SDR-cinema (D60 sim on D65), view_transform: ACES 1.1 SDR-cinema (D60 sim on D65), display_colorspace: <USE_DISPLAY_NAME>}
- !<View> {name: ACES 1.0 SDR-video (D60 sim on D65), view_transform: ACES 1.0 SDR-video (D60 sim on D65), display_colorspace: <USE_DISPLAY_NAME>}
- !<View> {name: Un-tone-mapped, view_transform: Un-tone-mapped, display_colorspace: <USE_DISPLAY_NAME>}
- !<View> {name: Log, colorspace: ACEScct}
- !<View> {name: Raw, colorspace: Raw}
displays:
sRGB:
- !<Views> [ACES 1.0 SDR-video, ACES 1.0 SDR-video (D60 sim on D65), Un-tone-mapped, Log, Raw]
Rec.1886 / Rec.709 video:
- !<Views> [ACES 1.0 SDR-video, ACES 1.0 SDR-video (D60 sim on D65), Un-tone-mapped, Log, Raw]
Rec.1886 / Rec.2020 video:
- !<Views> [ACES 1.0 SDR-video, ACES 1.0 SDR-video (D60 sim on D65), ACES 1.1 SDR-video (Rec.709 lim), ACES 1.1 SDR-video (P3 lim), Un-tone-mapped, Log, Raw]
P3-D60:
- !<Views> [ACES 1.0 SDR-cinema, Un-tone-mapped, Log, Raw]
P3-D65:
- !<Views> [ACES 1.0 SDR-cinema, ACES 1.1 SDR-cinema (D60 sim on D65), ACES 1.1 SDR-cinema (Rec.709 lim), Un-tone-mapped, Log, Raw]
P3-DCI:
- !<View> {name: ACES 1.0 SDR-cinema, view_transform: ACES 1.0 SDR-cinema, display_colorspace: P3-DCI}
- !<View> {name: ACES 1.0 SDR-cinema (D60 sim on DCI), view_transform: ACES 1.0 SDR-cinema (D60 sim on DCI), display_colorspace: P3-DCI}
- !<View> {name: ACES 1.1 SDR-cinema (D65 sim on DCI), view_transform: ACES 1.1 SDR-cinema (D65 sim on DCI), display_colorspace: P3-DCI}
- !<Views> [Un-tone-mapped, Log, Raw]
ST2084-P3-D65:
- !<View> {name: ACES 1.1 HDR-video (1000 nits), view_transform: ACES 1.1 HDR-video (1000 nits & P3 lim), display_colorspace: ST2084-P3-D65}
- !<View> {name: ACES 1.1 HDR-video (2000 nits), view_transform: ACES 1.1 HDR-video (2000 nits & P3 lim), display_colorspace: ST2084-P3-D65}
- !<View> {name: ACES 1.1 HDR-video (4000 nits), view_transform: ACES 1.1 HDR-video (4000 nits & P3 lim), display_colorspace: ST2084-P3-D65}
- !<View> {name: ACES 1.1 HDR-cinema (108 nits), view_transform: ACES 1.1 HDR-cinema (108 nits & P3 lim), display_colorspace: ST2084-P3-D65}
- !<Views> [Un-tone-mapped, Log, Raw]
Rec.2100-PQ:
- !<View> {name: ACES 1.1 HDR-video (1000 nits), view_transform: ACES 1.1 HDR-video (1000 nits & Rec.2020 lim), display_colorspace: Rec.2100-PQ}
- !<View> {name: ACES 1.1 HDR-video (2000 nits), view_transform: ACES 1.1 HDR-video (2000 nits & Rec.2020 lim), display_colorspace: Rec.2100-PQ}
- !<View> {name: ACES 1.1 HDR-video (4000 nits), view_transform: ACES 1.1 HDR-video (4000 nits & Rec.2020 lim), display_colorspace: Rec.2100-PQ}
- !<Views> [Un-tone-mapped, Log, Raw]
Rec.2100-HLG:
- !<View> {name: ACES 1.1 HDR-video (1000 nits), view_transform: ACES 1.1 HDR-video (1000 nits & Rec.2020 lim), display_colorspace: Rec.2100-HLG}
- !<Views> [Un-tone-mapped, Log, Raw]
default_view_transform: Un-tone-mapped
view_transforms:
- !<ViewTransform>
name: Un-tone-mapped
from_scene_reference: !<BuiltinTransform> {style: "UTILITY - ACES-AP0_to_CIE-XYZ-D65_BFD"}
- !<ViewTransform>
name: ACES 1.0 SDR-cinema
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA_1.0"}
- !<ViewTransform>
name: ACES 1.0 SDR-video
from_scene_reference: !<GroupTransform>
children:
- !<BuiltinTransform> {style: "ACES-LMT - GAMUT_MAP_13"}
- !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO_1.0"}
- !<ViewTransform>
name: ACES 1.1 SDR-cinema (Rec.709 lim)
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA-REC709lim_1.1"}
- !<ViewTransform>
name: ACES 1.1 SDR-video (Rec.709 lim)
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO-REC709lim_1.1"}
- !<ViewTransform>
name: ACES 1.1 SDR-video (P3 lim)
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO-P3lim_1.1"}
- !<ViewTransform>
name: ACES 1.1 SDR-cinema (D60 sim on D65)
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA-D60sim-D65_1.1"}
- !<ViewTransform>
name: ACES 1.0 SDR-video (D60 sim on D65)
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO-D60sim-D65_1.0"}
- !<ViewTransform>
name: ACES 1.0 SDR-cinema (D60 sim on DCI)
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA-D60sim-DCI_1.0"}
- !<ViewTransform>
name: ACES 1.1 SDR-cinema (D65 sim on DCI)
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA-D65sim-DCI_1.1"}
- !<ViewTransform>
name: ACES 1.1 HDR-video (1000 nits & Rec.2020 lim)
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-1000nit-15nit-REC2020lim_1.1"}
- !<ViewTransform>
name: ACES 1.1 HDR-video (1000 nits & P3 lim)
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-1000nit-15nit-P3lim_1.1"}
- !<ViewTransform>
name: ACES 1.1 HDR-video (2000 nits & Rec.2020 lim)
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-2000nit-15nit-REC2020lim_1.1"}
- !<ViewTransform>
name: ACES 1.1 HDR-video (2000 nits & P3 lim)
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-2000nit-15nit-P3lim_1.1"}
- !<ViewTransform>
name: ACES 1.1 HDR-video (4000 nits & Rec.2020 lim)
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-4000nit-15nit-REC2020lim_1.1"}
- !<ViewTransform>
name: ACES 1.1 HDR-video (4000 nits & P3 lim)
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-4000nit-15nit-P3lim_1.1"}
- !<ViewTransform>
name: ACES 1.1 HDR-cinema (108 nits & P3 lim)
from_scene_reference: !<BuiltinTransform> {style: "ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-CINEMA-108nit-7.2nit-P3lim_1.1"}
looks:
- !<Look>
name: ACES-LMT - Blue light artifact fix
description: |
LMT for desaturating blue hues to reduce clipping artifacts
process_space: ACES2065-1
transform: !<BuiltinTransform> {style: "ACES-LMT - BLUE_LIGHT_ARTIFACT_FIX"}
inactive_colorspaces: [CIE-XYZ D65]
display_colorspaces:
- !<ColorSpace>
name: CIE-XYZ D65
family:
description: |
Display connection space, CIE XYZ with D65 adopted white point
encoding: display-linear
isdata: false
- !<ColorSpace>
name: sRGB
family:
description: |
sRGB monitor (piecewise EOTF)
isdata: false
categories: [ file-io ]
encoding: sdr-video
from_display_reference: !<GroupTransform>
children:
- !<BuiltinTransform> {style: "DISPLAY - CIE-XYZ-D65_to_sRGB"}
- !<RangeTransform> {min_in_value: 0., min_out_value: 0., max_in_value: 1., max_out_value: 1.}
- !<ColorSpace>
name: Rec.1886 / Rec.709 video
family:
description: |
Rec.709 HD broadcast monitor with Rec.1886 EOTF (gamma 2.4)
isdata: false
categories: [ file-io ]
encoding: sdr-video
from_display_reference: !<GroupTransform>
children:
- !<BuiltinTransform> {style: "DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709"}
- !<RangeTransform> {min_in_value: 0., min_out_value: 0., max_in_value: 1., max_out_value: 1.}
- !<ColorSpace>
name: Rec.1886 / Rec.2020 video
family:
description: |
Rec.2020 UHD broadcast monitor with Rec.1886 EOTF (gamma 2.4)
isdata: false
categories: [ file-io ]
encoding: sdr-video
from_display_reference: !<GroupTransform>
children:
- !<BuiltinTransform> {style: "DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.2020"}
- !<RangeTransform> {min_in_value: 0., min_out_value: 0., max_in_value: 1., max_out_value: 1.}
- !<ColorSpace>
name: P3-D65
family:
description: |
DCI-P3 monitor/projector with D65 white point and 2.6 gamma EOTF
isdata: false
categories: [ file-io ]
encoding: sdr-video
from_display_reference: !<GroupTransform>
children:
- !<BuiltinTransform> {style: "DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65"}
- !<RangeTransform> {min_in_value: 0., min_out_value: 0., max_in_value: 1., max_out_value: 1.}
- !<ColorSpace>
name: P3-DCI
family:
description: |
DCI-P3 monitor/projector with DCI white point and 2.6 gamma EOTF
isdata: false
categories: [ file-io ]
encoding: sdr-video
from_display_reference: !<GroupTransform>
children:
- !<BuiltinTransform> {style: "DISPLAY - CIE-XYZ-D65_to_G2.6-P3-DCI-BFD"}
- !<RangeTransform> {min_in_value: 0., min_out_value: 0., max_in_value: 1., max_out_value: 1.}
- !<ColorSpace>
name: P3-D60
family:
description: |
DCI-P3 monitor/projector with D60 white point and 2.6 gamma EOTF
isdata: false
categories: [ file-io ]
encoding: sdr-video
from_display_reference: !<GroupTransform>
children:
- !<BuiltinTransform> {style: "DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D60-BFD"}
- !<RangeTransform> {min_in_value: 0., min_out_value: 0., max_in_value: 1., max_out_value: 1.}
- !<ColorSpace>
name: ST2084-P3-D65
family:
description: |
DCI-P3 monitor/projector with D65 white point and ST-2084 (PQ) EOTF
isdata: false
categories: [ file-io ]
encoding: sdr-video
from_display_reference: !<GroupTransform>
children:
- !<BuiltinTransform> {style: "DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65"}
- !<RangeTransform> {min_in_value: 0., min_out_value: 0., max_in_value: 1., max_out_value: 1.}
- !<ColorSpace>
name: Rec.2100-PQ
family:
description: |
Rec.2100-PQ monitor with Rec.2020 primaries and ST-2084 EOTF
isdata: false
categories: [ file-io ]
encoding: sdr-video
from_display_reference: !<GroupTransform>
children:
- !<BuiltinTransform> {style: "DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ"}
- !<RangeTransform> {min_in_value: 0., min_out_value: 0., max_in_value: 1., max_out_value: 1.}
- !<ColorSpace>
name: Rec.2100-HLG
family:
description: |
Rec.2100-HLG monitor in Hybrid Log Gamma mode and 1000 nit peak white
isdata: false
categories: [ file-io ]
encoding: sdr-video
from_display_reference: !<GroupTransform>
children:
- !<BuiltinTransform> {style: "DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit"}
- !<RangeTransform> {min_in_value: 0., min_out_value: 0., max_in_value: 1., max_out_value: 1.}
colorspaces:
- !<ColorSpace>
name: ACEScg
family:
equalitygroup: ""
bitdepth: 32f
description: |
ACEScg working space
isdata: false
categories: [ file-io, working-space ]
encoding: scene-linear
to_scene_reference: !<MatrixTransform> {matrix: [ 0.695452241357, 0.140678696470, 0.163869062172, 0, 0.044794563372, 0.859671118456, 0.095534318172, 0, -0.005525882558, 0.004025210306, 1.001500672252, 0, 0, 0, 0, 1 ]}
- !<ColorSpace>
name: ACES2065-1
family:
equalitygroup: ""
bitdepth: 32f
description: |
The Academy Color Encoding System reference color space
isdata: false
categories: [ file-io ]
encoding: scene-linear
- !<ColorSpace>
name: scene-linear Rec.709-sRGB
family:
equalitygroup: ""
bitdepth: 32f
description: |
Scene-linear Rec.709 or sRGB primaries
isdata: false
categories: [ file-io ]
encoding: scene-linear
to_scene_reference: !<MatrixTransform> {matrix: [ 0.439632981919, 0.382988698152, 0.177378319929, 0, 0.089776442959, 0.813439428749, 0.096784128292, 0, 0.017541170383, 0.111546553302, 0.870912276314, 0, 0, 0, 0, 1 ]}
- !<ColorSpace>
name: scene-linear DCI-P3 D65
family:
equalitygroup: ""
bitdepth: 32f
description: |
Scene-linear P3 primaries (D65 whitepoint)
isdata: false
categories: [ file-io ]
encoding: scene-linear
to_scene_reference: !<MatrixTransform> {matrix: [ 0.518933487598, 0.286256586387, 0.194809926015, 0, 0.073859383047, 0.819845163937, 0.106295453016, 0, -0.000307011368, 0.043807050254, 0.956499961115, 0, 0, 0, 0, 1 ]}
- !<ColorSpace>
name: scene-linear Rec.2020
family:
equalitygroup: ""
bitdepth: 32f
description: |
Scene-linear Rec 2020/UHDTV primaries
isdata: false
categories: [ file-io ]
encoding: scene-linear
to_scene_reference: !<MatrixTransform> {matrix: [ 0.679085634707, 0.157700914643, 0.163213450650, 0, 0.046002003080, 0.859054673003, 0.094943323917, 0, -0.000573943188, 0.028467768408, 0.972106174780, 0, 0, 0, 0, 1 ]}
- !<ColorSpace>
name: Raw
family:
equalitygroup: ""
bitdepth: 32f
description: |
Raw (no color processing)
isdata: true
categories: [ file-io ]
encoding: data
- !<ColorSpace>
name: ACEScct
family:
description: |
ACES camera log working space
isdata: false
categories: [ file-io, working-space ]
encoding: log
to_scene_reference: !<BuiltinTransform> {style: "ACEScct_to_ACES2065-1"}
- !<ColorSpace>
name: ACEScc
family:
description: |
ACES log working space
isdata: false
categories: [ file-io ]
encoding: log
to_scene_reference: !<BuiltinTransform> {style: "ACEScc_to_ACES2065-1"}
- !<ColorSpace>
name: ARRI LogC (v3-EI800) / AlexaWideGamut
family:
description: |
Alexa-v3-LogC-EI800 (SUP v3 color science)
isdata: false
categories: [ file-io ]
encoding: log
to_scene_reference: !<BuiltinTransform> {style: "ARRI_ALEXA-LOGC-EI800-AWG_to_ACES2065-1"}
- !<ColorSpace>
name: Canon CLog2 / CinemaGamut
family:
description: |
Canon CLog 2 / Cinema Gamut
isdata: false
categories: [ file-io ]
encoding: log
to_scene_reference: !<BuiltinTransform> {style: "CANON_CLOG2-CGAMUT_to_ACES2065-1"}
- !<ColorSpace>
name: Canon CLog3 / CinemaGamut
family:
description: |
Canon CLog 3 / Cinema Gamut
isdata: false
categories: [ file-io ]
encoding: log
to_scene_reference: !<BuiltinTransform> {style: "CANON_CLOG3-CGAMUT_to_ACES2065-1"}
- !<ColorSpace>
name: Panasonic V-Log / V-Gamut
family:
description: |
Panasonic Varicam V-Log V-Gamut
isdata: false
categories: [ file-io ]
encoding: log
to_scene_reference: !<BuiltinTransform> {style: "PANASONIC_VLOG-VGAMUT_to_ACES2065-1"}
- !<ColorSpace>
name: RED REDLogFilm / REDWideGamutRGB
family:
description: |
RED LogFilm / RED Wide Gamut
isdata: false
categories: [ file-io ]
encoding: log
to_scene_reference: !<BuiltinTransform> {style: "RED_REDLOGFILM-RWG_to_ACES2065-1"}
- !<ColorSpace>
name: RED Log3G10 / REDWideGamutRGB
family:
description: |
RED Log3G10 / REDWideGamutRGB
isdata: false
categories: [ file-io ]
encoding: log
to_scene_reference: !<BuiltinTransform> {style: "RED_LOG3G10-RWG_to_ACES2065-1"}
- !<ColorSpace>
name: Sony SLog3 / SGamut3
family:
description: |
Sony SLog3 / SGamut3
isdata: false
categories: [ file-io ]
encoding: log
to_scene_reference: !<BuiltinTransform> {style: "SONY_SLOG3-SGAMUT3_to_ACES2065-1"}
- !<ColorSpace>
name: Sony SLog3 / SGamut3.Cine
family:
description: |
Sony SLog3 / SGamut3.Cine
isdata: false
categories: [ file-io ]
encoding: log
to_scene_reference: !<BuiltinTransform> {style: "SONY_SLOG3-SGAMUT3.CINE_to_ACES2065-1"}
- !<ColorSpace>
name: Sony SLog3 / SGamut3 (Venice)
family:
description: |
Sony SLog3 / SGamut3 for the Venice camera
isdata: false
categories: [ file-io ]
encoding: log
to_scene_reference: !<BuiltinTransform> {style: "SONY_SLOG3-SGAMUT3-VENICE_to_ACES2065-1"}
- !<ColorSpace>
name: Sony SLog3 / SGamut3.Cine (Venice)
family:
description: |
Sony SLog3 / SGamut3.Cine for the Venice camera
isdata: false
categories: [ file-io ]
encoding: log
to_scene_reference: !<BuiltinTransform> {style: "SONY_SLOG3-SGAMUT3.CINE-VENICE_to_ACES2065-1"}
- !<ColorSpace>
name: Log film scan (ADX10)
family:
description: |
ADX10 Academy Density Exchange (printing density)
isdata: false
categories: [ file-io ]
encoding: log
to_scene_reference: !<BuiltinTransform> {style: "ADX10_to_ACES2065-1"}
- !<ColorSpace>
name: Log film scan (ADX16)
family:
description: |
ADX16 Academy Density Exchange (printing density)
isdata: false
categories: [ file-io ]
encoding: log
to_scene_reference: !<BuiltinTransform> {style: "ADX16_to_ACES2065-1"}
# -*- coding: utf-8 -*-
import os
import sys
sys.path.insert(0, "/Users/remi/ColorCode/OpenColorIO/build/myinstall/lib/python3.9/site-packages")
import colour
import numpy as np
import PyOpenColorIO as OCIO
import subprocess
def generate_test_images(samples=16):
RGB = np.array([
# ALEXA Wide Gamut
[ 0.96663408, 0.04819045, 0.007193 ],
[ 0.11554181, 1.18493814, -0.0665935 ],
[-0.08217583, -0.23312863, 1.05940073],
# BMD Wide Gamut V4
[ 0.92988223, 0.03024877, -0.02236726],
[ 0.12427823, 1.19236958, -0.0801014 ],
[-0.05416045, -0.22261835, 1.10246866],
# Cinema Gamut
[ 1.10869873, -0.05317572, -0.00306262],
[ 0.00142396, 1.3123991 , -0.22332298],
[-0.11012268, -0.25922338, 1.2263856 ],
# REDWideGamutRGB
[ 1.14983724, -0.02548932, -0.06720325],
[-0.06796986, 1.30455482, -0.31973675],
[-0.08186897, -0.27906488, 1.38694022],
# S-Gamut3
[ 1.08979822, -0.03117187, -0.00326358],
[-0.03276505, 1.18293669, -0.00156985],
[-0.05703317, -0.15176482, 1.00483344],
# Venice S-Gamut3
[ 1.15183946, -0.04052512, -0.01231821],
[-0.11769985, 1.20661478, 0.00725126],
[-0.03413961, -0.16608966, 1.00506695],
# V-Gamut
[ 1.04839741, -0.02998665, -0.00313943],
[ 0.01196121, 1.14840383, -0.00963746],
[-0.06036022, -0.11841656, 1.01277711],
# CC24 hue selective patch
[ 0.13911969, 0.08746966, 0.05927772],
[ 0.45410454, 0.32112335, 0.23821925],
[ 0.15262818, 0.19457373, 0.31270094],
[ 0.11231112, 0.14410331, 0.06487322],
[ 0.2411364 , 0.2281726 , 0.40912009],
[ 0.27200737, 0.47832396, 0.40502991],
[ 0.49412209, 0.23219806, 0.05947656],
[ 0.09734666, 0.10917003, 0.33662333],
[ 0.37841816, 0.12591768, 0.12897071],
[ 0.09104857, 0.05404697, 0.13533248],
[ 0.38014721, 0.47619381, 0.10615457],
[ 0.60210844, 0.38621775, 0.08225913],
[ 0.05051657, 0.05367649, 0.27239431],
[ 0.14276765, 0.28139208, 0.09023085],
[ 0.28782479, 0.06140174, 0.05256445],
[ 0.70791153, 0.58026154, 0.09300659],
[ 0.35456033, 0.12329842, 0.27530981],
[ 0.08374431, 0.22774917, 0.35839818],
# OCIO BuiltIn Tests
[ 0.5 , 0.4 , 0.3 ],
])
RGB = colour.RGB_to_RGB(RGB, colour.models.RGB_COLOURSPACE_ACESCG, colour.models.RGB_COLOURSPACE_ACES2065_1)
RGB = RGB[np.newaxis, :].astype(np.float32)
name_template = 'Gamut_Compress_{0}.exr'
colour.write_image(RGB, name_template.format('Reference'), bit_depth='float32')
# Write ctlrender version
subprocess.check_call(
[
'ctlrender',
'-force',
'-ctl', '/Users/remi/ColorCode/aces-dev/transforms/ctl/lmt/LMT.Academy.GamutCompress.ctl',
'-ctl', '/Users/remi/ColorCode/aces-dev/transforms/ctl/rrt/RRT.ctl',
'-ctl', '/Users/remi/ColorCode/aces-dev/transforms/ctl/odt/rec709/ODT.Academy.Rec709_100nits_dim.ctl',
name_template.format('Reference'),
name_template.format('CTLRender'),
'-format', 'exr32'
],
env=os.environ.update({'CTL_MODULE_PATH': '/Users/remi/ColorCode/aces-dev/transforms/ctl/lib'})
)
# Write ocio v2 config version
config_path = "/Users/remi/ColorConfig/aces_config.ocio"
config = OCIO.Config.CreateFromFile(config_path)
config.validate()
processor = config.getProcessor(
"ACES2065-1",
"Rec.1886 / Rec.709 video",
"ACES 1.0 SDR-video",
OCIO.TRANSFORM_DIR_FORWARD
).getDefaultCPUProcessor()
processor.applyRGB(RGB)
colour.write_image(RGB, name_template.format('OCIOv2'), bit_depth='float32')
# Read and compare
RGB_In = colour.read_image(name_template.format('Reference'))[...,:3]
RGB_CTL = colour.read_image(name_template.format('CTLRender'))[...,:3]
RGB_OCIO = colour.read_image(name_template.format('OCIOv2'))[...,:3]
np.set_printoptions(precision=11, floatmode='fixed')
np.testing.assert_allclose(RGB_CTL, RGB_OCIO, rtol=1e-05)
if __name__ == '__main__':
generate_test_images()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment