]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/statistic.h
Update web pages
[imagemagick] / MagickCore / statistic.h
index ab06b366c7dc2c07c493ae82e0cda032473ab528..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,22 +42,32 @@ typedef struct _ChannelStatistics
     variance,
     standard_deviation,
     kurtosis,
-    skewness;
+    skewness,
+    entropy;
 } ChannelStatistics;
 
 typedef struct _ChannelMoments
 {
   double
-    I1,
-    I2,
-    I3,
-    I4,
-    I5,
-    I6,
-    I7,
-    I8;
+     invariant[MaximumNumberOfImageMoments+1];
+
+  PointInfo
+    centroid,
+    ellipse_axis;
+
+  double
+    ellipse_angle,
+    ellipse_eccentricity,
+    ellipse_intensity;
 } ChannelMoments;
 
+typedef struct _ChannelPerceptualHash
+{
+  double
+    srgb_hu_phash[MaximumNumberOfImageMoments+1],
+    hclp_hu_phash[MaximumNumberOfImageMoments+1];
+} ChannelPerceptualHash;
+
 typedef enum
 {
   UndefinedEvaluateOperator,
@@ -80,6 +93,7 @@ typedef enum
   PoissonNoiseEvaluateOperator,
   PowEvaluateOperator,
   RightShiftEvaluateOperator,
+  RootMeanSquareEvaluateOperator,
   SetEvaluateOperator,
   SineEvaluateOperator,
   SubtractEvaluateOperator,
@@ -110,6 +124,7 @@ typedef enum
   MinimumStatistic,
   ModeStatistic,
   NonpeakStatistic,
+  RootMeanSquareStatistic,
   StandardDeviationStatistic
 } StatisticType;
 
@@ -119,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 *),
@@ -130,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 *),