Skip to content

RH Hue Compressor

Dr Senthil Manikandan edited this page Jun 6, 2026 · 1 revision

RH Hue Compressor

🎑 6-Vector Hue Compression Engine

RH Hue Compressor is a targeted hue correction and normalisation tool. It lets you compress, attract, or anchor individual hue families toward user-definable targets across all six standard vectors β€” Red, Yellow, Green, Cyan, Blue, and Magenta.

Unlike a traditional hue rotation (which shifts a hue to a new angle), compression pulls stray hues toward a centre point proportionally to their distance from it. The further a hue sits from the target, the stronger the pull. A hue already sitting exactly at the centre point is not moved at all.

This makes it ideal for gently normalising hues that have drifted β€” for example, pulling yellows that have gone slightly green back toward a truer yellow β€” without causing hard boundaries or creating blocky colour transitions.

rh_hue_compressor_controls

πŸ“– Table of Contents


1. Core Concept πŸ’‘

For each of the six hue vectors, the tool performs the following operation:

  1. Identify which pixels fall within the influence range of that vector.
  2. Measure the signed angular distance from each pixel's current hue to the vector's target centre.
  3. Multiply that distance by the Compression amount to get the shift.
  4. Add the shift to the current hue β€” drawing it toward the centre.

At Compression = 0.0, nothing moves. At Compression = 1.0, hues within the active range are fully pulled to the centre point in a single pass. Between 0.0 and 1.0, the pull is proportional β€” hues far from centre move more than hues close to it, tapering naturally without discontinuities.


2. Per-Vector Controls πŸŽ›οΈ

Six identical control groups are available, one per hue family. Each group has three parameters:

Parameter Description
[Color] Compression Strength of the pull toward the centre. 0.0 = off, 1.0 = full compression.
[Color] Center Fine offset to shift the target point away from the default hue angle.
[Color] Range Width of the hue neighbourhood that is affected.

Compression (per vector)

  • Range: 0.0 – 1.0
  • Default: 0.0 (no effect)
  • This is the primary control. Raise it to start compressing that colour family.
  • At 1.0, all pixels in the active range are pulled fully to the centre target.
  • The pull is weighted: pixels closer to the boundary of the range are pulled less than pixels near the centre.

Center (per vector)

  • Range: -0.1 – +0.1 (normalised hue units, where the full hue circle = 1.0)
  • Default: 0.0 (default vector angle)
  • Use this to bias the target point slightly away from the nominal vector position.
  • Useful when your footage has a systematic hue skew (e.g., your camera's green channel consistently reads slightly teal rather than pure green).

Default vector positions (normalised 0–1 hue space):

Vector Nominal Position
Red 0.000 (or 1.000 β€” wraps)
Yellow 0.167
Green 0.333
Cyan 0.500
Blue 0.667
Magenta 0.833

Range (per vector)

  • Range: 0.0 – 1.0
  • Default: 0.5
  • Controls how wide the plateau of influence is around the vector centre.
  • A Range of 0.5 corresponds to approximately Β±25Β° of hue angle (scaled from range Γ— 0.14 in normalised space, with a fixed 0.03 smoothstep falloff).
  • Lower values narrow the selection (only near-centre hues are affected). Higher values broaden it.
  • Increasing Range on adjacent vectors causes them to overlap; this is intentional and can be used for broad hue normalisation.

Important: Setting Range to 0.0 effectively disables that vector regardless of the Compression value, since no pixels fall within an infinitesimally narrow window.


3. Global Blend 🎚️

  • Range: 0.0 – 1.0
  • Default: 1.0
  • A master wet/dry blend applied after all vector compressions.
  • 1.0 = full effect (compressed result).
  • 0.0 = bypass (original image passes through).
  • Use this to gently reduce the overall intensity of all compressions simultaneously, without having to adjust each vector individually.

4. Under the Hood β€” Reuleaux (HRO) Color Model πŸ”¬

All hue operations are performed in the Reuleaux (HRO) colour space, a geometrically uniform hue representation derived from the RGB cube's cross-section.

Hue compression has no effect on the luminance or chroma density of the image; it is a purely angular operation.

The HRO model provides more perceptually uniform spacing between hue vectors than standard HSV or HSL, which makes the compression feel more linear and predictable as you move the Range slider.


5. Node Placement πŸ—‚οΈ

Expected pipeline:

  • Scene-referred input
  • DaVinci Wide Gamut / Intermediate (DWG/DI)

Recommended placement:

  • After primary balance, before saturation-heavy grading operations.
  • Useful as a normalisation pass directly after IDT / input transform, before any creative work.
  • Can also be placed after creative colour work, to tighten hues that drifted during grading.

Like all RH tools, this DCTL assumes scene-referred, wide-gamut input. Operating in display-referred space (Rec.709) may produce different vector positions and unexpected hue behaviour.


6. Usage Tips πŸ’¬

  • Start with Compression at 0: Activate the effect gradually. A value of 0.1–0.3 is enough for subtle correction; values above 0.7 may produce obvious normalisation.
  • Use Center to match your camera's tendency: If your camera consistently produces slightly cool reds, shift Red Center slightly negative. This lets you compress to the corrected target rather than the mathematical nominal.
  • Narrow Range for surgical work: If you only want to affect saturated reds without touching desaturated or transitional hues, bring Range down to 0.2–0.3.
  • Global Blend as a final safety valve: Once all vectors are dialed in, use Global Blend to ease the total effect to taste. This avoids over-processing while still benefiting from the correction.
  • Combine vectors intentionally: Simultaneously compressing Yellow and Green at moderate ranges with slightly overlapping coverage is effective for normalising foliage that contains both green and yellow hues.
  • This tool does not change saturation: If you want to also reduce the chroma density of a particular hue, combine this with RH Chroma Gate in a downstream node.