NoHalo and LoHalo are the new GEGL samplers, developed by Nicolas Robidoux to reduce the blur in the resampled images.
NoHalo level 1 consists of one diagonal straightening subdivision followed by bilinear interpolation, as described in this paper:
Like many edge-enhancing methods, Nohalo has two main stages: first,
nonlinear interpolation is used to create a double-density version of
the original image; this doubledensity image is then resampled with
bilinear interpolation. Nohalo is especially suited for GPU computing
because the nonlinear slopes can be computed once and stored in a low
bit-depth texture without rounding error, because the final bilinear
stage can be performed in hardware, and because monotonicity allows
full use of the texture’s dynamic range.
In the paper you can find also a comparison with Lanczos method.
LoHalo is described as a sigmoidized EWA (Elliptical Weighted Averaging) with the Robidoux bicubic for upsampling, blended with non-sigmoidized EWA Robidoux for downsampling.
The author introduced on GimpUsers the new samplers, and crowfounded the development of the algorithms.
You can find here a brief description of this family of samplers:
- LoHalo method: when you downscale an image that's less than a half of the original size
- NoHalo method when you do not reduce the size much (rotate, shear or something)
- LoBlur method (yet to come) focuses on output sharpness. It is based on standard tensor Lanczos 3 for upsampling, blended with EWA Lanczos Radius 3 for downsampling.
- LoJaggy (yet to come) is a special method and aimed at reducing jaggyness. This method is similar to EWA LanczosSharp.
These samplers can be emulated using ImageMagick resampling filers, developed by Nicolas Robidoux himself.