MagickCore  7.0.1
statistic.c File Reference
#include "MagickCore/studio.h"
#include "MagickCore/property.h"
#include "MagickCore/accelerate-private.h"
#include "MagickCore/animate.h"
#include "MagickCore/blob.h"
#include "MagickCore/blob-private.h"
#include "MagickCore/cache.h"
#include "MagickCore/cache-private.h"
#include "MagickCore/cache-view.h"
#include "MagickCore/client.h"
#include "MagickCore/color.h"
#include "MagickCore/color-private.h"
#include "MagickCore/colorspace.h"
#include "MagickCore/colorspace-private.h"
#include "MagickCore/composite.h"
#include "MagickCore/composite-private.h"
#include "MagickCore/compress.h"
#include "MagickCore/constitute.h"
#include "MagickCore/display.h"
#include "MagickCore/draw.h"
#include "MagickCore/enhance.h"
#include "MagickCore/exception.h"
#include "MagickCore/exception-private.h"
#include "MagickCore/gem.h"
#include "MagickCore/gem-private.h"
#include "MagickCore/geometry.h"
#include "MagickCore/list.h"
#include "MagickCore/image-private.h"
#include "MagickCore/magic.h"
#include "MagickCore/magick.h"
#include "MagickCore/memory_.h"
#include "MagickCore/module.h"
#include "MagickCore/monitor.h"
#include "MagickCore/monitor-private.h"
#include "MagickCore/option.h"
#include "MagickCore/paint.h"
#include "MagickCore/pixel-accessor.h"
#include "MagickCore/profile.h"
#include "MagickCore/quantize.h"
#include "MagickCore/quantum-private.h"
#include "MagickCore/random_.h"
#include "MagickCore/random-private.h"
#include "MagickCore/resource_.h"
#include "MagickCore/segment.h"
#include "MagickCore/semaphore.h"
#include "MagickCore/signature-private.h"
#include "MagickCore/statistic.h"
#include "MagickCore/string_.h"
#include "MagickCore/thread-private.h"
#include "MagickCore/timer.h"
#include "MagickCore/utility.h"
#include "MagickCore/version.h"
Include dependency graph for statistic.c:

Go to the source code of this file.

Data Structures

struct  _PixelChannels
 
struct  _SkipNode
 
struct  _SkipList
 
struct  _PixelList
 

Macros

#define EvaluateImageTag   "Evaluate/Image"
 
#define FunctionImageTag   "Function/Image "
 
#define MaxNumberImageMoments   8
 
#define Log10Epsilon   (1.0e-11)
 
#define PolynomialImageTag   "Polynomial/Image"
 
#define StatisticImageTag   "Statistic/Image"
 

Typedefs

typedef struct _PixelChannels PixelChannels
 
typedef struct _SkipNode SkipNode
 
typedef struct _SkipList SkipList
 
typedef struct _PixelList PixelList
 

Functions

static PixelChannels ** DestroyPixelThreadSet (PixelChannels **pixels)
 
static PixelChannels ** AcquirePixelThreadSet (const Image *image)
 
static double EvaluateMax (const double x, const double y)
 
static int IntensityCompare (const void *x, const void *y)
 
static double ApplyEvaluateOperator (RandomInfo *random_info, const Quantum pixel, const MagickEvaluateOperator op, const double value)
 
MagickExport ImageEvaluateImages (const Image *images, const MagickEvaluateOperator op, ExceptionInfo *exception)
 
MagickExport MagickBooleanType EvaluateImage (Image *image, const MagickEvaluateOperator op, const double value, ExceptionInfo *exception)
 
static Quantum ApplyFunction (Quantum pixel, const MagickFunction function, const size_t number_parameters, const double *parameters, ExceptionInfo *exception)
 
