]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Tue, 19 Oct 2010 01:24:07 +0000 (01:24 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Tue, 19 Oct 2010 01:24:07 +0000 (01:24 +0000)
ChangeLog
magick/option.c
magick/statistic.c
magick/statistic.h

index 8c7441278fc17becdaf5651ab61a7dcbc72518bc..2a84c8e839f88baf40d34403cd0d4a368fccd3e6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@
   * Ignore PS bounding box offsets if -page is set.
   * Use #pragma omp master for dumping single threaded debugging information
     (single caused a fault).
+  * Add support for -evaluate exp.
 
 2010-10-12  6.6.5-0 Anthony Thyssen <A.Thyssen@griffith...>
   * Added "filter:sigma" expert setting defining the 'sigma' for the Gaussian
index 709ae548d4a44a16beccf644532a0c34a3891b06..1e01e5974621ef176e44ae4fd166f76fb487ad98 100644 (file)
@@ -903,6 +903,8 @@ static const OptionInfo
     { "Cos", (ssize_t) CosineEvaluateOperator, MagickFalse },
     { "Cosine", (ssize_t) CosineEvaluateOperator, MagickFalse },
     { "Divide", (ssize_t) DivideEvaluateOperator, MagickFalse },
+    { "Exp", (ssize_t) ExponentialEvaluateOperator, MagickFalse },
+    { "Exponential", (ssize_t) ExponentialEvaluateOperator, MagickFalse },
     { "GaussianNoise", (ssize_t) GaussianNoiseEvaluateOperator, MagickFalse },
     { "ImpulseNoise", (ssize_t) ImpulseNoiseEvaluateOperator, MagickFalse },
     { "LaplacianNoise", (ssize_t) LaplacianNoiseEvaluateOperator, MagickFalse },
index d44fd0909aae939be320ef406c8510e14942a153..db53e3deefb6de38da2ba9262f976134f71bcbae 100644 (file)
@@ -224,8 +224,7 @@ static MagickRealType ApplyEvaluateOperator(RandomInfo *random_info,
     }
     case AndEvaluateOperator:
     {
-      result=(MagickRealType) ((size_t) pixel & (size_t)
-        (value+0.5));
+      result=(MagickRealType) ((size_t) pixel & (size_t) (value+0.5));
       break;
     }
     case CosineEvaluateOperator:
@@ -239,6 +238,12 @@ static MagickRealType ApplyEvaluateOperator(RandomInfo *random_info,
       result=pixel/(value == 0.0 ? 1.0 : value);
       break;
     }
+    case ExponentialEvaluateOperator:
+    {
+      result=(MagickRealType) (QuantumRange*exp((double) (value*QuantumScale*
+        pixel)));
+      break;
+    }
     case GaussianNoiseEvaluateOperator:
     {
       result=(MagickRealType) GenerateDifferentialNoise(random_info,pixel,
@@ -259,8 +264,7 @@ static MagickRealType ApplyEvaluateOperator(RandomInfo *random_info,
     }
     case LeftShiftEvaluateOperator:
     {
-      result=(MagickRealType) ((size_t) pixel << (size_t)
-        (value+0.5));
+      result=(MagickRealType) ((size_t) pixel << (size_t) (value+0.5));
       break;
     }
     case LogEvaluateOperator:
@@ -297,8 +301,7 @@ static MagickRealType ApplyEvaluateOperator(RandomInfo *random_info,
     }
     case OrEvaluateOperator:
     {
-      result=(MagickRealType) ((size_t) pixel | (size_t)
-        (value+0.5));
+      result=(MagickRealType) ((size_t) pixel | (size_t) (value+0.5));
       break;
     }
     case PoissonNoiseEvaluateOperator:
@@ -315,8 +318,7 @@ static MagickRealType ApplyEvaluateOperator(RandomInfo *random_info,
     }
     case RightShiftEvaluateOperator:
     {
-      result=(MagickRealType) ((size_t) pixel >> (size_t)
-        (value+0.5));
+      result=(MagickRealType) ((size_t) pixel >> (size_t) (value+0.5));
       break;
     }
     case SetEvaluateOperator:
@@ -360,8 +362,7 @@ static MagickRealType ApplyEvaluateOperator(RandomInfo *random_info,
     }
     case XorEvaluateOperator:
     {
-      result=(MagickRealType) ((size_t) pixel ^ (size_t)
-        (value+0.5));
+      result=(MagickRealType) ((size_t) pixel ^ (size_t) (value+0.5));
       break;
     }
   }
index b600d7d7a7e9f8f6c743ca4d1c5a14351f985fe4..e16807440ab6254a25fc77d055547a48654d6909 100644 (file)
@@ -71,7 +71,8 @@ typedef enum
   SineEvaluateOperator,
   AddModulusEvaluateOperator,
   MeanEvaluateOperator,
-  AbsEvaluateOperator
+  AbsEvaluateOperator,
+  ExponentialEvaluateOperator
 } MagickEvaluateOperator;
 
 typedef enum