Skip to content

Commit 1aef3a0

Browse files
committed
Implement initial support for *ACES* 2.0.
Signed-off-by: Thomas Mansencal <[email protected]>
1 parent 3980e45 commit 1aef3a0

File tree

47 files changed

+534
-604
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+534
-604
lines changed

.gitmodules

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
[submodule "opencolorio_config_aces/config/reference/aces-dev"]
2-
path = opencolorio_config_aces/config/reference/aces-dev
3-
url = https://github.com/ampas/aces-dev.git
1+
[submodule "opencolorio_config_aces/config/reference/aces-system"]
2+
path = opencolorio_config_aces/config/reference/aces-system
3+
url = https://github.com/colour-science/aces-system

README.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ The following features are available:
4444

4545
- Discovery of *aces-dev* *CTL* transforms.
4646
- Generation of the *CTL* transforms graph.
47-
- `Spreadsheet <https://docs.google.com/spreadsheets/d/1SXPt-USy3HlV2G2qAvh9zit6ZCINDOlfKT07yXJdWLg>`__-driven generation.
47+
- `Spreadsheet <https://docs.google.com/spreadsheets/d/1z3xsy3sF0I-8AN_tkMOEjHlAs13ba7VAVhrE8v4WIyo>`__-driven generation.
4848

4949
- Generators producing the *OCIO* **CG** and **Studio** configurations.
50-
- `Spreadsheet <https://docs.google.com/spreadsheets/d/1nE95DEVtxtEkcIEaJk0WekyEH0Rcs8z_3fdwUtqP8V4>`__-driven generation.
50+
- `Spreadsheet <https://docs.google.com/spreadsheets/d/1PXjTzBVYonVFIceGkLDaqcEJvKR6OI63DwZX0aajl3A>`__-driven generation.
5151

5252
- Included *CLF* transforms along with generator and discovery support.
5353

docs/index.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ The following features are available:
2626

2727
- Discovery of *aces-dev* *CTL* transforms.
2828
- Generation of the *CTL* transforms graph.
29-
- `Spreadsheet <https://docs.google.com/spreadsheets/d/1SXPt-USy3HlV2G2qAvh9zit6ZCINDOlfKT07yXJdWLg>`__-driven generation.
29+
- `Spreadsheet <https://docs.google.com/spreadsheets/d/1z3xsy3sF0I-8AN_tkMOEjHlAs13ba7VAVhrE8v4WIyo>`__-driven generation.
3030

3131
- Generators producing the *OCIO* **CG** and **Studio** configurations.
32-
- `Spreadsheet <https://docs.google.com/spreadsheets/d/1nE95DEVtxtEkcIEaJk0WekyEH0Rcs8z_3fdwUtqP8V4>`__-driven generation.
32+
- `Spreadsheet <https://docs.google.com/spreadsheets/d/1PXjTzBVYonVFIceGkLDaqcEJvKR6OI63DwZX0aajl3A>`__-driven generation.
3333

3434
- Included *CLF* transforms along with generator and discovery support.
3535

docs/process.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ The config generation process starts with a set of definitions and classes to di
1616

1717
.. note:: This approach allowed us to improve the consistency of the **CTL** transforms ``ACEStransformID`` while fixing various filename issues.
1818

19-
Using ``ACES2065-1`` and ``OCES`` as connection spaces, it is possible to build a colour conversion graph with all the high-level relevant transforms.
19+
Using ``ACES2065-1`` as connection spaces, it is possible to build a colour conversion graph with all the high-level relevant transforms.
2020

2121
- :func:`opencolorio_config_aces.build_aces_conversion_graph`
2222
- :func:`opencolorio_config_aces.plot_aces_conversion_graph`
@@ -33,7 +33,7 @@ Analytical & Reference Configs Generation
3333
The colour conversion graph is then used to create the *Analytical* config that maps 1-to-1 the **aces-dev** **CTL** transforms to theoretical **OpenColorIO** builtin transforms.
3434
This config does not work but it is useful to test basic generation capabilities whilst diagnosing issues in the mapping.
3535

