From 34b78eacf3bef963cade67c70f5f12785b9fe702 Mon Sep 17 00:00:00 2001 From: cristy Date: Wed, 9 Oct 2013 00:31:52 +0000 Subject: [PATCH] --- MagickCore/fourier.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/MagickCore/fourier.c b/MagickCore/fourier.c index ab17cf6a3..146ea219c 100644 --- a/MagickCore/fourier.c +++ b/MagickCore/fourier.c @@ -60,6 +60,7 @@ #include "MagickCore/property.h" #include "MagickCore/quantum-private.h" #include "MagickCore/resource_.h" +#include "MagickCore/string-private.h" #include "MagickCore/thread-private.h" #if defined(MAGICKCORE_FFTW_DELEGATE) #if defined(MAGICKCORE_HAVE_COMPLEX_H) @@ -139,12 +140,18 @@ MagickExport Image *ComplexImages(const Image *images, *Ci_view, *Cr_view; + const char + *artifact; + const Image *Ai_image, *Ar_image, *Bi_image, *Br_image; + double + snr; + Image *Ci_image, *complex_images, @@ -197,6 +204,10 @@ MagickExport Image *ComplexImages(const Image *images, /* Apply complex mathematics to image pixels. */ + artifact=GetImageArtifact(image,"complex:snr"); + snr=0.0; + if (artifact != (const char *) NULL) + snr=StringToDouble(artifact,(char **) NULL); Ar_image=images; Ai_image=images->next; Br_image=images; @@ -278,7 +289,7 @@ MagickExport Image *ComplexImages(const Image *images, double gamma; - gamma=PerceptibleReciprocal(Br[i]*Br[i]+Bi[i]*Bi[i]); + gamma=PerceptibleReciprocal(Br[i]*Br[i]+Bi[i]*Bi[i]+snr); Cr[i]=gamma*(Ar[i]*Br[i]+Ai[i]*Bi[i]); Ci[i]=gamma*(Ai[i]*Br[i]-Ar[i]*Bi[i]); break; -- 2.50.0