Skip to content

v1.1.0 — Exposure & white-balance stabilization

Choose a tag to compare

@bebkill bebkill released this 30 Aug 12:43
· 64 commits to main since this release

This release addresses the flicker reported on the published timelapse: “the light and white balance keeps changing.”

Brightness — auto-exposure flicker is now actually removed

Exposure was already normalized, but the per-frame gain was computed against a smoothed brightness curve: the frame-to-frame jumps of a phone's auto-exposure lived exactly in the band the smoothing preserved, and passed through untouched. The gain is now inverted on the raw measured level (a median over thousands of lit pixels — its measurement noise is negligible), so real exposure steps are cancelled instead of kept.

White balance — stabilized toward its own trajectory, never toward neutral

Auto white balance oscillates from frame to frame; the sequence's real tint should not. Each channel is now corrected toward a step-preserving reference of the sequence's own chroma trajectory (3-tap binomial + rolling median over 31 frames, capped at ±25 % per channel, luminance-neutral per frame). In practice:

  • the oscillation of the phone's auto white balance disappears;
  • a red solar filter stays red, a sunset stays warm — this is not a neutralization;
  • removing the filter mid-sequence remains a clean, immediate change;
  • frames without a usable measurement are left untouched.

Enabled by default. --sans-couleur disables it (brightness stays normalized); --couleur-fenetre and --couleur-amplitude tune it.

Viewer

The render step gains a “stabilize color” checkbox, with a collapsible fine-tuning section (reference window, maximum correction) shown only while the feature is enabled. Settings changed from the page enter the render descriptor, so the pipeline banner correctly reports an existing render as “to redo” after a change — including renders made with v1.0.0, which predate these settings.


Cette version corrige le scintillement rapporté sur le timelapse publié (luminosité et balance des blancs). La luminance est désormais corrigée image par image sur le niveau mesuré brut (les sauts d'auto-exposition étaient auparavant préservés par le lissage), et la balance des blancs est stabilisée vers sa propre trajectoire — jamais vers le neutre : un filtre solaire rouge reste rouge, et son retrait en cours de séquence reste un vrai changement. Actif par défaut (--sans-couleur pour désactiver) ; le viewer gagne une case « stabiliser la couleur » avec une section de réglages dépliable.