36-
The *Reference* config is driven by a *CSV* file generated from a `spreadsheet <https://docs.google.com/spreadsheets/d/1SXPt-USy3HlV2G2qAvh9zit6ZCINDOlfKT07yXJdWLg>`__ mapping the ``ACEStransformID`` to **OpenColorIO** builtin transforms.
36+
The *Reference* config is driven by a *CSV* file generated from a `spreadsheet <https://docs.google.com/spreadsheets/d/1z3xsy3sF0I-8AN_tkMOEjHlAs13ba7VAVhrE8v4WIyo>`__ mapping the ``ACEStransformID`` to **OpenColorIO** builtin transforms.
3737

3838
- :func:`opencolorio_config_aces.generate_config_aces`
3939

@@ -52,7 +52,7 @@ The repository contains code to generate, discover and classify the additional *
5252
CG Config Generation
5353
^^^^^^^^^^^^^^^^^^^^
5454

55-
The *CG* config generator also uses a *CSV* file generated from a `spreadsheet <https://docs.google.com/spreadsheets/d/1nE95DEVtxtEkcIEaJk0WekyEH0Rcs8z_3fdwUtqP8V4>`__ that expresses which ``ACEStransformID`` should be used from the ``Reference`` config and which ``CLFtransformID`` should be used from the shipped *CLF* transforms.
55+
The *CG* config generator also uses a *CSV* file generated from a `spreadsheet <https://docs.google.com/spreadsheets/d/1PXjTzBVYonVFIceGkLDaqcEJvKR6OI63DwZX0aajl3A/edit#gid=365242296>`__ pivot table that expresses which ``ACEStransformID`` should be used from the ``Reference`` config and which ``CLFtransformID`` should be used from the shipped *CLF* transforms.
5656

5757
- :func:`opencolorio_config_aces.generate_config_cg`
5858

@@ -63,7 +63,7 @@ The conversion process is as follows:
6363
Studio Config Generation
6464
^^^^^^^^^^^^^^^^^^^^^^^^
6565

66-
The *Studio* config generator follows the same approach but uses a different `pivot table <https://docs.google.com/spreadsheets/d/1nE95DEVtxtEkcIEaJk0WekyEH0Rcs8z_3fdwUtqP8V4/edit#gid=1155125238>`__ of the spreadsheet.
66+
The *Studio* config generator follows the same approach but uses a different `pivot table <https://docs.google.com/spreadsheets/d/1PXjTzBVYonVFIceGkLDaqcEJvKR6OI63DwZX0aajl3A/edit#gid=1155125238>`__ of the spreadsheet.
6767

6868
- :func:`opencolorio_config_aces.generate_config_studio`
6969

opencolorio_config_aces/clf/discover/classify.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
"print_clf_taxonomy",
6666
]
6767

68-
logger = logging.getLogger(__name__)
68+
LOGGER = logging.getLogger(__name__)
6969

