]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/statistic.h
(no commit message)
[imagemagick] / MagickCore / statistic.h
index 54909f4dbec628c1ad74a7ac165c1821cec11b91..78dd8584a544718ee272879a70cee9e605f0fde9 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization
+  Copyright 1999-2014 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.
@@ -28,6 +28,7 @@ typedef struct _ChannelStatistics
     depth;
 
   double
+    area,
     minima,
     maxima,
     sum,
@@ -41,39 +42,62 @@ typedef struct _ChannelStatistics
     skewness;
 } ChannelStatistics;
 
+typedef struct _ChannelMoments
+{
+  double
+    I[32];
+
+  PointInfo
+    centroid,
+    ellipse_axis;
+
+  double
+    ellipse_angle,
+    ellipse_eccentricity,
+    ellipse_intensity;
+} ChannelMoments;
+
+typedef struct _ChannelPerceptualHash
+{
+  double
+    P[32],
+    Q[32];
+} ChannelPerceptualHash;
+
 typedef enum
 {
   UndefinedEvaluateOperator,
+  AbsEvaluateOperator,
   AddEvaluateOperator,
+  AddModulusEvaluateOperator,
   AndEvaluateOperator,
+  CosineEvaluateOperator,
   DivideEvaluateOperator,
+  ExponentialEvaluateOperator,
+  GaussianNoiseEvaluateOperator,
+  ImpulseNoiseEvaluateOperator,
+  LaplacianNoiseEvaluateOperator,
   LeftShiftEvaluateOperator,
+  LogEvaluateOperator,
   MaxEvaluateOperator,
+  MeanEvaluateOperator,
+  MedianEvaluateOperator,
   MinEvaluateOperator,
+  MultiplicativeNoiseEvaluateOperator,
   MultiplyEvaluateOperator,
   OrEvaluateOperator,
+  PoissonNoiseEvaluateOperator,
+  PowEvaluateOperator,
   RightShiftEvaluateOperator,
   SetEvaluateOperator,
+  SineEvaluateOperator,
   SubtractEvaluateOperator,
-  XorEvaluateOperator,
-  PowEvaluateOperator,
-  LogEvaluateOperator,
-  ThresholdEvaluateOperator,
+  SumEvaluateOperator,
   ThresholdBlackEvaluateOperator,
+  ThresholdEvaluateOperator,
   ThresholdWhiteEvaluateOperator,
-  GaussianNoiseEvaluateOperator,
-  ImpulseNoiseEvaluateOperator,
-  LaplacianNoiseEvaluateOperator,
-  MultiplicativeNoiseEvaluateOperator,
-  PoissonNoiseEvaluateOperator,
   UniformNoiseEvaluateOperator,
-  CosineEvaluateOperator,
-  SineEvaluateOperator,
-  AddModulusEvaluateOperator,
-  MeanEvaluateOperator,
-  AbsEvaluateOperator,
-  ExponentialEvaluateOperator,
-  MedianEvaluateOperator
+  XorEvaluateOperator
 } MagickEvaluateOperator;
 
 typedef enum
@@ -101,8 +125,15 @@ typedef enum
 extern MagickExport ChannelStatistics
   *GetImageStatistics(const Image *,ExceptionInfo *);
 
+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 *),
   *StatisticImage(const Image *,const StatisticType,const size_t,const size_t,
     ExceptionInfo *);