From 7c4c78fe1a6a4884ad06dcf886cd1f6a40cc037c Mon Sep 17 00:00:00 2001 From: cristy Date: Sun, 15 Jun 2014 21:57:39 +0000 Subject: [PATCH] --- MagickCore/option.c | 2 ++ MagickCore/statistic.c | 12 ++++++++++++ MagickCore/statistic.h | 1 + 3 files changed, 15 insertions(+) diff --git a/MagickCore/option.c b/MagickCore/option.c index a1412d062..f517add2c 100644 --- a/MagickCore/option.c +++ b/MagickCore/option.c @@ -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 }, diff --git a/MagickCore/statistic.c b/MagickCore/statistic.c index f162483af..bfd1f4b65 100644 --- a/MagickCore/statistic.c +++ b/MagickCore/statistic.c @@ -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; } diff --git a/MagickCore/statistic.h b/MagickCore/statistic.h index db53dff3c..5917cdc47 100644 --- a/MagickCore/statistic.h +++ b/MagickCore/statistic.h @@ -89,6 +89,7 @@ typedef enum PoissonNoiseEvaluateOperator, PowEvaluateOperator, RightShiftEvaluateOperator, + RootMeanSquareEvaluateOperator, SetEvaluateOperator, SineEvaluateOperator, SubtractEvaluateOperator, -- 2.40.0