From e7d6aa67a72cc46477f3d696712329f94a356e4c Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Thu, 28 Nov 2024 22:15:27 +1300 Subject: [PATCH] Add the *Color Interop Forum* (CIF) recommendation *RGB* colourspaces. Closes #1312. --- README.rst | 28 +- colour/models/__init__.py | 87 +++-- colour/models/rgb/__init__.py | 88 ++++-- colour/models/rgb/datasets/__init__.py | 32 ++ colour/models/rgb/datasets/aces.py | 16 + .../rgb/datasets/color_interop_forum.py | 299 ++++++++++++++++++ docs/colour.models.rst | 43 ++- docs/index.rst | 28 +- 8 files changed, 542 insertions(+), 79 deletions(-) create mode 100644 colour/models/rgb/datasets/color_interop_forum.py diff --git a/README.rst b/README.rst index 8d1e8bbcb..8e09aa4e5 100644 --- a/README.rst +++ b/README.rst @@ -1356,6 +1356,7 @@ RGB Colourspaces 'Beta RGB', 'Blackmagic Wide Gamut', 'CIE RGB', + 'CIE XYZ-D65 - Scene-referred', 'Cinema Gamut', 'ColorMatch RGB', 'DCDM XYZ', @@ -1373,12 +1374,20 @@ RGB Colourspaces 'Ekta Space PS 5', 'F-Gamut', 'FilmLight E-Gamut', + 'Gamma 1.8 Encoded Rec.709', + 'Gamma 2.2 Encoded AP1', + 'Gamma 2.2 Encoded AdobeRGB', + 'Gamma 2.2 Encoded Rec.709', 'ITU-R BT.2020', 'ITU-R BT.470 - 525', 'ITU-R BT.470 - 625', 'ITU-R BT.709', 'ITU-T H.273 - 22 Unspecified', 'ITU-T H.273 - Generic Film', + 'Linear AdobeRGB', + 'Linear P3-D65', + 'Linear Rec.2020', + 'Linear Rec.709 (sRGB)', 'Max RGB', 'N-Gamut', 'NTSC (1953)', @@ -1408,8 +1417,25 @@ RGB Colourspaces 'Xtreme RGB', 'aces', 'adobe1998', + 'g18_rec709_scene', + 'g22_adobergb_scene', + 'g22_ap1_scene', + 'g22_rec709_scene', + 'lin_adobergb_scene', + 'lin_ap0_scene', + 'lin_ap1_scene', + 'lin_ciexyzd65_scene', + 'lin_p3d65_scene', + 'lin_rec2020_scene', + 'lin_rec709_scene', 'prophoto', - 'sRGB'] + 'sRGB', + 'sRGB Encoded AP1', + 'sRGB Encoded P3-D65', + 'sRGB Encoded Rec.709 (sRGB)', + 'srgb_ap1_scene', + 'srgb_p3d65_scene', + 'srgb_rec709_scene'] OETFs ***** diff --git a/colour/models/__init__.py b/colour/models/__init__.py index 1131fc927..60ff74c2c 100644 --- a/colour/models/__init__.py +++ b/colour/models/__init__.py @@ -269,23 +269,24 @@ ) from .rgb import ( RGB_COLOURSPACES, + RGB_COLOURSPACES_TEXTURE_ASSETS_AND_CG_RENDERING_CIF, RGB_COLOURSPACE_ACES2065_1, RGB_COLOURSPACE_ACESCC, RGB_COLOURSPACE_ACESCCT, - RGB_COLOURSPACE_ACESPROXY, RGB_COLOURSPACE_ACESCG, + RGB_COLOURSPACE_ACESPROXY, RGB_COLOURSPACE_ADOBE_RGB1998, RGB_COLOURSPACE_ADOBE_WIDE_GAMUT_RGB, + RGB_COLOURSPACE_APPLE_RGB, RGB_COLOURSPACE_ARRI_WIDE_GAMUT_3, RGB_COLOURSPACE_ARRI_WIDE_GAMUT_4, - RGB_COLOURSPACE_APPLE_RGB, RGB_COLOURSPACE_BEST_RGB, RGB_COLOURSPACE_BETA_RGB, RGB_COLOURSPACE_BLACKMAGIC_WIDE_GAMUT, + RGB_COLOURSPACE_BT2020, RGB_COLOURSPACE_BT470_525, RGB_COLOURSPACE_BT470_625, RGB_COLOURSPACE_BT709, - RGB_COLOURSPACE_BT2020, RGB_COLOURSPACE_CIE_RGB, RGB_COLOURSPACE_CINEMA_GAMUT, RGB_COLOURSPACE_COLOR_MATCH_RGB, @@ -296,44 +297,56 @@ RGB_COLOURSPACE_DISPLAY_P3, RGB_COLOURSPACE_DJI_D_GAMUT, RGB_COLOURSPACE_DON_RGB_4, + RGB_COLOURSPACE_DRAGON_COLOR, + RGB_COLOURSPACE_DRAGON_COLOR_2, RGB_COLOURSPACE_EBU_3213_E, RGB_COLOURSPACE_ECI_RGB_V2, RGB_COLOURSPACE_EKTA_SPACE_PS_5, + RGB_COLOURSPACE_ERIMM_RGB, RGB_COLOURSPACE_FILMLIGHT_E_GAMUT, - RGB_COLOURSPACE_H273_GENERIC_FILM, + RGB_COLOURSPACE_F_GAMUT, + RGB_COLOURSPACE_G18_REC709_SCENE, + RGB_COLOURSPACE_G22_ADOBERGB_SCENE, + RGB_COLOURSPACE_G22_AP1_SCENE, + RGB_COLOURSPACE_G22_REC709_SCENE, RGB_COLOURSPACE_H273_22_UNSPECIFIED, - RGB_COLOURSPACE_PROTUNE_NATIVE, + RGB_COLOURSPACE_H273_GENERIC_FILM, + RGB_COLOURSPACE_LIN_ADOBERGB_SCENE, + RGB_COLOURSPACE_LIN_CIEXYZD65_SCENE, + RGB_COLOURSPACE_LIN_P3D65_SCENE, + RGB_COLOURSPACE_LIN_REC2020_SCENE, + RGB_COLOURSPACE_LIN_REC709_SCENE, RGB_COLOURSPACE_MAX_RGB, + RGB_COLOURSPACE_NTSC1953, + RGB_COLOURSPACE_NTSC1987, RGB_COLOURSPACE_N_GAMUT, RGB_COLOURSPACE_P3_D65, RGB_COLOURSPACE_PAL_SECAM, + RGB_COLOURSPACE_PLASA_ANSI_E154, + RGB_COLOURSPACE_PROPHOTO_RGB, + RGB_COLOURSPACE_PROTUNE_NATIVE, RGB_COLOURSPACE_RED_COLOR, RGB_COLOURSPACE_RED_COLOR_2, RGB_COLOURSPACE_RED_COLOR_3, RGB_COLOURSPACE_RED_COLOR_4, - RGB_COLOURSPACE_DRAGON_COLOR, - RGB_COLOURSPACE_DRAGON_COLOR_2, RGB_COLOURSPACE_RED_WIDE_GAMUT_RGB, - RGB_COLOURSPACE_ROMM_RGB, RGB_COLOURSPACE_RIMM_RGB, - RGB_COLOURSPACE_ERIMM_RGB, - RGB_COLOURSPACE_PROPHOTO_RGB, - RGB_COLOURSPACE_PLASA_ANSI_E154, + RGB_COLOURSPACE_ROMM_RGB, RGB_COLOURSPACE_RUSSELL_RGB, RGB_COLOURSPACE_SHARP_RGB, RGB_COLOURSPACE_SMPTE_240M, RGB_COLOURSPACE_SMPTE_C, - RGB_COLOURSPACE_NTSC1953, - RGB_COLOURSPACE_NTSC1987, + RGB_COLOURSPACE_SRGB_AP1_SCENE, + RGB_COLOURSPACE_SRGB_P3D65_SCENE, + RGB_COLOURSPACE_SRGB_REC709_SCENE, RGB_COLOURSPACE_S_GAMUT, RGB_COLOURSPACE_S_GAMUT3, RGB_COLOURSPACE_S_GAMUT3_CINE, RGB_COLOURSPACE_VENICE_S_GAMUT3, RGB_COLOURSPACE_VENICE_S_GAMUT3_CINE, - RGB_COLOURSPACE_sRGB, RGB_COLOURSPACE_V_GAMUT, RGB_COLOURSPACE_XTREME_RGB, - RGB_COLOURSPACE_F_GAMUT, + RGB_COLOURSPACE_sRGB, ) from .rgb import XYZ_to_sRGB, sRGB_to_XYZ @@ -799,23 +812,24 @@ ] __all__ += [ "RGB_COLOURSPACES", + "RGB_COLOURSPACES_TEXTURE_ASSETS_AND_CG_RENDERING_CIF", "RGB_COLOURSPACE_ACES2065_1", "RGB_COLOURSPACE_ACESCC", "RGB_COLOURSPACE_ACESCCT", - "RGB_COLOURSPACE_ACESPROXY", "RGB_COLOURSPACE_ACESCG", + "RGB_COLOURSPACE_ACESPROXY", "RGB_COLOURSPACE_ADOBE_RGB1998", "RGB_COLOURSPACE_ADOBE_WIDE_GAMUT_RGB", + "RGB_COLOURSPACE_APPLE_RGB", "RGB_COLOURSPACE_ARRI_WIDE_GAMUT_3", "RGB_COLOURSPACE_ARRI_WIDE_GAMUT_4", - "RGB_COLOURSPACE_APPLE_RGB", "RGB_COLOURSPACE_BEST_RGB", "RGB_COLOURSPACE_BETA_RGB", "RGB_COLOURSPACE_BLACKMAGIC_WIDE_GAMUT", + "RGB_COLOURSPACE_BT2020", "RGB_COLOURSPACE_BT470_525", "RGB_COLOURSPACE_BT470_625", "RGB_COLOURSPACE_BT709", - "RGB_COLOURSPACE_BT2020", "RGB_COLOURSPACE_CIE_RGB", "RGB_COLOURSPACE_CINEMA_GAMUT", "RGB_COLOURSPACE_COLOR_MATCH_RGB", @@ -826,46 +840,57 @@ "RGB_COLOURSPACE_DISPLAY_P3", "RGB_COLOURSPACE_DJI_D_GAMUT", "RGB_COLOURSPACE_DON_RGB_4", + "RGB_COLOURSPACE_DRAGON_COLOR", + "RGB_COLOURSPACE_DRAGON_COLOR_2", "RGB_COLOURSPACE_EBU_3213_E", "RGB_COLOURSPACE_ECI_RGB_V2", "RGB_COLOURSPACE_EKTA_SPACE_PS_5", + "RGB_COLOURSPACE_ERIMM_RGB", "RGB_COLOURSPACE_FILMLIGHT_E_GAMUT", - "RGB_COLOURSPACE_H273_GENERIC_FILM", + "RGB_COLOURSPACE_F_GAMUT", + "RGB_COLOURSPACE_G18_REC709_SCENE", + "RGB_COLOURSPACE_G22_ADOBERGB_SCENE", + "RGB_COLOURSPACE_G22_AP1_SCENE", + "RGB_COLOURSPACE_G22_REC709_SCENE", "RGB_COLOURSPACE_H273_22_UNSPECIFIED", - "RGB_COLOURSPACE_PROTUNE_NATIVE", + "RGB_COLOURSPACE_H273_GENERIC_FILM", + "RGB_COLOURSPACE_LIN_ADOBERGB_SCENE", + "RGB_COLOURSPACE_LIN_CIEXYZD65_SCENE", + "RGB_COLOURSPACE_LIN_P3D65_SCENE", + "RGB_COLOURSPACE_LIN_REC2020_SCENE", + "RGB_COLOURSPACE_LIN_REC709_SCENE", "RGB_COLOURSPACE_MAX_RGB", + "RGB_COLOURSPACE_NTSC1953", + "RGB_COLOURSPACE_NTSC1987", "RGB_COLOURSPACE_N_GAMUT", "RGB_COLOURSPACE_P3_D65", "RGB_COLOURSPACE_PAL_SECAM", + "RGB_COLOURSPACE_PLASA_ANSI_E154", + "RGB_COLOURSPACE_PROPHOTO_RGB", + "RGB_COLOURSPACE_PROTUNE_NATIVE", "RGB_COLOURSPACE_RED_COLOR", "RGB_COLOURSPACE_RED_COLOR_2", "RGB_COLOURSPACE_RED_COLOR_3", "RGB_COLOURSPACE_RED_COLOR_4", - "RGB_COLOURSPACE_DRAGON_COLOR", - "RGB_COLOURSPACE_DRAGON_COLOR_2", "RGB_COLOURSPACE_RED_WIDE_GAMUT_RGB", - "RGB_COLOURSPACE_ROMM_RGB", "RGB_COLOURSPACE_RIMM_RGB", - "RGB_COLOURSPACE_ERIMM_RGB", - "RGB_COLOURSPACE_PROPHOTO_RGB", - "RGB_COLOURSPACE_PLASA_ANSI_E154", + "RGB_COLOURSPACE_ROMM_RGB", "RGB_COLOURSPACE_RUSSELL_RGB", "RGB_COLOURSPACE_SHARP_RGB", "RGB_COLOURSPACE_SMPTE_240M", "RGB_COLOURSPACE_SMPTE_C", - "RGB_COLOURSPACE_NTSC1953", - "RGB_COLOURSPACE_NTSC1987", + "RGB_COLOURSPACE_SRGB_AP1_SCENE", + "RGB_COLOURSPACE_SRGB_P3D65_SCENE", + "RGB_COLOURSPACE_SRGB_REC709_SCENE", "RGB_COLOURSPACE_S_GAMUT", "RGB_COLOURSPACE_S_GAMUT3", "RGB_COLOURSPACE_S_GAMUT3_CINE", "RGB_COLOURSPACE_VENICE_S_GAMUT3", "RGB_COLOURSPACE_VENICE_S_GAMUT3_CINE", - "RGB_COLOURSPACE_sRGB", "RGB_COLOURSPACE_V_GAMUT", "RGB_COLOURSPACE_XTREME_RGB", - "RGB_COLOURSPACE_F_GAMUT", + "RGB_COLOURSPACE_sRGB", ] - __all__ += ["XYZ_to_sRGB", "sRGB_to_XYZ"] __all__ += [ "RGB_to_HSV", diff --git a/colour/models/rgb/__init__.py b/colour/models/rgb/__init__.py index 37ed9d1e4..12515afda 100644 --- a/colour/models/rgb/__init__.py +++ b/colour/models/rgb/__init__.py @@ -164,23 +164,24 @@ ) from .datasets import ( RGB_COLOURSPACES, + RGB_COLOURSPACES_TEXTURE_ASSETS_AND_CG_RENDERING_CIF, RGB_COLOURSPACE_ACES2065_1, RGB_COLOURSPACE_ACESCC, RGB_COLOURSPACE_ACESCCT, - RGB_COLOURSPACE_ACESPROXY, RGB_COLOURSPACE_ACESCG, + RGB_COLOURSPACE_ACESPROXY, RGB_COLOURSPACE_ADOBE_RGB1998, RGB_COLOURSPACE_ADOBE_WIDE_GAMUT_RGB, + RGB_COLOURSPACE_APPLE_RGB, RGB_COLOURSPACE_ARRI_WIDE_GAMUT_3, RGB_COLOURSPACE_ARRI_WIDE_GAMUT_4, - RGB_COLOURSPACE_APPLE_RGB, RGB_COLOURSPACE_BEST_RGB, RGB_COLOURSPACE_BETA_RGB, RGB_COLOURSPACE_BLACKMAGIC_WIDE_GAMUT, + RGB_COLOURSPACE_BT2020, RGB_COLOURSPACE_BT470_525, RGB_COLOURSPACE_BT470_625, RGB_COLOURSPACE_BT709, - RGB_COLOURSPACE_BT2020, RGB_COLOURSPACE_CIE_RGB, RGB_COLOURSPACE_CINEMA_GAMUT, RGB_COLOURSPACE_COLOR_MATCH_RGB, @@ -191,44 +192,56 @@ RGB_COLOURSPACE_DISPLAY_P3, RGB_COLOURSPACE_DJI_D_GAMUT, RGB_COLOURSPACE_DON_RGB_4, + RGB_COLOURSPACE_DRAGON_COLOR, + RGB_COLOURSPACE_DRAGON_COLOR_2, RGB_COLOURSPACE_EBU_3213_E, RGB_COLOURSPACE_ECI_RGB_V2, RGB_COLOURSPACE_EKTA_SPACE_PS_5, + RGB_COLOURSPACE_ERIMM_RGB, RGB_COLOURSPACE_FILMLIGHT_E_GAMUT, - RGB_COLOURSPACE_H273_GENERIC_FILM, + RGB_COLOURSPACE_F_GAMUT, + RGB_COLOURSPACE_G18_REC709_SCENE, + RGB_COLOURSPACE_G22_ADOBERGB_SCENE, + RGB_COLOURSPACE_G22_AP1_SCENE, + RGB_COLOURSPACE_G22_REC709_SCENE, RGB_COLOURSPACE_H273_22_UNSPECIFIED, - RGB_COLOURSPACE_PROTUNE_NATIVE, + RGB_COLOURSPACE_H273_GENERIC_FILM, + RGB_COLOURSPACE_LIN_ADOBERGB_SCENE, + RGB_COLOURSPACE_LIN_CIEXYZD65_SCENE, + RGB_COLOURSPACE_LIN_P3D65_SCENE, + RGB_COLOURSPACE_LIN_REC2020_SCENE, + RGB_COLOURSPACE_LIN_REC709_SCENE, RGB_COLOURSPACE_MAX_RGB, + RGB_COLOURSPACE_NTSC1953, + RGB_COLOURSPACE_NTSC1987, RGB_COLOURSPACE_N_GAMUT, RGB_COLOURSPACE_P3_D65, RGB_COLOURSPACE_PAL_SECAM, + RGB_COLOURSPACE_PLASA_ANSI_E154, + RGB_COLOURSPACE_PROPHOTO_RGB, + RGB_COLOURSPACE_PROTUNE_NATIVE, RGB_COLOURSPACE_RED_COLOR, RGB_COLOURSPACE_RED_COLOR_2, RGB_COLOURSPACE_RED_COLOR_3, RGB_COLOURSPACE_RED_COLOR_4, - RGB_COLOURSPACE_DRAGON_COLOR, - RGB_COLOURSPACE_DRAGON_COLOR_2, RGB_COLOURSPACE_RED_WIDE_GAMUT_RGB, - RGB_COLOURSPACE_ROMM_RGB, RGB_COLOURSPACE_RIMM_RGB, - RGB_COLOURSPACE_ERIMM_RGB, - RGB_COLOURSPACE_PROPHOTO_RGB, - RGB_COLOURSPACE_PLASA_ANSI_E154, + RGB_COLOURSPACE_ROMM_RGB, RGB_COLOURSPACE_RUSSELL_RGB, RGB_COLOURSPACE_SHARP_RGB, RGB_COLOURSPACE_SMPTE_240M, RGB_COLOURSPACE_SMPTE_C, - RGB_COLOURSPACE_NTSC1953, - RGB_COLOURSPACE_NTSC1987, + RGB_COLOURSPACE_SRGB_AP1_SCENE, + RGB_COLOURSPACE_SRGB_P3D65_SCENE, + RGB_COLOURSPACE_SRGB_REC709_SCENE, RGB_COLOURSPACE_S_GAMUT, RGB_COLOURSPACE_S_GAMUT3, RGB_COLOURSPACE_S_GAMUT3_CINE, RGB_COLOURSPACE_VENICE_S_GAMUT3, RGB_COLOURSPACE_VENICE_S_GAMUT3_CINE, - RGB_COLOURSPACE_sRGB, RGB_COLOURSPACE_V_GAMUT, RGB_COLOURSPACE_XTREME_RGB, - RGB_COLOURSPACE_F_GAMUT, + RGB_COLOURSPACE_sRGB, ) from .common import XYZ_to_sRGB, sRGB_to_XYZ @@ -437,23 +450,24 @@ ] __all__ += [ "RGB_COLOURSPACES", + "RGB_COLOURSPACES_TEXTURE_ASSETS_AND_CG_RENDERING_CIF", "RGB_COLOURSPACE_ACES2065_1", "RGB_COLOURSPACE_ACESCC", "RGB_COLOURSPACE_ACESCCT", - "RGB_COLOURSPACE_ACESPROXY", "RGB_COLOURSPACE_ACESCG", + "RGB_COLOURSPACE_ACESPROXY", "RGB_COLOURSPACE_ADOBE_RGB1998", "RGB_COLOURSPACE_ADOBE_WIDE_GAMUT_RGB", + "RGB_COLOURSPACE_APPLE_RGB", "RGB_COLOURSPACE_ARRI_WIDE_GAMUT_3", "RGB_COLOURSPACE_ARRI_WIDE_GAMUT_4", - "RGB_COLOURSPACE_APPLE_RGB", "RGB_COLOURSPACE_BEST_RGB", "RGB_COLOURSPACE_BETA_RGB", "RGB_COLOURSPACE_BLACKMAGIC_WIDE_GAMUT", + "RGB_COLOURSPACE_BT2020", "RGB_COLOURSPACE_BT470_525", "RGB_COLOURSPACE_BT470_625", "RGB_COLOURSPACE_BT709", - "RGB_COLOURSPACE_BT2020", "RGB_COLOURSPACE_CIE_RGB", "RGB_COLOURSPACE_CINEMA_GAMUT", "RGB_COLOURSPACE_COLOR_MATCH_RGB", @@ -464,44 +478,56 @@ "RGB_COLOURSPACE_DISPLAY_P3", "RGB_COLOURSPACE_DJI_D_GAMUT", "RGB_COLOURSPACE_DON_RGB_4", - "RGB_COLOURSPACE_ECI_RGB_V2", + "RGB_COLOURSPACE_DRAGON_COLOR", + "RGB_COLOURSPACE_DRAGON_COLOR_2", "RGB_COLOURSPACE_EBU_3213_E", + "RGB_COLOURSPACE_ECI_RGB_V2", "RGB_COLOURSPACE_EKTA_SPACE_PS_5", + "RGB_COLOURSPACE_ERIMM_RGB", "RGB_COLOURSPACE_FILMLIGHT_E_GAMUT", - "RGB_COLOURSPACE_H273_GENERIC_FILM", + "RGB_COLOURSPACE_F_GAMUT", + "RGB_COLOURSPACE_G18_REC709_SCENE", + "RGB_COLOURSPACE_G22_ADOBERGB_SCENE", + "RGB_COLOURSPACE_G22_AP1_SCENE", + "RGB_COLOURSPACE_G22_REC709_SCENE", "RGB_COLOURSPACE_H273_22_UNSPECIFIED", - "RGB_COLOURSPACE_PROTUNE_NATIVE", + "RGB_COLOURSPACE_H273_GENERIC_FILM", + "RGB_COLOURSPACE_LIN_ADOBERGB_SCENE", + "RGB_COLOURSPACE_LIN_CIEXYZD65_SCENE", + "RGB_COLOURSPACE_LIN_P3D65_SCENE", + "RGB_COLOURSPACE_LIN_REC2020_SCENE", + "RGB_COLOURSPACE_LIN_REC709_SCENE", "RGB_COLOURSPACE_MAX_RGB", + "RGB_COLOURSPACE_NTSC1953", + "RGB_COLOURSPACE_NTSC1987", "RGB_COLOURSPACE_N_GAMUT", "RGB_COLOURSPACE_P3_D65", "RGB_COLOURSPACE_PAL_SECAM", + "RGB_COLOURSPACE_PLASA_ANSI_E154", + "RGB_COLOURSPACE_PROPHOTO_RGB", + "RGB_COLOURSPACE_PROTUNE_NATIVE", "RGB_COLOURSPACE_RED_COLOR", "RGB_COLOURSPACE_RED_COLOR_2", "RGB_COLOURSPACE_RED_COLOR_3", "RGB_COLOURSPACE_RED_COLOR_4", - "RGB_COLOURSPACE_DRAGON_COLOR", - "RGB_COLOURSPACE_DRAGON_COLOR_2", "RGB_COLOURSPACE_RED_WIDE_GAMUT_RGB", - "RGB_COLOURSPACE_ROMM_RGB", "RGB_COLOURSPACE_RIMM_RGB", - "RGB_COLOURSPACE_ERIMM_RGB", - "RGB_COLOURSPACE_PROPHOTO_RGB", - "RGB_COLOURSPACE_PLASA_ANSI_E154", + "RGB_COLOURSPACE_ROMM_RGB", "RGB_COLOURSPACE_RUSSELL_RGB", "RGB_COLOURSPACE_SHARP_RGB", "RGB_COLOURSPACE_SMPTE_240M", "RGB_COLOURSPACE_SMPTE_C", - "RGB_COLOURSPACE_NTSC1953", - "RGB_COLOURSPACE_NTSC1987", + "RGB_COLOURSPACE_SRGB_AP1_SCENE", + "RGB_COLOURSPACE_SRGB_P3D65_SCENE", + "RGB_COLOURSPACE_SRGB_REC709_SCENE", "RGB_COLOURSPACE_S_GAMUT", "RGB_COLOURSPACE_S_GAMUT3", "RGB_COLOURSPACE_S_GAMUT3_CINE", "RGB_COLOURSPACE_VENICE_S_GAMUT3", "RGB_COLOURSPACE_VENICE_S_GAMUT3_CINE", - "RGB_COLOURSPACE_sRGB", "RGB_COLOURSPACE_V_GAMUT", "RGB_COLOURSPACE_XTREME_RGB", - "RGB_COLOURSPACE_F_GAMUT", + "RGB_COLOURSPACE_sRGB", ] __all__ += [ "XYZ_to_sRGB", diff --git a/colour/models/rgb/datasets/__init__.py b/colour/models/rgb/datasets/__init__.py index 61a180e25..53fceb6c4 100644 --- a/colour/models/rgb/datasets/__init__.py +++ b/colour/models/rgb/datasets/__init__.py @@ -75,6 +75,21 @@ from .srgb import RGB_COLOURSPACE_sRGB from .panasonic_v_gamut import RGB_COLOURSPACE_V_GAMUT from .xtreme_rgb import RGB_COLOURSPACE_XTREME_RGB +from .color_interop_forum import ( + RGB_COLOURSPACE_LIN_REC709_SCENE, + RGB_COLOURSPACE_LIN_P3D65_SCENE, + RGB_COLOURSPACE_LIN_REC2020_SCENE, + RGB_COLOURSPACE_LIN_ADOBERGB_SCENE, + RGB_COLOURSPACE_LIN_CIEXYZD65_SCENE, + RGB_COLOURSPACE_SRGB_REC709_SCENE, + RGB_COLOURSPACE_G22_REC709_SCENE, + RGB_COLOURSPACE_G18_REC709_SCENE, + RGB_COLOURSPACE_SRGB_AP1_SCENE, + RGB_COLOURSPACE_G22_AP1_SCENE, + RGB_COLOURSPACE_SRGB_P3D65_SCENE, + RGB_COLOURSPACE_G22_ADOBERGB_SCENE, + RGB_COLOURSPACES_TEXTURE_ASSETS_AND_CG_RENDERING_CIF, +) from colour.models.rgb import RGB_Colourspace @@ -101,6 +116,8 @@ RGB_COLOURSPACES["adobe1998"] = RGB_COLOURSPACES[RGB_COLOURSPACE_ADOBE_RGB1998.name] RGB_COLOURSPACES["prophoto"] = RGB_COLOURSPACES[RGB_COLOURSPACE_PROPHOTO_RGB.name] +RGB_COLOURSPACES.update(RGB_COLOURSPACES_TEXTURE_ASSETS_AND_CG_RENDERING_CIF) + __all__ = [ "RGB_COLOURSPACES", ] @@ -171,3 +188,18 @@ "RGB_COLOURSPACE_XTREME_RGB", "RGB_COLOURSPACE_F_GAMUT", ] +__all__ += [ + "RGB_COLOURSPACE_LIN_REC709_SCENE", + "RGB_COLOURSPACE_LIN_P3D65_SCENE", + "RGB_COLOURSPACE_LIN_REC2020_SCENE", + "RGB_COLOURSPACE_LIN_ADOBERGB_SCENE", + "RGB_COLOURSPACE_LIN_CIEXYZD65_SCENE", + "RGB_COLOURSPACE_SRGB_REC709_SCENE", + "RGB_COLOURSPACE_G22_REC709_SCENE", + "RGB_COLOURSPACE_G18_REC709_SCENE", + "RGB_COLOURSPACE_SRGB_AP1_SCENE", + "RGB_COLOURSPACE_G22_AP1_SCENE", + "RGB_COLOURSPACE_SRGB_P3D65_SCENE", + "RGB_COLOURSPACE_G22_ADOBERGB_SCENE", + "RGB_COLOURSPACES_TEXTURE_ASSETS_AND_CG_RENDERING_CIF", +] diff --git a/colour/models/rgb/datasets/aces.py b/colour/models/rgb/datasets/aces.py index c030e5e93..0653fb869 100644 --- a/colour/models/rgb/datasets/aces.py +++ b/colour/models/rgb/datasets/aces.py @@ -12,6 +12,9 @@ References ---------- +- :cite:`ASWFColorInteropForum2024` : ASWF Color Interop Forum. (2024). Color + Space Encodings for Texture Assets and CG Rendering. + https://docs.google.com/document/d/1IV3e_9gpTOS_EFYRv2YGDuhExa4wTaPYHW1HyV36qUU - :cite:`TheAcademyofMotionPictureArtsandSciences2014q` : The Academy of Motion Picture Arts and Sciences, Science and Technology Council, & Academy Color Encoding System (ACES) Project Subcommittee. (2014). Technical @@ -159,8 +162,16 @@ *ACES2065-1* colourspace, base encoding, used for exchange of full fidelity images and archiving. +The *ACES2065-1* colourspace encoding has a very wide gamut that allows all +colours to be represented with only positive values. It is the reference space +of the *Academy Color Encoding System* (ACES). It is thoroughly documented in +*SMPTE standard ST 2065-1*. It is a bit too wide a gamut to use as a rendering +space, but it is an excellent space for storing textures in *OpenEXR* files, as +documented in SMPTE ST 2065-4. + References ---------- +:cite:`ASWFColorInteropForum2024` :cite:`TheAcademyofMotionPictureArtsandSciences2014q`, :cite:`TheAcademyofMotionPictureArtsandSciences2014r`, :cite:`TheAcademyofMotionPictureArtsandSciencese` @@ -180,8 +191,13 @@ *ACEScg* colourspace, a working space for paint/compositor applications that don't support ACES2065-1 or ACEScc. +The ACEScg colourspace encoding has a wide gamut that has been shown to work +well as the computational space for computer graphics rendering. It is thoroughly +documented on the ACES website. + References ---------- +:cite:`ASWFColorInteropForum2024` :cite:`TheAcademyofMotionPictureArtsandSciences2014q`, :cite:`TheAcademyofMotionPictureArtsandSciences2014r`, :cite:`TheAcademyofMotionPictureArtsandSciences2015b`, diff --git a/colour/models/rgb/datasets/color_interop_forum.py b/colour/models/rgb/datasets/color_interop_forum.py new file mode 100644 index 000000000..c2c5df9be --- /dev/null +++ b/colour/models/rgb/datasets/color_interop_forum.py @@ -0,0 +1,299 @@ +""" +Color Interop Forum - Recommendation +==================================== + +Define the *Color Interop Forum* (CIF) recommendation *RGB* colourspaces: + +- :attr:`colour.models.RGB_COLOURSPACE_LIN_REC709_SCENE` +- :attr:`colour.models.RGB_COLOURSPACE_LIN_P3D65_SCENE` +- :attr:`colour.models.RGB_COLOURSPACE_LIN_REC2020_SCENE` +- :attr:`colour.models.RGB_COLOURSPACE_LIN_ADOBERGB_SCENE` +- :attr:`colour.models.RGB_COLOURSPACE_LIN_CIEXYZD65_SCENE` +- :attr:`colour.models.RGB_COLOURSPACE_SRGB_REC709_SCENE` +- :attr:`colour.models.RGB_COLOURSPACE_G22_REC709_SCENE` +- :attr:`colour.models.RGB_COLOURSPACE_G18_REC709_SCENE` +- :attr:`colour.models.RGB_COLOURSPACE_SRGB_AP1_SCENE` +- :attr:`colour.models.RGB_COLOURSPACE_G22_AP1_SCENE` +- :attr:`colour.models.RGB_COLOURSPACE_SRGB_P3D65_SCENE` +- :attr:`colour.models.RGB_COLOURSPACE_G22_ADOBERGB_SCENE` +- :attr:`colour.models.RGB_COLOURSPACES_TEXTURE_ASSETS_AND_CG_RENDERING_CIF_` + +References +---------- +- :cite:`ASWFColorInteropForum2024` : ASWF Color Interop Forum. (2024). Color + Space Encodings for Texture Assets and CG Rendering. + https://docs.google.com/document/d/1IV3e_9gpTOS_EFYRv2YGDuhExa4wTaPYHW1HyV36qUU +""" + +from __future__ import annotations + +from functools import partial + +import numpy as np + +from colour.colorimetry import CCS_ILLUMINANTS +from colour.models.rgb import ( + RGB_Colourspace, + eotf_inverse_sRGB, + eotf_sRGB, + gamma_function, + linear_function, +) +from colour.models.rgb.datasets import ( + RGB_COLOURSPACE_ACES2065_1, + RGB_COLOURSPACE_ACESCG, + RGB_COLOURSPACE_ADOBE_RGB1998, + RGB_COLOURSPACE_BT2020, + RGB_COLOURSPACE_DISPLAY_P3, + RGB_COLOURSPACE_P3_D65, + RGB_COLOURSPACE_sRGB, +) +from colour.utilities import LazyCanonicalMapping + +__author__ = "Colour Developers" +__copyright__ = "Copyright 2013 Colour Developers" +__license__ = "BSD-3-Clause - https://opensource.org/licenses/BSD-3-Clause" +__maintainer__ = "Colour Developers" +__email__ = "colour-developers@colour-science.org" +__status__ = "Production" + +__all__ = [ + "RGB_COLOURSPACE_LIN_REC709_SCENE", + "RGB_COLOURSPACE_LIN_P3D65_SCENE", + "RGB_COLOURSPACE_LIN_REC2020_SCENE", + "RGB_COLOURSPACE_LIN_ADOBERGB_SCENE", + "RGB_COLOURSPACE_LIN_CIEXYZD65_SCENE", + "RGB_COLOURSPACE_SRGB_REC709_SCENE", + "RGB_COLOURSPACE_G22_REC709_SCENE", + "RGB_COLOURSPACE_G18_REC709_SCENE", + "RGB_COLOURSPACE_SRGB_AP1_SCENE", + "RGB_COLOURSPACE_G22_AP1_SCENE", + "RGB_COLOURSPACE_SRGB_P3D65_SCENE", + "RGB_COLOURSPACE_G22_ADOBERGB_SCENE", + "RGB_COLOURSPACES_TEXTURE_ASSETS_AND_CG_RENDERING_CIF", +] + +RGB_COLOURSPACE_LIN_REC709_SCENE: RGB_Colourspace = RGB_COLOURSPACE_sRGB.copy() +RGB_COLOURSPACE_LIN_REC709_SCENE.cctf_encoding = linear_function +RGB_COLOURSPACE_LIN_REC709_SCENE.cctf_decoding = linear_function +RGB_COLOURSPACE_LIN_REC709_SCENE.name = "Linear Rec.709 (sRGB)" +RGB_COLOURSPACE_LIN_REC709_SCENE.__doc__ = """ +*Linear Rec.709 (sRGB)* colourspace. + +Still one of the most commonly used computer graphics (CG) rendering space. +However, it is a small gamut which means it is not possible to represent +certain colourful objects with only positive RGB values. This poses challenges +for rendering since negative values cause computational problems. It is +recommended that the industry move to wider gamut colourspaces such as *ACEScg* +for rendering. + +References +---------- +:cite:`ASWFColorInteropForum2024` +""" + + +RGB_COLOURSPACE_LIN_P3D65_SCENE: RGB_Colourspace = RGB_COLOURSPACE_P3_D65.copy() +RGB_COLOURSPACE_LIN_P3D65_SCENE.cctf_encoding = linear_function +RGB_COLOURSPACE_LIN_P3D65_SCENE.cctf_decoding = linear_function +RGB_COLOURSPACE_LIN_P3D65_SCENE.name = "Linear P3-D65" +RGB_COLOURSPACE_LIN_P3D65_SCENE.__doc__ = """ +*Linear P3-D65* colourspace. + +Not as good a rendering space as *ACEScg*, but better than *Linear Rec.709* +since it has a larger gamut. It may be easier for artists to use than *ACEScg* +since most modern monitors are able to show almost all of the *DCI-P3* gamut, +which is not true for *ACEScg*. + +References +---------- +:cite:`ASWFColorInteropForum2024` +""" + +RGB_COLOURSPACE_LIN_REC2020_SCENE: RGB_Colourspace = RGB_COLOURSPACE_BT2020.copy() +RGB_COLOURSPACE_LIN_REC2020_SCENE.cctf_encoding = linear_function +RGB_COLOURSPACE_LIN_REC2020_SCENE.cctf_decoding = linear_function +RGB_COLOURSPACE_LIN_REC2020_SCENE.name = "Linear Rec.2020" +RGB_COLOURSPACE_LIN_REC2020_SCENE.__doc__ = """ +*Linear Rec.2020* colourspace. + +Its gamut is very similar to *ACEScg* and thus makes a good rendering +colourspace, though it is not often used for that purpose. The primaries are +on the spectrum locus and therefore most monitors are unable to display the +entire gamut. + +References +---------- +:cite:`ASWFColorInteropForum2024` +""" + +RGB_COLOURSPACE_LIN_ADOBERGB_SCENE: RGB_Colourspace = ( + RGB_COLOURSPACE_ADOBE_RGB1998.copy() +) +RGB_COLOURSPACE_LIN_ADOBERGB_SCENE.cctf_encoding = linear_function +RGB_COLOURSPACE_LIN_ADOBERGB_SCENE.cctf_decoding = linear_function +RGB_COLOURSPACE_LIN_ADOBERGB_SCENE.name = "Linear AdobeRGB" +RGB_COLOURSPACE_LIN_ADOBERGB_SCENE.__doc__ = """ +*Linear AdobeRGB* colourspace. + +---------- +:cite:`ASWFColorInteropForum2024` +""" + +RGB_COLOURSPACE_LIN_CIEXYZD65_SCENE: RGB_Colourspace = RGB_Colourspace( + "CIE XYZ-D65 - Scene-referred", + np.array( + [ + [1.0, 0.0], + [0.0, 1.0], + [0.0, 0.0], + ] + ), + CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"]["D65"], + "D65", + cctf_encoding=linear_function, + cctf_decoding=linear_function, + use_derived_matrix_RGB_to_XYZ=True, + use_derived_matrix_XYZ_to_RGB=True, +) +RGB_COLOURSPACE_LIN_CIEXYZD65_SCENE.__doc__ = """ +*CIE XYZ-D65 - Scene-referred* colourspace. + +This colourspace is not recommended for storing images. It is provided because +there are many situations in computer graphics where the goal is to simulate +some natural phenomena that are described by models or data that involves +*CIE* colorimetry such as physical sky models, daylight or blackbody curves, +spectral material models, diffraction effects, etc. When such data is used, +this colourspace provides a bridge to convert it into one of the other +colourspace encodings. + +---------- +:cite:`ASWFColorInteropForum2024` +""" + +RGB_COLOURSPACE_SRGB_REC709_SCENE: RGB_Colourspace = RGB_COLOURSPACE_sRGB.copy() +RGB_COLOURSPACE_SRGB_REC709_SCENE.name = "sRGB Encoded Rec.709 (sRGB)" +RGB_COLOURSPACE_SRGB_REC709_SCENE.__doc__ = """ +*sRGB Encoded Rec.709 (sRGB)* colourspace. + +---------- +:cite:`ASWFColorInteropForum2024` +""" + +RGB_COLOURSPACE_G22_REC709_SCENE: RGB_Colourspace = RGB_COLOURSPACE_sRGB.copy() +RGB_COLOURSPACE_G22_REC709_SCENE.cctf_encoding = partial( + gamma_function, exponent=1 / 2.2 +) +RGB_COLOURSPACE_G22_REC709_SCENE.cctf_decoding = partial(gamma_function, exponent=2.2) +RGB_COLOURSPACE_G22_REC709_SCENE.name = "Gamma 2.2 Encoded Rec.709" +RGB_COLOURSPACE_G22_REC709_SCENE.__doc__ = """ +*Gamma 2.2 Encoded Rec.709* colourspace. + +---------- +:cite:`ASWFColorInteropForum2024` +""" + +RGB_COLOURSPACE_G18_REC709_SCENE: RGB_Colourspace = RGB_COLOURSPACE_sRGB.copy() +RGB_COLOURSPACE_G18_REC709_SCENE.cctf_encoding = partial( + gamma_function, exponent=1 / 1.8 +) +RGB_COLOURSPACE_G18_REC709_SCENE.cctf_decoding = partial(gamma_function, exponent=1.8) +RGB_COLOURSPACE_G18_REC709_SCENE.name = "Gamma 1.8 Encoded Rec.709" +RGB_COLOURSPACE_G18_REC709_SCENE.__doc__ = """ +*Gamma 1.8 Encoded Rec.709* colourspace. + +---------- +:cite:`ASWFColorInteropForum2024` +""" + +RGB_COLOURSPACE_SRGB_AP1_SCENE: RGB_Colourspace = RGB_COLOURSPACE_ACESCG.copy() +RGB_COLOURSPACE_SRGB_AP1_SCENE.cctf_encoding = eotf_inverse_sRGB +RGB_COLOURSPACE_SRGB_AP1_SCENE.cctf_decoding = eotf_sRGB +RGB_COLOURSPACE_SRGB_AP1_SCENE.name = "sRGB Encoded AP1" +RGB_COLOURSPACE_SRGB_AP1_SCENE.__doc__ = """ +*sRGB Encoded AP1* colourspace. + +This colourspace is used in game engines that implement texture decoding on the +GPU using the sRGB piece-wise transfer function and when the working +colourspace is *ACEScg*. + +---------- +:cite:`ASWFColorInteropForum2024` +""" + +RGB_COLOURSPACE_G22_AP1_SCENE: RGB_Colourspace = RGB_COLOURSPACE_ACESCG.copy() +RGB_COLOURSPACE_G22_AP1_SCENE.cctf_encoding = partial(gamma_function, exponent=1 / 2.2) +RGB_COLOURSPACE_G22_AP1_SCENE.cctf_decoding = partial(gamma_function, exponent=2.2) +RGB_COLOURSPACE_G22_AP1_SCENE.name = "Gamma 2.2 Encoded AP1" +RGB_COLOURSPACE_G22_AP1_SCENE.__doc__ = """ +*Gamma 2.2 Encoded AP1* colourspace. + +---------- +:cite:`ASWFColorInteropForum2024` +""" + +RGB_COLOURSPACE_SRGB_P3D65_SCENE: RGB_Colourspace = RGB_COLOURSPACE_DISPLAY_P3.copy() +RGB_COLOURSPACE_SRGB_P3D65_SCENE.name = "sRGB Encoded P3-D65" +RGB_COLOURSPACE_SRGB_P3D65_SCENE.__doc__ = """ +*sRGB Encoded P3-D65* colourspace. + +---------- +:cite:`ASWFColorInteropForum2024` +""" + +RGB_COLOURSPACE_G22_ADOBERGB_SCENE: RGB_Colourspace = ( + RGB_COLOURSPACE_ADOBE_RGB1998.copy() +) +RGB_COLOURSPACE_G22_ADOBERGB_SCENE.cctf_encoding = partial( + gamma_function, exponent=1 / 2.2 +) +RGB_COLOURSPACE_G22_ADOBERGB_SCENE.cctf_decoding = partial(gamma_function, exponent=2.2) +RGB_COLOURSPACE_G22_ADOBERGB_SCENE.name = "Gamma 2.2 Encoded AdobeRGB" +RGB_COLOURSPACE_G22_ADOBERGB_SCENE.__doc__ = """ +*Gamma 2.2 Encoded AdobeRGB* colourspace. + +---------- +:cite:`ASWFColorInteropForum2024` +""" + +RGB_COLOURSPACES_TEXTURE_ASSETS_AND_CG_RENDERING_CIF: LazyCanonicalMapping = LazyCanonicalMapping( # noqa: E501 + { + "ACEScg": RGB_COLOURSPACE_ACESCG, + "ACES2065-1": RGB_COLOURSPACE_ACES2065_1, + RGB_COLOURSPACE_LIN_REC709_SCENE.name: RGB_COLOURSPACE_LIN_REC709_SCENE, + RGB_COLOURSPACE_LIN_P3D65_SCENE.name: RGB_COLOURSPACE_LIN_P3D65_SCENE, + RGB_COLOURSPACE_LIN_REC2020_SCENE.name: RGB_COLOURSPACE_LIN_REC2020_SCENE, + RGB_COLOURSPACE_LIN_ADOBERGB_SCENE.name: RGB_COLOURSPACE_LIN_ADOBERGB_SCENE, + RGB_COLOURSPACE_LIN_CIEXYZD65_SCENE.name: RGB_COLOURSPACE_LIN_CIEXYZD65_SCENE, + RGB_COLOURSPACE_SRGB_REC709_SCENE.name: RGB_COLOURSPACE_SRGB_REC709_SCENE, + RGB_COLOURSPACE_G22_REC709_SCENE.name: RGB_COLOURSPACE_G22_REC709_SCENE, + RGB_COLOURSPACE_G18_REC709_SCENE.name: RGB_COLOURSPACE_G18_REC709_SCENE, + RGB_COLOURSPACE_SRGB_AP1_SCENE.name: RGB_COLOURSPACE_SRGB_AP1_SCENE, + RGB_COLOURSPACE_G22_AP1_SCENE.name: RGB_COLOURSPACE_G22_AP1_SCENE, + RGB_COLOURSPACE_SRGB_P3D65_SCENE.name: RGB_COLOURSPACE_SRGB_P3D65_SCENE, + RGB_COLOURSPACE_G22_ADOBERGB_SCENE.name: RGB_COLOURSPACE_G22_ADOBERGB_SCENE, + # Compact Names + "lin_ap1_scene": RGB_COLOURSPACE_ACESCG, + "lin_ap0_scene": RGB_COLOURSPACE_ACES2065_1, + "lin_rec709_scene": RGB_COLOURSPACE_LIN_REC709_SCENE, + "lin_p3d65_scene": RGB_COLOURSPACE_LIN_P3D65_SCENE, + "lin_rec2020_scene": RGB_COLOURSPACE_LIN_REC2020_SCENE, + "lin_adobergb_scene": RGB_COLOURSPACE_LIN_ADOBERGB_SCENE, + "lin_ciexyzd65_scene": RGB_COLOURSPACE_LIN_CIEXYZD65_SCENE, + "srgb_rec709_scene": RGB_COLOURSPACE_SRGB_REC709_SCENE, + "g22_rec709_scene": RGB_COLOURSPACE_G22_REC709_SCENE, + "g18_rec709_scene": RGB_COLOURSPACE_G18_REC709_SCENE, + "srgb_ap1_scene": RGB_COLOURSPACE_SRGB_AP1_SCENE, + "g22_ap1_scene": RGB_COLOURSPACE_G22_AP1_SCENE, + "srgb_p3d65_scene": RGB_COLOURSPACE_SRGB_P3D65_SCENE, + "g22_adobergb_scene": RGB_COLOURSPACE_G22_ADOBERGB_SCENE, + } +) +RGB_COLOURSPACES_TEXTURE_ASSETS_AND_CG_RENDERING_CIF.__doc__ = """ +*RGB* colourspace encodings for texture assets and computer graphics (CG) +rendering. + +References +---------- +:cite:`ASWFColorInteropForum2024` +""" diff --git a/docs/colour.models.rst b/docs/colour.models.rst index 5d8437a43..4afbc3a22 100644 --- a/docs/colour.models.rst +++ b/docs/colour.models.rst @@ -472,23 +472,24 @@ RGB Colourspaces .. autosummary:: :toctree: generated/ + RGB_COLOURSPACES_TEXTURE_ASSETS_AND_CG_RENDERING_CIF RGB_COLOURSPACE_ACES2065_1 RGB_COLOURSPACE_ACESCC - RGB_COLOURSPACE_ACESCCT - RGB_COLOURSPACE_ACESPROXY + RGB_COLOURSPACE_ACCESS RGB_COLOURSPACE_ACESCG + RGB_COLOURSPACE_ACESPROXY RGB_COLOURSPACE_ADOBE_RGB1998 RGB_COLOURSPACE_ADOBE_WIDE_GAMUT_RGB + RGB_COLOURSPACE_APPLE_RGB RGB_COLOURSPACE_ARRI_WIDE_GAMUT_3 RGB_COLOURSPACE_ARRI_WIDE_GAMUT_4 - RGB_COLOURSPACE_APPLE_RGB RGB_COLOURSPACE_BEST_RGB RGB_COLOURSPACE_BETA_RGB RGB_COLOURSPACE_BLACKMAGIC_WIDE_GAMUT + RGB_COLOURSPACE_BT2020 RGB_COLOURSPACE_BT470_525 RGB_COLOURSPACE_BT470_625 RGB_COLOURSPACE_BT709 - RGB_COLOURSPACE_BT2020 RGB_COLOURSPACE_CIE_RGB RGB_COLOURSPACE_CINEMA_GAMUT RGB_COLOURSPACE_COLOR_MATCH_RGB @@ -499,44 +500,56 @@ RGB Colourspaces RGB_COLOURSPACE_DISPLAY_P3 RGB_COLOURSPACE_DJI_D_GAMUT RGB_COLOURSPACE_DON_RGB_4 + RGB_COLOURSPACE_DRAGON_COLOR + RGB_COLOURSPACE_DRAGON_COLOR_2 RGB_COLOURSPACE_EBU_3213_E RGB_COLOURSPACE_ECI_RGB_V2 RGB_COLOURSPACE_EKTA_SPACE_PS_5 - RGB_COLOURSPACE_F_GAMUT + RGB_COLOURSPACE_ERIMM_RGB RGB_COLOURSPACE_FILMLIGHT_E_GAMUT - RGB_COLOURSPACE_H273_GENERIC_FILM + RGB_COLOURSPACE_F_GAMUT + RGB_COLOURSPACE_G18_REC709_SCENE + RGB_COLOURSPACE_G22_ADOBERGB_SCENE + RGB_COLOURSPACE_G22_AP1_SCENE + RGB_COLOURSPACE_G22_REC709_SCENE RGB_COLOURSPACE_H273_22_UNSPECIFIED - RGB_COLOURSPACE_PROTUNE_NATIVE + RGB_COLOURSPACE_H273_GENERIC_FILM + RGB_COLOURSPACE_LIN_ADOBERGB_SCENE + RGB_COLOURSPACE_LIN_CIEXYZD65_SCENE + RGB_COLOURSPACE_LIN_P3D65_SCENE + RGB_COLOURSPACE_LIN_REC2020_SCENE + RGB_COLOURSPACE_LIN_REC709_SCENE RGB_COLOURSPACE_MAX_RGB - RGB_COLOURSPACE_N_GAMUT RGB_COLOURSPACE_NTSC1953 RGB_COLOURSPACE_NTSC1987 + RGB_COLOURSPACE_N_GAMUT RGB_COLOURSPACE_P3_D65 RGB_COLOURSPACE_PAL_SECAM + RGB_COLOURSPACE_PLASA_ANSI_E154 + RGB_COLOURSPACE_PROPHOTO_RGB + RGB_COLOURSPACE_PROTUNE_NATIVE RGB_COLOURSPACE_RED_COLOR RGB_COLOURSPACE_RED_COLOR_2 RGB_COLOURSPACE_RED_COLOR_3 RGB_COLOURSPACE_RED_COLOR_4 RGB_COLOURSPACE_RED_WIDE_GAMUT_RGB - RGB_COLOURSPACE_DRAGON_COLOR - RGB_COLOURSPACE_DRAGON_COLOR_2 - RGB_COLOURSPACE_ROMM_RGB RGB_COLOURSPACE_RIMM_RGB - RGB_COLOURSPACE_ERIMM_RGB - RGB_COLOURSPACE_PROPHOTO_RGB - RGB_COLOURSPACE_PLASA_ANSI_E154 + RGB_COLOURSPACE_ROMM_RGB RGB_COLOURSPACE_RUSSELL_RGB RGB_COLOURSPACE_SHARP_RGB RGB_COLOURSPACE_SMPTE_240M RGB_COLOURSPACE_SMPTE_C + RGB_COLOURSPACE_SRGB_AP1_SCENE + RGB_COLOURSPACE_SRGB_P3D65_SCENE + RGB_COLOURSPACE_SRGB_REC709_SCENE RGB_COLOURSPACE_S_GAMUT RGB_COLOURSPACE_S_GAMUT3 RGB_COLOURSPACE_S_GAMUT3_CINE RGB_COLOURSPACE_VENICE_S_GAMUT3 RGB_COLOURSPACE_VENICE_S_GAMUT3_CINE - RGB_COLOURSPACE_sRGB RGB_COLOURSPACE_V_GAMUT RGB_COLOURSPACE_XTREME_RGB + RGB_COLOURSPACE_sRGB Colour Component Transfer Functions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/index.rst b/docs/index.rst index 0de81ae3c..f07d3f3bb 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1091,6 +1091,7 @@ RGB Colourspaces 'Beta RGB', 'Blackmagic Wide Gamut', 'CIE RGB', + 'CIE XYZ-D65 - Scene-referred', 'Cinema Gamut', 'ColorMatch RGB', 'DCDM XYZ', @@ -1108,12 +1109,20 @@ RGB Colourspaces 'Ekta Space PS 5', 'F-Gamut', 'FilmLight E-Gamut', + 'Gamma 1.8 Encoded Rec.709', + 'Gamma 2.2 Encoded AP1', + 'Gamma 2.2 Encoded AdobeRGB', + 'Gamma 2.2 Encoded Rec.709', 'ITU-R BT.2020', 'ITU-R BT.470 - 525', 'ITU-R BT.470 - 625', 'ITU-R BT.709', 'ITU-T H.273 - 22 Unspecified', 'ITU-T H.273 - Generic Film', + 'Linear AdobeRGB', + 'Linear P3-D65', + 'Linear Rec.2020', + 'Linear Rec.709 (sRGB)', 'Max RGB', 'N-Gamut', 'NTSC (1953)', @@ -1143,8 +1152,25 @@ RGB Colourspaces 'Xtreme RGB', 'aces', 'adobe1998', + 'g18_rec709_scene', + 'g22_adobergb_scene', + 'g22_ap1_scene', + 'g22_rec709_scene', + 'lin_adobergb_scene', + 'lin_ap0_scene', + 'lin_ap1_scene', + 'lin_ciexyzd65_scene', + 'lin_p3d65_scene', + 'lin_rec2020_scene', + 'lin_rec709_scene', 'prophoto', - 'sRGB'] + 'sRGB', + 'sRGB Encoded AP1', + 'sRGB Encoded P3-D65', + 'sRGB Encoded Rec.709 (sRGB)', + 'srgb_ap1_scene', + 'srgb_p3d65_scene', + 'srgb_rec709_scene'] OETFs *****