Scaling algorithm


#1

I was just using my “scale and watermark” workflow on a new photo when I noticed the sharpness of the downscaled image is not as good as I would hope. I tried a “Lanczos 3 (non-separable)” scale to the same dimensions using Affinity Photo and I think the result was visibly crisper than Retrobatch achieved with “High” quality.

Is this something that can be improved upon, and can Retrobatch list (at least in the documentation) what algorithms are being used in each case (though nearest neighbour is already shown).

The example photo was scaling down from 5968px to 3200px wide.


#2

The different quality options are flags to Apple’s CGContextSetInterpolationQuality() function. It doesn’t go into detail other than it’s “good / better / best”.

However, there is a Lanczos scaling option in Acorn- and I’m wondering if the results you might get from that are what you’re after? It’s something that I can look into bringing to Retrobatch if you think it’s better with the images you’re using.


#3

I just gave it a go in Acorn. It may be slightly better than what Retrobatch does currently, but I can still see a clear difference to Affinity’s output which remains superior.

In Affinity there are two Lanczos algorithms — separated and non-separated. The latter is the slowest and “best”. I tried using the separated algorithm from Affinity and it does appear identical to what Acorn produced, so that may be the difference.

Here’s a rather involved discussion of the differences (or not!) between the two variants in Affinity.


#4

Interesting! Thanks for the pointers. No promises, but I’ll look into adding it to Retrobatch.