]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sun, 15 Jun 2014 21:57:39 +0000 (21:57 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sun, 15 Jun 2014 21:57:39 +0000 (21:57 +0000)
MagickCore/option.c
MagickCore/statistic.c
MagickCore/statistic.h

index a1412d0626da3102673d008ec45e8d046b005713..f517add2cf68649cd201385b9d178d60c53dccda 100644 (file)
@@ -1042,6 +1042,8 @@ static const OptionInfo
     { "PoissonNoise", PoissonNoiseEvaluateOperator, UndefinedOptionFlag, MagickFalse },
     { "Pow", PowEvaluateOperator, UndefinedOptionFlag, MagickFalse },
     { "RightShift", RightShiftEvaluateOperator, UndefinedOptionFlag, MagickFalse },
+    { "RMS", RootMeanSquareEvaluateOperator, UndefinedOptionFlag, MagickFalse },
+    { "RootMeanSquare", RootMeanSquareEvaluateOperator, UndefinedOptionFlag, MagickFalse },
     { "Set", SetEvaluateOperator, UndefinedOptionFlag, MagickFalse },
     { "Sin", SineEvaluateOperator, UndefinedOptionFlag, MagickFalse },
     { "Sine", SineEvaluateOperator, UndefinedOptionFlag, MagickFalse },
index f162483afaa1031e874fce5f4a9e1c461a9b0d2d..bfd1f4b65b6e00e81394c7b64bdf4d9b9ca6514c 100644 (file)
@@ -369,6 +369,11 @@ static double ApplyEvaluateOperator(RandomInfo *random_info,const Quantum pixel,
       result=(double) ((size_t) pixel >> (size_t) (value+0.5));
       break;
     }
+    case RootMeanSquareEvaluateOperator:
+    {
+      result=(double) (pixel*pixel+value);
+      break;
+    }
     case SetEvaluateOperator:
     {
       result=value;
@@ -699,6 +704,13 @@ MagickExport Image *EvaluateImages(const Image *images,
               }
               break;
             }
+            case RootMeanSquareEvaluateOperator:
+            {
+              for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+                evaluate_pixel[x].channel[i]=sqrt(evaluate_pixel[x].channel[i]/
+                  number_images);
+              break;
+            }
             default:
               break;
           }
index db53dff3c6c67b29742e63ff7a0894344b643652..5917cdc476fa446ca3be816b53a00951f51db00a 100644 (file)
@@ -89,6 +89,7 @@ typedef enum
   PoissonNoiseEvaluateOperator,
   PowEvaluateOperator,
   RightShiftEvaluateOperator,
+  RootMeanSquareEvaluateOperator,
   SetEvaluateOperator,
   SineEvaluateOperator,
   SubtractEvaluateOperator,