A Flame Python script that colour matches two cameras using a Macbeth ColorChecker chart. Click 24 patches on Camera A (reference) and Camera B (source), then export a corrected EXR or 3D LUT. Works in ACEScg scene-linear.
- Standard Camera mode — pure 3x3 colour matrix correction, preserves full dynamic range and clean shadows
- HDR / 360 mode — Thin-Plate Spline RBF correction for wide-gamut cameras with negative channel values
- Export options — corrected EXR, 3D LUT (.cube), or both
- Image sequence support — process a full sequence in one go, output named
<name>_matched.####.exr, auto-imports into Flame Batch - Session save/recall — save A and B patch data by name, reload later to apply the same correction to new footage without re-clicking
- HDR session recall — load a saved HDR session and apply directly to a new B clip without re-clicking patches
- OpenImageIO support — uses oiio if available (standard on Linux VFX systems), falls back to OpenCV automatically
- Autodesk Flame 2026+
- Python packages:
numpyandopencv-python(or OpenImageIO)
cd ab_colorchecker
bash install.shThe install script finds your Flame Python automatically and installs any missing packages.
Copy the ab_colorchecker/ folder to:
/opt/Autodesk/shared/python/
So the path is:
/opt/Autodesk/shared/python/ab_colorchecker/__init__.py
Then install required packages:
/opt/Autodesk/python/*/bin/python3 -m pip install numpy opencv-python --break-system-packagesTo find your exact Python path, run in Flame's Python console:
import sys; print(sys.executable)If packages are missing on first launch, the script will attempt to install them automatically and prompt you to restart Flame.
For air-gapped systems or environments where auto-install is not permitted, create a file called ab_colorchecker_paths.py in the same folder as __init__.py. Use it to point the script at your existing library installations:
import sys
sys.path.insert(0, '/opt/vfx/python/lib/python3.10/site-packages')See ab_colorchecker_paths.py for examples. The script loads this file automatically if present — no changes to the main script needed.
- Right-click in Flame Batch or Media Panel → AB ColorChecker → Match Cameras...
- Choose Standard Camera or HDR / 360
- Load a Camera A frame and click all 24 patches in order (1→24)
- Load a Camera B frame and click all 24 patches in order (1→24)
- Click Apply Correction
- Choose export: Single Image, Image Sequence, and/or 3D LUT
- After clicking patches, enter a name and click Save Session to store the patch data
- Next time, click Load Session to restore the A side — just load a new B frame and click its 24 patches
- For HDR sessions, loading offers to apply directly to a new B clip without re-clicking
Designed for ACEScg scene-linear footage. Both Camera A and Camera B frames should be in ACEScg before processing.
- Standard mode uses a pure 3x3 matrix — zero always maps to zero, no shadow crushing, full dynamic range preserved
- HDR mode uses an RBF which gives better colour accuracy for wide-gamut cameras but requires EXR output (no LUT for HDR)
- The 3D LUT option is Standard mode only — the matrix is linear so the LUT closely matches the EXR output
- Sessions are saved as
.jsonfiles and can be shared between machines
Current version: v3.9.2
See script docstring for full changelog.
MIT — free to use, modify, and distribute.