18#ifndef MAGICKCORE_STATISTIC_H
19#define MAGICKCORE_STATISTIC_H
21#if defined(__cplusplus) || defined(c_plusplus)
25#define MaximumNumberOfImageMoments 8
26#define MaximumNumberOfPerceptualColorspaces 6
27#define MaximumNumberOfPerceptualHashes 7
61 invariant[MaximumNumberOfImageMoments+1];
76 srgb_hu_phash[MaximumNumberOfImageMoments+1],
77 hclp_hu_phash[MaximumNumberOfImageMoments+1];
83 colorspace[MaximumNumberOfPerceptualColorspaces+1];
86 phash[MaximumNumberOfPerceptualColorspaces+1][MaximumNumberOfImageMoments+1];
90} ChannelPerceptualHash;
94 UndefinedEvaluateOperator,
97 AddModulusEvaluateOperator,
99 CosineEvaluateOperator,
100 DivideEvaluateOperator,
101 ExponentialEvaluateOperator,
102 GaussianNoiseEvaluateOperator,
103 ImpulseNoiseEvaluateOperator,
104 LaplacianNoiseEvaluateOperator,
105 LeftShiftEvaluateOperator,
108 MeanEvaluateOperator,
109 MedianEvaluateOperator,
111 MultiplicativeNoiseEvaluateOperator,
112 MultiplyEvaluateOperator,
114 PoissonNoiseEvaluateOperator,
116 RightShiftEvaluateOperator,
117 RootMeanSquareEvaluateOperator,
119 SineEvaluateOperator,
120 SubtractEvaluateOperator,
122 ThresholdBlackEvaluateOperator,
123 ThresholdEvaluateOperator,
124 ThresholdWhiteEvaluateOperator,
125 UniformNoiseEvaluateOperator,
127 InverseLogEvaluateOperator
128} MagickEvaluateOperator;
149 RootMeanSquareStatistic,
150 StandardDeviationStatistic,
154extern MagickExport ChannelStatistics
155 *GetImageStatistics(
const Image *,ExceptionInfo *);
157extern MagickExport ChannelMoments
158 *GetImageMoments(
const Image *,ExceptionInfo *);
160extern MagickExport ChannelPerceptualHash
161 *GetImagePerceptualHash(
const Image *,ExceptionInfo *);
163extern MagickExport Image
164 *EvaluateImages(
const Image *,
const MagickEvaluateOperator,ExceptionInfo *),
165 *PolynomialImage(
const Image *,
const size_t,
const double *,ExceptionInfo *),
166 *StatisticImage(
const Image *,
const StatisticType,
const size_t,
const size_t,
169extern MagickExport MagickBooleanType
170 EvaluateImage(Image *,
const MagickEvaluateOperator,
const double,
172 FunctionImage(Image *,
const MagickFunction,
const size_t,
const double *,
174 GetImageEntropy(
const Image *,
double *,ExceptionInfo *),
175 GetImageExtrema(
const Image *,
size_t *,
size_t *,ExceptionInfo *),
176 GetImageMean(
const Image *,
double *,
double *,ExceptionInfo *),
177 GetImageMedian(
const Image *,
double *,ExceptionInfo *),
178 GetImageKurtosis(
const Image *,
double *,
double *,ExceptionInfo *),
179 GetImageRange(
const Image *,
double *,
double *,ExceptionInfo *);
181#if defined(__cplusplus) || defined(c_plusplus)