From fc2799a3c869e08e82e36db80cebc5ed27cec2ab Mon Sep 17 00:00:00 2001 From: Cristy Date: Sun, 18 May 2025 15:45:04 -0400 Subject: [PATCH] correct distortion computation --- MagickWand/compare.c | 6 +++--- MagickWand/mogrify.c | 3 --- MagickWand/operation.c | 3 --- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/MagickWand/compare.c b/MagickWand/compare.c index 3b853cb207..31e1a54d7c 100644 --- a/MagickWand/compare.c +++ b/MagickWand/compare.c @@ -1171,9 +1171,6 @@ WandExport MagickBooleanType CompareImagesCommand(ImageInfo *image_info, FinalizeImageSettings(image_info,image,MagickTrue); if ((image == (Image *) NULL) || (GetImageListLength(image) < 2)) ThrowCompareException(OptionError,"MissingAnImageFilename",argv[i]); - if ((metric == MeanSquaredErrorMetric) || - (metric == PeakSignalToNoiseRatioErrorMetric)) - distortion_metric=metric; image=GetImageFromList(image,0); reconstruct_image=GetImageFromList(image,1); offset.x=0; @@ -1187,6 +1184,9 @@ WandExport MagickBooleanType CompareImagesCommand(ImageInfo *image_info, if (similarity_metric >= dissimilarity_threshold) (void) ThrowMagickException(exception,GetMagickModule(),ImageWarning, "ImagesTooDissimilar","`%s'",image->filename); + if ((metric == AbsoluteErrorMetric) || + (metric == PeakSignalToNoiseRatioErrorMetric)) + distortion_metric=metric; } if (similarity_image == (Image *) NULL) difference_image=CompareImages(image,reconstruct_image,distortion_metric, diff --git a/MagickWand/mogrify.c b/MagickWand/mogrify.c index 50badcea69..311ab5c912 100644 --- a/MagickWand/mogrify.c +++ b/MagickWand/mogrify.c @@ -7974,9 +7974,6 @@ WandExport MagickBooleanType MogrifyImageList(ImageInfo *image_info, if (option != (const char *) NULL) metric=(MetricType) ParseCommandOption(MagickMetricOptions, MagickFalse,option); - if ((metric != MeanSquaredErrorMetric) && - (metric != PeakSignalToNoiseRatioErrorMetric)) - metric=MeanSquaredErrorMetric; difference_image=CompareImages(image,reconstruct_image,metric, &distortion,exception); if (difference_image == (Image *) NULL) diff --git a/MagickWand/operation.c b/MagickWand/operation.c index 8bb3b597c1..5f6c8ee49b 100644 --- a/MagickWand/operation.c +++ b/MagickWand/operation.c @@ -4003,9 +4003,6 @@ static MagickBooleanType CLIListOperatorImages(MagickCLI *cli_wand, if (option != (const char *) NULL) metric=(MetricType) ParseCommandOption(MagickMetricOptions, MagickFalse,option); - if ((metric != AbsoluteErrorMetric) && - (metric != PeakSignalToNoiseRatioErrorMetric)) - metric=MeanSquaredErrorMetric; new_images=CompareImages(image,reconstruct_image,metric,&distortion, _exception); (void) distortion;