Skip to content

Commit 4a39825

Browse files
authored
PR: Last Stretch for RC1 (#76)
* Last stretch for rc1! Signed-off-by: Thomas Mansencal <[email protected]> * Update "README.rst" file and documentation. Signed-off-by: Thomas Mansencal <[email protected]> * Drop "Python 3.8" requirement. Signed-off-by: Thomas Mansencal <[email protected]> * Update "requirements.txt" file. Signed-off-by: Thomas Mansencal <[email protected]> * Address code review notes. Signed-off-by: Thomas Mansencal <[email protected]> * Use "SVG" for graph image, reducing energy consumption. Signed-off-by: Thomas Mansencal <[email protected]> * Raise package version to 1.0.0-rc1. Signed-off-by: Thomas Mansencal <[email protected]> Signed-off-by: Thomas Mansencal <[email protected]>
1 parent 678c346 commit 4a39825

27 files changed

+1345
-257
lines changed

.github/workflows/continuous-integration-quality-unit-tests.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@ jobs:
88
strategy:
99
matrix:
1010
os: [macOS-latest, ubuntu-20.04, windows-latest]
11-
python-version: [3.8, 3.9, '3.10']
12-
exclude:
13-
- os: windows-latest
14-
python-version: 3.8
11+
python-version: [3.9, '3.10']
1512
fail-fast: false
1613
runs-on: ${{ matrix.os }}
1714
steps:

README.rst

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,13 @@ The following features are available:
4242
- Automatic *OCIO* **Reference** configuration generation for *aces-dev*
4343
*CTL* reference implementation.
4444

45-
- Discovery of *aces-dev* *CTL* transforms.
46-
- Generation of the *CTL* transforms graph.
45+
- Discovery of *aces-dev* *CTL* transforms.
46+
- Generation of the *CTL* transforms graph.
47+
- `Spreadsheet <https://docs.google.com/spreadsheets/d/1SXPt-USy3HlV2G2qAvh9zit6ZCINDOlfKT07yXJdWLg>`__-driven generation.
4748

4849
- Generators producing the *OCIO* **CG** and **Studio** configurations.
50+
- `Spreadsheet <https://docs.google.com/spreadsheets/d/1nE95DEVtxtEkcIEaJk0WekyEH0Rcs8z_3fdwUtqP8V4>`__-driven generation.
51+
4952
- Included *CLF* transforms along with generator and discovery support.
5053

5154
User Guide
@@ -171,17 +174,17 @@ Components Status
171174
+-------------------------------+----------------+----------------------------------------------------------------------------------+
172175
| Custom Config Generation | In-Progress | We are designing the components so that one can generate a custom *ACES* config. |
173176
+-------------------------------+----------------+----------------------------------------------------------------------------------+
174-
| *Studio* Config Generation | In-Progress | |
177+
| *Studio* Config Generation | Complete | |
175178
+-------------------------------+----------------+----------------------------------------------------------------------------------+
176179
| *CLF* Transforms Discovery | Complete | Minor updates will be required if classification changes. |
177180
+-------------------------------+----------------+----------------------------------------------------------------------------------+
178-
| *CLF* Transforms Generation | In-Progress | The *CG* Config *CLF* transforms are implemented |
181+
| *CLF* Transforms Generation | Complete | |
179182
+-------------------------------+----------------+----------------------------------------------------------------------------------+
180183
| Public API Surfacing | In-Progress | What is part of the Public API is not well defined currently. |
181184
+-------------------------------+----------------+----------------------------------------------------------------------------------+
182185
| Unit Tests | In-Progress | |
183186
+-------------------------------+----------------+----------------------------------------------------------------------------------+
184-
| API Documentation | In-Progress | |
187+
| API Documentation | Complete | |
185188
+-------------------------------+----------------+----------------------------------------------------------------------------------+
186189
| Continuous Integration | Complete | |
187190
+-------------------------------+----------------+----------------------------------------------------------------------------------+

docs/_static/ACES_Conversion_Graph.svg

Lines changed: 958 additions & 0 deletions
Loading

docs/index.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,13 @@ The following features are available:
2424
- Automatic *OCIO* **Reference** configuration generation for *aces-dev*
2525
*CTL* reference implementation.
2626

27-
- Discovery of *aces-dev* *CTL* transforms.
28-
- Generation of the *CTL* transforms graph.
27+
- Discovery of *aces-dev* *CTL* transforms.
28+
- Generation of the *CTL* transforms graph.
29+
- `Spreadsheet <https://docs.google.com/spreadsheets/d/1SXPt-USy3HlV2G2qAvh9zit6ZCINDOlfKT07yXJdWLg>`__-driven generation.
2930

3031
- Generators producing the *OCIO* **CG** and **Studio** configurations.
32+
- `Spreadsheet <https://docs.google.com/spreadsheets/d/1nE95DEVtxtEkcIEaJk0WekyEH0Rcs8z_3fdwUtqP8V4>`__-driven generation.
33+
3134
- Included *CLF* transforms along with generator and discovery support.
3235

3336
User Guide

docs/opencolorio_config_aces.clf.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,12 @@ Common LUT Format Generation
3939
.. autosummary::
4040
:toctree: generated/
4141

42+
generate_clf_transforms_arri
4243
generate_clf_transforms_bmdfilm
44+
generate_clf_transforms_canon
4345
generate_clf_transforms_davinci
4446
generate_clf_transforms_itu
4547
generate_clf_transforms_ocio
46-
generate_clf_transforms_utility
4748
generate_clf_transforms_panasonic
4849
generate_clf_transforms_red
50+
generate_clf_transforms_sony

docs/process.rst

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
..
2+
SPDX-License-Identifier: CC-BY-4.0
3+
Copyright Contributors to the OpenColorIO Project.
4+
5+
Process
6+
=======
7+
8+
aces-dev Discovery & Classification
9+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10+
11+
The config generation process starts with a set of definitions and classes to discover, parse and classify the CTL transforms from `aces-dev <https://github.com/ampas/aces-dev>`__:
12+
13+
- :func:`opencolorio_config_aces.discover_aces_ctl_transforms`
14+
- :func:`opencolorio_config_aces.classify_aces_ctl_transforms`
15+
- :func:`opencolorio_config_aces.print_aces_taxonomy`
16+
17+
.. note:: This approach allowed us to improve the consistency of the **CTL** transforms ``ACEStransformID`` while fixing various filename issues.
18+
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.
20+
21+
- :func:`opencolorio_config_aces.build_aces_conversion_graph`
22+
- :func:`opencolorio_config_aces.plot_aces_conversion_graph`
23+
24+
.. only:: html
25+
26+
.. image:: _static/ACES_Conversion_Graph.svg
27+
28+
Analytical & Reference Configs Generation
29+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
30+
31+
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.
32+
This config does not work but it is useful to test basic generation capabilities whilst diagnosing issues in the mapping.
33+
34+
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.
35+
36+
- :func:`opencolorio_config_aces.generate_config_aces`
37+
38+
CLF Transforms Generation, Discovery & Classification
39+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
40+
41+
The working group decided to express additional colour transforms using `CLF <https://acescentral.com/knowledge-base-2/common-lut-format-clf>`__.
42+
Some *CLF* transforms can be serialised into a config which reduces the need for external files. Each *CLF* transform has a ``CLFtransformID`` specified according to the `CLF Formatting for ACES OCIO Config <https://docs.google.com/document/d/1uYNnq1IlKqP8fRXnPviZHrAAu37ctvVsjJZeajOFF2A>`__ document.
43+
44+
The repository contains code to generate, discover and classify the additional *CLF* transforms that the *CG* and *Studio* configs require.
45+
46+
- :func:`opencolorio_config_aces.discover_clf_transforms`
47+
- :func:`opencolorio_config_aces.classify_clf_transforms`
48+
- :func:`opencolorio_config_aces.print_clf_taxonomy`
49+
50+
CG Config Generation
51+
^^^^^^^^^^^^^^^^^^^^
52+
53+
The *CG* config generator also uses a *CSV* file generated from a `spreadsheet <https://docs.google.com/spreadsheets/d/1nE95DEVtxtEkcIEaJk0WekyEH0Rcs8z_3fdwUtqP8V>`__ that expresses which ``ACEStransformID`` should be used from the `Reference` config and which ``CLFtransformID`` should be used from the shipped *CLF* transforms.
54+
55+
- :func:`opencolorio_config_aces.generate_config_cg`
56+
57+
The conversion process is as follows:
58+
59+
*aces-dev Discovery & Classification* -> *Reference Config Generation* -> *CLF Transforms Generation, Discovery & Classification* -> *CG Config Generation*
60+
61+
Studio Config Generation
62+
^^^^^^^^^^^^^^^^^^^^^^^^
63+
64+
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.
65+
66+
- :func:`opencolorio_config_aces.generate_config_studio`
67+
68+
The conversion process is as follows:
69+
70+
*aces-dev Discovery & Classification* -> *Reference Config Generation* -> *CLF Transforms Generation, Discovery & Classification* -> *Studio Config Generation*

docs/usage.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Reference Config
2121
****************
2222

2323
+-----------------------+--------------------------------------------+
24-
| Task | Command |
24+
| *Task* | *Command* |
2525
+-----------------------+--------------------------------------------+
2626
| Build | `invoke build-config-reference` |
2727
+-----------------------+--------------------------------------------+
@@ -34,7 +34,7 @@ CG Config
3434
*********
3535

3636
+-----------------------+-------------------------------------+
37-
| Task | Command |
37+
| *Task* | *Command* |
3838
+-----------------------+-------------------------------------+
3939
| Build | `invoke build-config-cg` |
4040
+-----------------------+-------------------------------------+
@@ -43,11 +43,11 @@ CG Config
4343
| Updating Mapping File | `invoke update-mapping-file-cg` |
4444
+-----------------------+-------------------------------------+
4545

46-
Reference Config
47-
****************
46+
Studio Config
47+
*************
4848

4949
+-----------------------+-----------------------------------------+
50-
| Task | Command |
50+
| *Task* | *Command* |
5151
+-----------------------+-----------------------------------------+
5252
| Build | `invoke build-config-studio` |
5353
+-----------------------+-----------------------------------------+

docs/user-guide.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ and explains important concepts and features, details can be found in the
1010

1111
Installation <installation>
1212
usage
13+
process

opencolorio_config_aces/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,9 @@
129129

130130
__application_name__ = "OpenColorIO Configuration for ACES"
131131

132-
__major_version__ = "0"
133-
__minor_version__ = "3"
134-
__change_version__ = "1"
132+
__major_version__ = "1"
133+
__minor_version__ = "0"
134+
__change_version__ = "0-rc1"
135135
__version__ = ".".join(
136136
(__major_version__, __minor_version__, __change_version__)
137-
) # yapf: disable
137+
)

opencolorio_config_aces/clf/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,15 @@
1010
)
1111
from .transforms import (
1212
generate_clf_transform,
13+
generate_clf_transforms_arri,
1314
generate_clf_transforms_bmdfilm,
15+
generate_clf_transforms_canon,
1416
generate_clf_transforms_davinci,
1517
generate_clf_transforms_itu,
1618
generate_clf_transforms_ocio,
1719
generate_clf_transforms_panasonic,
1820
generate_clf_transforms_red,
21+
generate_clf_transforms_sony,
1922
)
2023

2124
__all__ = [
@@ -27,10 +30,14 @@
2730
]
2831
__all__ += [
2932
"generate_clf_transform",
33+
"generate_clf_transform",
34+
"generate_clf_transforms_arri",
3035
"generate_clf_transforms_bmdfilm",
36+
"generate_clf_transforms_canon",
3137
"generate_clf_transforms_davinci",
3238
"generate_clf_transforms_itu",
3339
"generate_clf_transforms_ocio",
3440
"generate_clf_transforms_panasonic",
3541
"generate_clf_transforms_red",
42+
"generate_clf_transforms_sony",
3643
]

0 commit comments

Comments
 (0)