Skip to main content

pixtreme-aces

ACES Color Management for pixtreme (OCIO ACES 1.2 Compliant)

Overview

pixtreme-aces provides professional ACES color management functionality for VFX and color grading workflows. It implements the Academy Color Encoding System (ACES) 1.2 standard with full GPU acceleration.

Features

  • ACES 1.2 Compliance: Matrix values match OpenColorIO-Config-ACES standard
  • Industry Standard Workflow: Compatible with Nuke, Houdini, Maya color pipelines
  • GPU Accelerated: All operations run on CUDA-enabled GPUs via CuPy
  • Type Preservation: Seamlessly works with both NumPy and CuPy arrays

Installation

Requirements:

  • Python >= 3.12
  • CUDA Toolkit 12.x
  • NVIDIA GPU with compute capability >= 6.0
pip install pixtreme-aces

Requires pixtreme-core and CUDA Toolkit 12.x.

Quick Start

import pixtreme_aces as aces
import pixtreme_core as px

# Read display-referred image (Rec.709/sRGB)
img = px.imread("input.jpg")

# Convert to ACES2065-1 (scene-referred, linear AP0)
aces_img = aces.rec709_to_aces2065_1(img)

# Work in ACES color space
# ... color grading, compositing, etc.

# Convert back to Rec.709 for display
output = aces.aces2065_1_to_rec709(aces_img)

px.imwrite("output.jpg", output)

Color Space Conversions

ACES Working Spaces

  • ACES2065-1: Archive format (linear AP0, wide gamut)
  • ACEScg: CG/VFX working space (linear AP1)
  • ACEScct: Grading space (log-encoded AP1)
# ACES2065-1 ↔ ACEScg
acescg = aces.aces2065_1_to_acescg(aces_img)
aces_img = aces.acescg_to_aces2065_1(acescg)

# ACES2065-1 ↔ ACEScct
acescct = aces.aces2065_1_to_acescct(aces_img)
aces_img = aces.acescct_to_aces2065_1(acescct)

Transfer Functions

The IEC 61966-2-1 sRGB and ITU-R BT.1886 transfer functions are available as independent building blocks. BT.1886 supports configurable display white and black luminance through L_w and L_b.

# sRGB signal ↔ linear light
linear = aces.srgb_eotf(img)
encoded = aces.srgb_inverse_eotf(linear)

# BT.1886 signal ↔ normalized display luminance
linear = aces.bt1886_eotf(img, L_w=100.0, L_b=0.1)
encoded = aces.bt1886_inverse_eotf(linear, L_w=100.0, L_b=0.1)

ACES AP0 and CIE XYZ

Low-level matrix transforms convert between ACES2065-1 AP0 and CIE XYZ with a D60 white point.

xyz_d60 = aces.ap0_to_xyz_d60(aces_img)
aces_img = aces.xyz_d60_to_ap0(xyz_d60)

All conversions above accept NumPy and CuPy arrays, preserve the input array kind and shape, and normalize computation to float32 without clipping scene-referred values.

References

License

MIT License - see LICENSE file for details.

ACES® is a trademark of the Academy of Motion Picture Arts and Sciences (A.M.P.A.S.). This software is not endorsed by A.M.P.A.S.

Metadata

Release files for pixtreme-aces 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pixtreme-aces 0.9.0
File Size Uploaded Provenance
pixtreme_aces-0.9.0.tar.gz 15.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pixtreme-aces 0.9.0
File Interpreter ABI Platform
pixtreme_aces-0.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 26.8 kB

Release files / pixtreme_aces-0.9.0.tar.gz

Download URL pixtreme_aces-0.9.0.tar.gz
Size 15.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ab06a62362d500df84d7e4003c366b08a9743cbb56bf8a221b7682bb14864f4e
BLAKE2b-256 checksum
How to use checksums
c564e450b401a7fa7037cdb8581669182b0b2a09ae6d65abbc9da2edaa48ed2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.22

Release files / pixtreme_aces-0.9.0-py3-none-any.whl

Download URL pixtreme_aces-0.9.0-py3-none-any.whl
Size 11.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab1934cd9daac6fe6d137a43021fccb06de1def701f351a39ff0dafa10bf81b3
BLAKE2b-256 checksum
How to use checksums
f0270ddbd98184360cd88e46157a917fe79b2a285057055987f15468a000ddde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.22

Security for pixtreme-aces 0.9.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page