All scaling has artifacts.

Hi,

Correct (unless one wants to settle for a very low resolution version), in practice one attempts to create an interpolated result with values at the new locations that can exceed the local values, unlike a bi-linear result which has very low contrast. However, some algorithms produce better results than others, in most cases (including non-integer magnification factors) of properly processed continuous tone images.

If your input contains highly regular (typically aliased) high-frequency material (fences, roof-tiles, birds feathers,...), these artifacts may give rise to patterns that are quite visible. If you keep your resampling factor to an integer, these patterns will tend to have a small period, that may be less annoying.

For up-sampling, that depends on the original image content, which should not be sharpened enough to be aliased (IOW proper capture sharpening, and not more than that). It also depends on the resampling algorithm, but that can be tested quite easily.

To test the quality of the resampling algorithm, one can use an image filled with uniform (white) noise, and preform a Fast Fourier Transform (FFT) on it after resampling. That will reveal potential issues with the algorithm (although it requires a bit of knowledge about interpretation of Fourier transforms, i.e. lossless spatial domain to frequency domain transforms).

Here are e.g. the results of 3 different algorithms/filters on a 200% magnification, and the yellow circle indicates the Nyquist frequency (the default ImageJ result displays the Logarithm of the transform, to amplify the visibility of any weaker signal levels towards the corners):

The Bicubic Smoother algorithm at the left is performing it's interpolation in the horizontal and vertical direction (possibly in 2 separate passes, for speed reasons). That also results in a higher diagonal resolution, the central noisy area extends closer to the Nyquist limit. Also clear is that that approach creates (mostly) horizontal and vertical (overshoot/ringing/aliasing) artifacts, and limits the horizontal and vertical resolution to some 62% of the new dimensions (so we have gained a little hor/ver resolution, but also some artifacts).

The middle FFT is of a 200% up-sampled noise image with ImageMagick, using the Elliptical Weighted Average (EWA) resampling method (-distort Resize). That EWA resampling results in more balanced resolution in all directions and angles. The Lanczos filter windowed resampling, produces the same horizontal and vertical resolution and less diagonal resolution, but also less aliasing (the signal levels outside the Nyquist circle are lower), but is also not (ringing) artifact free in the horizontal and vertical dimensions.

The example at the right is also an EWA resampling in ImageMagick, but this time the Robidoux windowing filter was used, which produces much higher horizontal and vertical resolution (equal to the diagonal resolution of an orthogonal resampling method), but also some more ringing and some aliasing in all directions, although mostly in horizontal and vertical directions.

Just for fun, I also tested Benvista's Photozoom Pro although it's main forte is adding new edge detail resolution. Here is the result of a 200% up-sample with the S-Spline Max algorithm:

It too shows signs of orthogonal resampling, but no very prominent ringing or aliasing artifacts. There is some noise aliasing, but very evenly spread in all directions. The actual up-sampled noise looks quite pleasant and well defined. Again, Photozoom's forte is in adding edge detail and resolution, but that doesn't show in an image with only random noise.

Cheers,

Bart