Skip to content

AcademySoftwareFoundation/OpenColorIO-Config-ACES

Repository files navigation

OpenColorIO Configuration for ACES

Continuous Integration - Quality & Unit Tests Configuration Artifacts

The OpenColorIO Configuration for ACES is an open-source Python package implementing support for the generation of the OCIO configurations for the Academy Color Encoding System (ACES).

It is freely available under the New BSD License terms.

Table of Contents

Features

The following features are available:

  • Automatic OCIO Reference configuration generation for aces-dev CTL reference implementation.
    • Discovery of aces-dev CTL transforms.
    • Generation of the CTL transforms graph.
    • Spreadsheet-driven generation.
  • Generators producing the OCIO CG and Studio configurations.
  • Included CLF transforms along with generator and discovery support.

User Guide

Installation

Cloning the Repository

The OpenColorIO Configuration for ACES repository uses Git submodules thus cloning the repository requires initializing them:

git clone --recursive https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES.git

If you have already cloned the repository and forgot the --recursive argument, it is possible to initialize the submodules as follows:

git submodule update --init --recursive

Poetry

The OpenColorIO Configuration for ACES repository adopts Poetry to help managing its dependencies, this is the recommended way to get started with development.

Assuming python >= 3.9 is available on your system along with OpenColorIO, the development dependencies are installed with Poetry as follows:

git clone --recursive https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES.git
cd OpenColorIO-Config-ACES
poetry install --with optional

The aces-dev CTL reference graph can be plotted but it requires Graphviz to be installed on the system and having installed the optional pygraphviz: python package:

poetry install --with graphviz,optional

Docker

Installing the dependencies for the previous config generator was not a trivial task. For ease of use an aswf-docker based container is now available.

Creating the container from the Dockerfile is done as follows:

docker build -t aswf/opencolorio-config-aces:latest .

or alternatively, if the dependencies described in the next section are satisfied:

invoke docker build

Then, to run bash in the container:

docker run -it -v ${PWD}:/home/aswf/OpenColorIO-Config-ACES aswf/opencolorio-config-aces:latest /bin/bash

Pypi

The OpenColorIO Configuration for ACES package requires various dependencies in order to run and be able to generate the OCIO configurations:

Primary Dependencies
Optional Dependencies
Development Dependencies

Components Status

Component Status Notes
aces-dev Discovery Complete Minor updates might be required when aces-dev is updated.
Common Config Generator Complete
Reference Config Generation Complete
CG Config Generation Complete
Custom Config Generation In-Progress We are designing the components so that one can generate a custom ACES config.
Studio Config Generation Complete
CLF Transforms Discovery Complete Minor updates will be required if classification changes.
CLF Transforms Generation Complete
Public API Surfacing In-Progress What is part of the Public API is not well defined currently.
Unit Tests In-Progress
API Documentation Complete
Continuous Integration Complete
CLI In-Progress
Containerisation Complete Minor updates will be required as the CLI evolves.
Pypi Package Unavailable

Usage

Tasks

Various tasks are currently exposed via invoke.

This is currently the recommended way to build the configuration until a dedicated CLI is provided.

Listing the tasks is done as follows:

invoke --list
Reference Config
Task Command
Build invoke build-config-reference
Build (Docker) invoke docker-run-build-config-reference
Updating Mapping File invoke update-mapping-file-reference
CG Config
Task Command
Build invoke build-config-cg
Build (Docker) invoke docker-run-build-config-cg
Updating Mapping File invoke update-mapping-file-cg
Studio Config
Task Command
Build invoke build-config-studio
Build (Docker) invoke docker-run-build-config-studio
Updating Mapping File invoke update-mapping-file-studio

API Reference

The main technical reference for OpenColorIO Configuration for ACES is the API Reference.

About

OpenColorIO Configuration for ACES by OpenColorIO Contributors
Copyright Contributors to the OpenColorIO Project – ocio-dev@lists.aswf.io
This software is released under terms of New BSD License: https://opensource.org/licenses/BSD-3-Clause
https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES