@zogstrip should we have a setting for this? Or maybe have a test on startup which interpolation method works and setting the used option accordingly.
For the record the ImageMagick in question in 6.6.8. Funny our 7.0.6.7 binary doesnt support it either.
I just double checked the package. While parts of its documentation still mention the bicubic method. The header file with the struct definitely does not anymore. And it was not patched out in the package.
InterpolateOptions[] =
{
{ "Undefined", UndefinedInterpolatePixel, UndefinedOptionFlag, MagickTrue },
{ "Average", AverageInterpolatePixel, UndefinedOptionFlag, MagickFalse },
{ "Average4", AverageInterpolatePixel, UndefinedOptionFlag, MagickFalse },
{ "Average9", Average9InterpolatePixel, UndefinedOptionFlag, MagickFalse },
{ "Average16", Average16InterpolatePixel, UndefinedOptionFlag, MagickFalse },
{ "Background", BackgroundInterpolatePixel, UndefinedOptionFlag, MagickFalse },
{ "Bilinear", BilinearInterpolatePixel, UndefinedOptionFlag, MagickFalse },
{ "Blend", BlendInterpolatePixel, UndefinedOptionFlag, MagickFalse },
{ "Catrom", CatromInterpolatePixel, UndefinedOptionFlag, MagickFalse },
{ "Integer", IntegerInterpolatePixel, UndefinedOptionFlag, MagickFalse },
{ "Mesh", MeshInterpolatePixel, UndefinedOptionFlag, MagickFalse },
{ "Nearest", NearestInterpolatePixel, UndefinedOptionFlag, MagickFalse },
{ "NearestNeighbor", NearestInterpolatePixel, UndefinedOptionFlag, MagickTrue },
{ "Spline", SplineInterpolatePixel, UndefinedOptionFlag, MagickFalse },
/* { "Filter", FilterInterpolatePixel, UndefinedOptionFlag, MagickFalse }, */
{ (char *) NULL, UndefinedInterpolatePixel, UndefinedOptionFlag, MagickFalse }
},
Maybe it is worth to apply @marguerite 's change upstream?
More findings: It was renamed from Bicubic to Catrom. So definitely patching it would be a good idea. Still wondering if testing on startup which is supported should be done.