Dehaze estimated haze from a Gaussian of each pixel's darkest channel, so
ordinary tones read as haze (-0.5 EV on a haze-free textured ground at +50)
and shadows next to bright sky clipped to black from +10. Process V3 takes
the Gaussian of a patch minimum (0.5 % of the long edge, separable, O(1) per
pixel on the CPU; min_h/min_v on the GPU), eases the response in, floors
the transmission at 0.15 and never removes more veil than 90 % of the
pixel's darkest channel. V1 and V2 render as before.
Sources: He, Sun, Tang, "Single Image Haze Removal Using Dark Channel
Prior" (CVPR 2009); van Herk / Gil-Werman running min; own easing and veil
limit.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>