# Purpose
Neutralizing a **Macbeth ColorChecker** (X-Rite / Calibrite) shot on set lets us align the CG render to the live plate by removing the tint introduced by the camera / lens / white balance. Once the plate is neutralized, we can relight CG against a **reference grey** and reapply the plate's color signature at the end of the comp.
# Reference Values (ACEScg, linear)
The bottom row of the chart has 6 neutral patches. Sample the **4th patch from white** — the **mid-grey N5** at **~0.18–0.20** linear. This is the patch we lock onto.
| Patch (from white) | Name | Linear value (ACEScg) |
|---|---|---|
| 1 | White N9.5 | ~0.90 |
| 2 | N8 | ~0.59 |
| 3 | N6.5 | ~0.36 |
| 4 | **N5 (mid-grey)** | **~0.20** |
| 5 | N3.5 | ~0.09 |
| 6 | Black N2 | ~0.03 |
# Workflow in Nuke
## 1. Setup
- Work in **ACEScg** (linear). Make sure the Read node reads the plate with the correct IDT (camera → ACES).
- Hold on a single frame where the chart is clearly lit by the **key light** only (no flags / bounces if possible).
## 2. Neutralize the plate
![[DoNOTDelete/Attachments/Neutralization Mcbeth/image-20220826.png]]
![[DoNOTDelete/Attachments/Neutralization Mcbeth/image-20220826 1.png]]
1. Drop a **CurveTool** or **Sample** on the mid-grey patch (N5).
2. Read the RGB values — they will not be equal (the tint).
3. Divide the plate by that RGB triplet to get a **perfectly neutral grey** on N5.
- Use a **Grade** → set `multiply` to `1 / R, 1 / G, 1 / B` of the sampled value.
- Or use an **Expression** / **ColorCorrect**.
4. Verify: N5 should now read `(0.20, 0.20, 0.20)` — all six neutral patches should be aligned on the diagonal of the Vectorscope (zero saturation).
## 3. `aces_grey_balance`
![[DoNOTDelete/Attachments/Neutralization Mcbeth/image-20220516 4.png|650]]
At the end of the neutralization chain, add an **`aces_grey_balance`** node (OCIO / gizmo) and **sample the 4th grey patch from white (0.20)**.
This locks the plate to ACES neutral reference so the CG can be composited against a known grey.
## 4. Match CG on live
- Render CG with the **same HDRI / lighting rig** used on set, including a **virtual Macbeth** placed where the real one was.
- Compare the virtual chart against the neutralized plate — all 24 patches should match within an acceptable delta-E.
- Any residual tint in the CG is a lookdev / lighting issue, not a comp issue.
## 5. Re-apply the plate's look
Once CG is integrated on the neutralized plate, **invert the neutralization** (Grade with the original RGB triplet in `multiply`) downstream of the comp, so the final image carries the original camera/lens signature.
# Tips
- Always neutralize on a **linear** signal, never on a display-referred (sRGB / Rec.709) image.
- If the chart is lit unevenly, sample a small region and average — or use a **gradient** to compensate across the chart.
- Keep the neutralization **single-channel Grade** only (no gamma, no offset) so the operation is invertible.
- Save the sampled RGB triplet as a **gizmo parameter** or a **sticky note** so the entire comp team uses the same value.
# Related
- CG lookdev validation against Macbeth is a **lookdev sign-off** step, not just a comp step.