MagickExport MagickBooleanType FunctionImage (Image *image, const MagickFunction function, const size_t number_parameters, const double *parameters, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetImageEntropy (const Image *image, double *entropy, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetImageExtrema (const Image *image, size_t *minima, size_t *maxima, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetImageKurtosis (const Image *image, double *kurtosis, double *skewness, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetImageMean (const Image *image, double *mean, double *standard_deviation, ExceptionInfo *exception)
 
static size_t GetImageChannels (const Image *image)
 
MagickExport ChannelMomentsGetImageMoments (const Image *image, ExceptionInfo *exception)
 
static double MagickLog10 (const double x)
 
MagickExport ChannelPerceptualHashGetImagePerceptualHash (const Image *image, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetImageRange (const Image *image, double *minima, double *maxima, ExceptionInfo *exception)
 
MagickExport ChannelStatisticsGetImageStatistics (const Image *image, ExceptionInfo *exception)
 
MagickExport ImagePolynomialImage (const Image *images, const size_t number_terms, const double *terms, ExceptionInfo *exception)
 
static PixelListDestroyPixelList (PixelList *pixel_list)
 
static PixelList ** DestroyPixelListThreadSet (PixelList **pixel_list)
 
static PixelListAcquirePixelList (const size_t width, const size_t height)
 
static PixelList ** AcquirePixelListThreadSet (const size_t width, const size_t height)
 
static void AddNodePixelList (PixelList *pixel_list, const size_t color)
 
static void GetMaximumPixelList (PixelList *pixel_list, Quantum *pixel)
 
static void GetMeanPixelList (PixelList *pixel_list, Quantum *pixel)
 
static void GetMedianPixelList (PixelList *pixel_list, Quantum *pixel)
 
static void GetMinimumPixelList (PixelList *pixel_list, Quantum *pixel)
 
static void GetModePixelList (PixelList *pixel_list, Quantum *pixel)
 
static void GetNonpeakPixelList (PixelList *pixel_list, Quantum *pixel)
 
static void GetRootMeanSquarePixelList (PixelList *pixel_list, Quantum *pixel)
 
static void GetStandardDeviationPixelList (PixelList *pixel_list, Quantum *pixel)
 
static void InsertPixelList (const Quantum pixel, PixelList *pixel_list)
 
static void ResetPixelList (PixelList *pixel_list)
 
MagickExport ImageStatisticImage (const Image *image, const StatisticType type, const size_t width, const size_t height, ExceptionInfo *exception)
 

Macro Definition Documentation

#define EvaluateImageTag   "Evaluate/Image"

Referenced by EvaluateImage(), and EvaluateImages().

#define FunctionImageTag   "Function/Image "

Referenced by FunctionImage().

#define Log10Epsilon   (1.0e-11)

Referenced by MagickLog10().

#define MaxNumberImageMoments   8
#define PolynomialImageTag   "Polynomial/Image"

Referenced by PolynomialImage().

#define StatisticImageTag   "Statistic/Image"

Referenced by StatisticImage().

Typedef Documentation

typedef struct _PixelChannels PixelChannels
typedef struct _PixelList PixelList
typedef struct _SkipList SkipList
typedef struct _SkipNode SkipNode

Function Documentation

static PixelList* AcquirePixelList ( const size_t  width,
const size_t  height 
)
static
static PixelList** AcquirePixelListThreadSet ( const size_t  width,
const size_t  height 
)
static
static PixelChannels** AcquirePixelThreadSet ( const Image image)
static
static void AddNodePixelList ( PixelList pixel_list,
const size_t  color 
)
static
static Quantum ApplyFunction ( Quantum  pixel,
const MagickFunction  function,
const size_t  number_parameters,
const double *  parameters,
ExceptionInfo exception 
)
static
static PixelList* DestroyPixelList ( PixelList pixel_list)
static
static PixelList** DestroyPixelListThreadSet ( PixelList **  pixel_list)
static
static PixelChannels** DestroyPixelThreadSet ( PixelChannels **  pixels)
static
static double EvaluateMax ( const double  x,
const double  y 
)
inlinestatic

Definition at line 190 of file statistic.c.

Referenced by ApplyEvaluateOperator(), and GetImageStatistics().

static size_t GetImageChannels ( const Image image)
static
MagickExport MagickBooleanType GetImageExtrema ( const Image image,
size_t *  minima,
size_t *  maxima,
ExceptionInfo exception 
)
static void GetMaximumPixelList ( PixelList pixel_list,
Quantum pixel 
)
inlinestatic
static void GetMeanPixelList ( PixelList pixel_list,
Quantum pixel 
)
inlinestatic
static void GetMedianPixelList ( PixelList pixel_list,
Quantum pixel 
)
inlinestatic
static void GetMinimumPixelList ( PixelList pixel_list,
Quantum pixel 
)
inlinestatic
static void GetModePixelList ( PixelList pixel_list,
Quantum pixel 
)
inlinestatic
static void GetNonpeakPixelList ( PixelList pixel_list,
Quantum pixel 
)
inlinestatic
static void GetRootMeanSquarePixelList ( PixelList pixel_list,
Quantum pixel 
)
inlinestatic
static void GetStandardDeviationPixelList ( PixelList pixel_list,
Quantum pixel 
)
inlinestatic
static void InsertPixelList ( const Quantum  pixel,
PixelList pixel_list 
)
inlinestatic
static int IntensityCompare ( const void *  x,
const void *  y 
)
static

Definition at line 201 of file statistic.c.

References _PixelChannels::channel, and MaxPixelChannels.

Referenced by EvaluateImages().

static double MagickLog10 ( const double  x)
inlinestatic

Definition at line 1769 of file statistic.c.

References Log10Epsilon.

Referenced by GetImagePerceptualHash(), and GetImageStatistics().

static void ResetPixelList ( PixelList pixel_list)
static
MagickExport Image* StatisticImage ( const Image image,
const StatisticType  type,
const size_t  width,
const size_t  height,
ExceptionInfo exception 
)