MagickCore 7.1.0
Convert, Edit, Or Compose Bitmap Images
statistic.c File Reference
#include "MagickCore/studio.h"
#include "MagickCore/accelerate-private.h"
#include "MagickCore/animate.h"
#include "MagickCore/artifact.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/property.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 SwapPixels(alpha, beta)
 
#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 ** DestroyPixelTLS (const Image *images, PixelChannels **pixels)
 
static PixelChannels ** AcquirePixelTLS (const Image *images)
 
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)
 
static ImageAcquireImageCanvas (const Image *images, ExceptionInfo *exception)
 
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)
 
MagickExport MagickBooleanType GetImageMedian (const Image *image, double *median, ExceptionInfo *exception)
 
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)
 
static ssize_t GetMedianPixel (Quantum *pixels, const size_t n)
 
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 ** DestroyPixelListTLS (PixelList **pixel_list)
 
static PixelListAcquirePixelList (const size_t width, const size_t height)
 
static PixelList ** AcquirePixelListTLS (const size_t width, const size_t height)
 
static void AddNodePixelList (PixelList *pixel_list, const size_t color)
 
static void GetMedianPixelList (PixelList *pixel_list, Quantum *pixel)
 
static void GetModePixelList (PixelList *pixel_list, Quantum *pixel)
 
static void GetNonpeakPixelList (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

◆ EvaluateImageTag

#define EvaluateImageTag   "Evaluate/Image"

◆ FunctionImageTag

#define FunctionImageTag   "Function/Image "

◆ Log10Epsilon

#define Log10Epsilon   (1.0e-11)

◆ MaxNumberImageMoments

#define MaxNumberImageMoments   8

◆ PolynomialImageTag

#define PolynomialImageTag   "Polynomial/Image"

◆ StatisticImageTag

#define StatisticImageTag   "Statistic/Image"

◆ SwapPixels

#define SwapPixels (   alpha,
  beta 
)
Value:
{ \
Quantum gamma=(alpha); \
(alpha)=(beta);(beta)=gamma; \
}
unsigned short Quantum
Definition: magick-type.h:86

Typedef Documentation

◆ PixelChannels

typedef struct _PixelChannels PixelChannels

◆ PixelList

typedef struct _PixelList PixelList

◆ SkipList

typedef struct _SkipList SkipList

◆ SkipNode

typedef struct _SkipNode SkipNode

Function Documentation

◆ AcquireImageCanvas()

static Image * AcquireImageCanvas ( const Image images,
ExceptionInfo exception 
)
static

◆ AcquirePixelList()

static PixelList * AcquirePixelList ( const size_t  width,
const size_t  height 
)
static

◆ AcquirePixelListTLS()

static PixelList ** AcquirePixelListTLS ( const size_t  width,
const size_t  height 
)
static

◆ AcquirePixelTLS()

◆ AddNodePixelList()

static void AddNodePixelList ( PixelList pixel_list,
const size_t  color 
)
static

◆ ApplyEvaluateOperator()

◆ ApplyFunction()

static Quantum ApplyFunction ( Quantum  pixel,
const MagickFunction  function,
const size_t  number_parameters,
const double *  parameters,
ExceptionInfo exception 
)
static

◆ DestroyPixelList()

static PixelList * DestroyPixelList ( PixelList pixel_list)
static

◆ DestroyPixelListTLS()

static PixelList ** DestroyPixelListTLS ( PixelList **  pixel_list)
static

◆ DestroyPixelTLS()

static PixelChannels ** DestroyPixelTLS ( const Image images,
PixelChannels **  pixels 
)
static

◆ EvaluateImage()

◆ EvaluateImages()

◆ EvaluateMax()

static double EvaluateMax ( const double  x,
const double  y 
)
inlinestatic

Definition at line 204 of file statistic.c.

Referenced by ApplyEvaluateOperator().

◆ FunctionImage()

◆ GetImageEntropy()

◆ GetImageExtrema()

MagickExport MagickBooleanType GetImageExtrema ( const Image image,
size_t *  minima,
size_t *  maxima,
ExceptionInfo exception 
)

◆ GetImageKurtosis()

◆ GetImageMean()

◆ GetImageMedian()

◆ GetImageMoments()

◆ GetImagePerceptualHash()

◆ GetImageRange()

◆ GetImageStatistics()

MagickExport ChannelStatistics * GetImageStatistics ( const Image image,
ExceptionInfo exception 
)

◆ GetMedianPixel()

static ssize_t GetMedianPixel ( Quantum pixels,
const size_t  n 
)
static

Definition at line 1978 of file statistic.c.

References SwapPixels.

Referenced by GetImageStatistics().

◆ GetMedianPixelList()

static void GetMedianPixelList ( PixelList pixel_list,
Quantum pixel 
)
inlinestatic

◆ GetModePixelList()

static void GetModePixelList ( PixelList pixel_list,
Quantum pixel 
)
inlinestatic

◆ GetNonpeakPixelList()

static void GetNonpeakPixelList ( PixelList pixel_list,
Quantum pixel 
)
inlinestatic

◆ InsertPixelList()

static void InsertPixelList ( const Quantum  pixel,
PixelList pixel_list 
)
inlinestatic

◆ IntensityCompare()

static int IntensityCompare ( const void *  x,
const void *  y 
)
static

Definition at line 215 of file statistic.c.

References _PixelChannels::channel, and MaxPixelChannels.

Referenced by EvaluateImages().

◆ MagickLog10()

static double MagickLog10 ( const double  x)
inlinestatic

Definition at line 1727 of file statistic.c.

References Log10Epsilon.

Referenced by GetImagePerceptualHash(), and GetImageStatistics().

◆ PolynomialImage()

◆ ResetPixelList()

static void ResetPixelList ( PixelList pixel_list)
static

◆ StatisticImage()