]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/statistic.h
Update web pages
[imagemagick] / MagickCore / statistic.h
index 06bad83d42ee667d20b813729d8518054002221e..2d8f9dca605163cc6026023a8f05e803ac8fdf90 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright 1999-2014 ImageMagick Studio LLC, a non-profit organization
+  Copyright 1999-2015 ImageMagick Studio LLC, a non-profit organization
   dedicated to making software imaging solutions freely available.
   
   You may not use this file except in compliance with the License.
@@ -22,6 +22,9 @@
 extern "C" {
 #endif
 
+#define MaximumNumberOfImageMoments  8
+#define MaximumNumberOfPerceptualHashes  7
+
 typedef struct _ChannelStatistics
 {
   size_t
@@ -39,13 +42,14 @@ typedef struct _ChannelStatistics
     variance,
     standard_deviation,
     kurtosis,
-    skewness;
+    skewness,
+    entropy;
 } ChannelStatistics;
 
 typedef struct _ChannelMoments
 {
   double
-    I[8];
+     invariant[MaximumNumberOfImageMoments+1];
 
   PointInfo
     centroid,
@@ -57,6 +61,13 @@ typedef struct _ChannelMoments
     ellipse_intensity;
 } ChannelMoments;
 
+typedef struct _ChannelPerceptualHash
+{
+  double
+    srgb_hu_phash[MaximumNumberOfImageMoments+1],
+    hclp_hu_phash[MaximumNumberOfImageMoments+1];
+} ChannelPerceptualHash;
+
 typedef enum
 {
   UndefinedEvaluateOperator,
@@ -82,6 +93,7 @@ typedef enum
   PoissonNoiseEvaluateOperator,
   PowEvaluateOperator,
   RightShiftEvaluateOperator,
+  RootMeanSquareEvaluateOperator,
   SetEvaluateOperator,
   SineEvaluateOperator,
   SubtractEvaluateOperator,
@@ -112,6 +124,7 @@ typedef enum
   MinimumStatistic,
   ModeStatistic,
   NonpeakStatistic,
+  RootMeanSquareStatistic,
   StandardDeviationStatistic
 } StatisticType;
 
@@ -121,6 +134,9 @@ extern MagickExport ChannelStatistics
 extern MagickExport ChannelMoments
   *GetImageMoments(const Image *,ExceptionInfo *);
 
+extern MagickExport ChannelPerceptualHash
+  *GetImagePerceptualHash(const Image *,ExceptionInfo *);
+
 extern MagickExport Image
   *EvaluateImages(const Image *,const MagickEvaluateOperator,ExceptionInfo *),
   *PolynomialImage(const Image *,const size_t,const double *,ExceptionInfo *),
@@ -132,6 +148,7 @@ extern MagickExport MagickBooleanType
     ExceptionInfo *),
   FunctionImage(Image *,const MagickFunction,const size_t,const double *,
     ExceptionInfo *),
+  GetImageEntropy(const Image *,double *,ExceptionInfo *),
   GetImageExtrema(const Image *,size_t *,size_t *,ExceptionInfo *),
   GetImageMean(const Image *,double *,double *,ExceptionInfo *),
   GetImageKurtosis(const Image *,double *,double *,ExceptionInfo *),