Coder Social home page Coder Social logo

mjtitchener-fn / opencolorio-config-aces Goto Github PK

View Code? Open in Web Editor NEW

This project forked from academysoftwarefoundation/opencolorio-config-aces

0.0 0.0 0.0 555 KB

Home Page: https://opencolorio.org

License: BSD 3-Clause "New" or "Revised" License

Python 99.51% Dockerfile 0.49%

opencolorio-config-aces's Introduction

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.

1   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. - Spreadsheet-driven generation.
  • Included CLF transforms along with generator and discovery support.

2   User Guide

2.1   Installation

2.1.1   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

2.1.2   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.8 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 --extras "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 --extras "optional graphviz"

2.1.3   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

2.1.4   Pypi

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

2.1.4.1   Primary Dependencies
2.1.4.2   Optional Dependencies
2.1.4.3   Development Dependencies

Once the dependencies are satisfied, the OpenColorIO Configuration for ACES package can be installed from the Python Package Index by issuing this command in a shell:

pip install --user opencolorio-config-aces

2.2   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.

2.3   Usage

2.3.1   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
2.3.1.1   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
2.3.1.2   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
2.3.1.3   Reference Config
Task Command
Build invoke build-config-studio
Build (Docker) invoke docker-run-build-config-studio
Updating Mapping File invoke update-mapping-file-studio

3   API Reference

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

4   About

OpenColorIO Configuration for ACES by OpenColorIO Contributors
Copyright Contributors to the OpenColorIO Project – [email protected]
This software is released under terms of New BSD License: https://opensource.org/licenses/BSD-3-Clause

opencolorio-config-aces's People

Contributors

kelsolaar avatar michdolan avatar doug-walker avatar scoopxyz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.