7070
URN_CLF: str = "urn:aswf:ocio:transformId:1.0"
7171
"""
@@ -1061,7 +1061,7 @@ def discover_clf_transforms(
10611061

10621062
clf_transform = os.path.join(directory, filename)
10631063

1064-
logger.debug(
1064+
LOGGER.debug(
10651065
'"%s" CLF transform was found!',
10661066
clf_transform_relative_path(clf_transform),
10671067
)
@@ -1139,7 +1139,7 @@ def classify_clf_transforms(
11391139
genus,
11401140
)
11411141

1142-
logger.debug('Classifying "%s" under "%s".', clf_transform, genus)
1142+
LOGGER.debug('Classifying "%s" under "%s".', clf_transform, genus)
11431143

11441144
classified_clf_transforms[family][genus][basename] = clf_transform
11451145

@@ -1155,7 +1155,7 @@ def classify_clf_transforms(
11551155
forward_clf_transform, inverse_clf_transform
11561156
)
11571157

1158-
logger.debug('Classifying "%s" under "%s".', clf_transform, genus)
1158+
LOGGER.debug('Classifying "%s" under "%s".', clf_transform, genus)
11591159

11601160
classified_clf_transforms[family][genus][basename] = clf_transform
11611161

@@ -1281,35 +1281,35 @@ def print_clf_taxonomy() -> None:
12811281
classified_clf_transforms = classify_clf_transforms(discover_clf_transforms())
12821282

12831283
for family, genera in classified_clf_transforms.items():
1284-
message_box(family, print_callable=logger.info)
1284+
message_box(family, print_callable=LOGGER.info)
12851285
for genus, clf_transforms in genera.items():
1286-
logger.info("[ %s ]", genus)
1286+
LOGGER.info("[ %s ]", genus)
12871287
for name, clf_transform in clf_transforms.items():
1288-
logger.info("\t( %s )", name)
1288+
LOGGER.info("\t( %s )", name)
12891289
if isinstance(clf_transform, CLFTransform):
1290-
logger.info(
1290+
LOGGER.info(
12911291
'\t\t"%s" --> "%s"',
12921292
clf_transform.source,
12931293
clf_transform.target,
12941294
)
12951295
if clf_transform.clf_transform_id is not None:
1296-
logger.info(
1296+
LOGGER.info(
12971297
'\t\tCLFtransformID : "%s"',
12981298
clf_transform.clf_transform_id.clf_transform_id,
12991299
)
13001300
elif isinstance(clf_transform, CLFTransformPair):
1301-
logger.info(
1301+
LOGGER.info(
13021302
'\t\t"%s" <--> "%s"',
13031303
clf_transform.forward_transform.source,
13041304
clf_transform.forward_transform.target,
13051305
)
13061306
if clf_transform.forward_transform.clf_transform_id is not None:
1307-
logger.info(
1307+
LOGGER.info(
13081308
'\t\tACEStransformID : "%s"',
13091309
clf_transform.forward_transform.clf_transform_id.clf_transform_id,
13101310
)
13111311
if clf_transform.inverse_transform.clf_transform_id is not None:
1312-
logger.info(
1312+
LOGGER.info(
13131313
'\t\tACEStransformID : "%s"',
13141314
clf_transform.inverse_transform.clf_transform_id.clf_transform_id,
13151315
)

opencolorio_config_aces/clf/transforms/apple/generate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def generate_clf_transforms_apple(output_directory):
7474
clf_transforms = {}
7575

7676
aces_transform_id = (
77-
"urn:ampas:aces:transformId:v1.5:IDT.Apple.AppleLog_BT2020.a1.v1"
77+
"urn:ampas:aces:transformId:v2.0:CSC.Apple.AppleLog_BT2020_to_ACES.a2.v1"
7878
)
7979

8080
name = "Apple_Log_to_ACES2065-1"

opencolorio_config_aces/clf/transforms/apple/input/Apple.Input.Apple_Log_to_ACES2065-1.clf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<InputDescriptor>Apple Log</InputDescriptor>
44
<OutputDescriptor>ACES2065-1</OutputDescriptor>
55
<Info>
6-
<ACEStransformID>urn:ampas:aces:transformId:v1.5:IDT.Apple.AppleLog_BT2020.a1.v1</ACEStransformID>
6+
<ACEStransformID>urn:ampas:aces:transformId:v2.0:CSC.Apple.AppleLog_BT2020_to_ACES.a2.v1</ACEStransformID>
77
<BuiltinTransform>APPLE_LOG_to_ACES2065-1</BuiltinTransform>
88
</Info>
99
<LUT1D inBitDepth="32f" outBitDepth="32f" interpolation="linear" halfDomain="true">

opencolorio_config_aces/clf/transforms/arri/generate.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
"generate_clf_transforms_arri",
4040
]
4141

42-
logger = logging.getLogger(__name__)
42+
LOGGER = logging.getLogger(__name__)
4343

4444

4545
FAMILY = "ARRI"
@@ -137,14 +137,14 @@ def _build_logc3_curve(ei=800, info=False):
137137
# follows CLF 6.6 Log specification
138138
f = c * log10(a * cut + b) + d
139139

140-
logger.info("White Paper Values for EI%s", ei)
141-
logger.info("cut: {%.6f} :: {%.15f}", cut, cut)
142-
logger.info("a: {%.6f} :: {%.15f}", a, a)
143-
logger.info("b: {%.6f} :: {%.15f}", b, b)
144-
logger.info("c: {%.6f} :: {%.15f}", c, c)
145-
logger.info("d: {%.6f} :: {%.15f}", d, d)
146-
logger.info("e: {%.6f} :: {%.15f}", e, e)
147-
logger.info("f: {%.6f} :: {%.15f}", f, f)
140+
LOGGER.info("White Paper Values for EI%s", ei)
141+
LOGGER.info("cut: {%.6f} :: {%.15f}", cut, cut)
142+
LOGGER.info("a: {%.6f} :: {%.15f}", a, a)
143+
LOGGER.info("b: {%.6f} :: {%.15f}", b, b)
144+
LOGGER.info("c: {%.6f} :: {%.15f}", c, c)
145+
LOGGER.info("d: {%.6f} :: {%.15f}", d, d)
146+
LOGGER.info("e: {%.6f} :: {%.15f}", e, e)
147+
LOGGER.info("f: {%.6f} :: {%.15f}", f, f)
148148

149149
# OCIO LogCameraTransform translation variables
150150
base = 10.0
@@ -334,7 +334,7 @@ def _generate_logc4_transforms(output_directory):
334334

335335
# Generate ARRI LogC4 to ACES 2065-1 Transform
336336
name = "ARRI_LogC4_to_ACES2065-1"
337-
aces_id = "urn:ampas:aces:transformId:v1.5:IDT.ARRI.ARRI-LogC4.a1.v1"
337+
aces_id = "urn:ampas:aces:transformId:v2.0:CSC.Arri.LogCv4_to_ACES.a2.v1"
338338
input_descriptor = "ARRI LogC4"
339339
output_descriptor = "ACES2065-1"
340340
clf_transform_id = format_clf_transform_id(FAMILY, GENUS, name, VERSION)

opencolorio_config_aces/clf/transforms/arri/input/ARRI.Input.ARRI_LogC3_EI800_to_ACES2065-1.clf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<InputDescriptor>ARRI LogC3 (EI800)</InputDescriptor>
44
<OutputDescriptor>ACES2065-1</OutputDescriptor>
55
<Info>
6-
<ACEStransformID>urn:ampas:aces:transformId:v1.5:IDT.ARRI.Alexa-v3-logC-EI800.a1.v2</ACEStransformID>
6+
<ACEStransformID>urn:ampas:aces:transformId:v2.0:CSC.Arri.LogCv3_to_ACES.a2.v1</ACEStransformID>
77
</Info>
88
<Log inBitDepth="32f" outBitDepth="32f" style="cameraLogToLin">
99
<LogParams base="10" linSideSlope="5.55555555555556" linSideOffset="0.0522722750251688" logSideSlope="0.247189638318671" logSideOffset="0.385536998692443" linSideBreak="0.0105909904954696" />

opencolorio_config_aces/clf/transforms/arri/input/ARRI.Input.ARRI_LogC4_to_ACES2065-1.clf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<InputDescriptor>ARRI LogC4</InputDescriptor>
44
<OutputDescriptor>ACES2065-1</OutputDescriptor>
55
<Info>
6-
<ACEStransformID>urn:ampas:aces:transformId:v1.5:IDT.ARRI.ARRI-LogC4.a1.v1</ACEStransformID>
6+
<ACEStransformID>urn:ampas:aces:transformId:v2.0:CSC.Arri.LogCv4_to_ACES.a2.v1</ACEStransformID>
77
</Info>
88
<Log inBitDepth="32f" outBitDepth="32f" style="cameraLogToLin">
99
<LogParams base="2" linSideSlope="2231.82630906769" linSideOffset="64" logSideSlope="0.0647954196341293" logSideOffset="-0.295908392682586" linSideBreak="-0.0180569961199113" />

0 commit comments

Comments
 (0)