MagickCore  6.9.12-19
Convert, Edit, Or Compose Bitmap Images
statistic.c File Reference
#include "magick/studio.h"
#include "magick/accelerate-private.h"
#include "magick/animate.h"
#include "magick/blob.h"
#include "magick/blob-private.h"
#include "magick/cache.h"
#include "magick/cache-private.h"
#include "magick/cache-view.h"
#include "magick/client.h"
#include "magick/color.h"
#include "magick/color-private.h"
#include "magick/colorspace.h"
#include "magick/colorspace-private.h"
#include "magick/composite.h"
#include "magick/composite-private.h"
#include "magick/compress.h"
#include "magick/constitute.h"
#include "magick/deprecate.h"
#include "magick/display.h"
#include "magick/draw.h"
#include "magick/enhance.h"
#include "magick/exception.h"
#include "magick/exception-private.h"
#include "magick/gem.h"
#include "magick/geometry.h"
#include "magick/list.h"
#include "magick/image-private.h"
#include "magick/magic.h"
#include "magick/magick.h"
#include "magick/memory_.h"
#include "magick/module.h"
#include "magick/monitor.h"
#include "magick/monitor-private.h"
#include "magick/option.h"
#include "magick/paint.h"
#include "magick/pixel-private.h"
#include "magick/profile.h"
#include "magick/property.h"
#include "magick/quantize.h"
#include "magick/random_.h"
#include "magick/random-private.h"
#include "magick/resource_.h"
#include "magick/segment.h"
#include "magick/semaphore.h"
#include "magick/signature-private.h"
#include "magick/statistic.h"
#include "magick/string_.h"
#include "magick/thread-private.h"
#include "magick/timer.h"
#include "magick/utility.h"
#include "magick/version.h"

Data Structures

struct  _ListNode
 
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 ListChannels   5
 
#define StatisticImageTag   "Statistic/Image"
 

Typedefs

typedef struct _ListNode ListNode
 
typedef struct _SkipList SkipList
 
typedef struct _PixelList PixelList
 

Functions

static MagickPixelPacket ** DestroyPixelThreadSet (const Image *images, MagickPixelPacket **pixels)
 
static MagickPixelPacket ** AcquirePixelThreadSet (const Image *images)
 
static double EvaluateMax (const double x, const double y)
 
static int IntensityCompare (const void *x, const void *y)
 
static MagickRealType ApplyEvaluateOperator (RandomInfo *random_info, const Quantum pixel, const MagickEvaluateOperator op, const MagickRealType value)
 
static ImageAcquireImageCanvas (const Image *images, ExceptionInfo *exception)
 
MagickExport MagickBooleanType EvaluateImage (Image *image, const MagickEvaluateOperator op, const double value, ExceptionInfo *exception)
 
MagickExport ImageEvaluateImages (const Image *images, const MagickEvaluateOperator op, ExceptionInfo *exception)
 
MagickExport MagickBooleanType EvaluateImageChannel (Image *image, const ChannelType channel, 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 FunctionImageChannel (Image *image, const ChannelType channel, 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 GetImageChannelEntropy (const Image *image, const ChannelType channel, double *entropy, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetImageExtrema (const Image *image, size_t *minima, size_t *maxima, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetImageChannelExtrema (const Image *image, const ChannelType channel, size_t *minima, size_t *maxima, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetImageKurtosis (const Image *image, double *kurtosis, double *skewness, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetImageChannelKurtosis (const Image *image, const ChannelType channel, double *kurtosis, double *skewness, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetImageMean (const Image *image, double *mean, double *standard_deviation, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetImageChannelMean (const Image *image, const ChannelType channel, double *mean, double *standard_deviation, ExceptionInfo *exception)
 
MagickExport ChannelMomentsGetImageChannelMoments (const Image *image, ExceptionInfo *exception)
 
static double MagickLog10 (const double x)
 
MagickExport
ChannelPerceptualHash
GetImageChannelPerceptualHash (const Image *image, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetImageRange (const Image *image, double *minima, double *maxima, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetImageChannelRange (const Image *image, const ChannelType channel, double *minima, double *maxima, ExceptionInfo *exception)
 
MagickExport ChannelStatisticsGetImageChannelStatistics (const Image *image, ExceptionInfo *exception)
 
MagickExport ImagePolynomialImage (const Image *images, const size_t number_terms, const double *terms, ExceptionInfo *exception)
 
MagickExport ImagePolynomialImageChannel (const Image *images, const ChannelType channel, 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 ssize_t channel, const size_t color)
 
static void GetMaximumPixelList (PixelList *pixel_list, MagickPixelPacket *pixel)
 
static void GetMeanPixelList (PixelList *pixel_list, MagickPixelPacket *pixel)
 
static void GetMedianPixelList (PixelList *pixel_list, MagickPixelPacket *pixel)
 
static void GetMinimumPixelList (PixelList *pixel_list, MagickPixelPacket *pixel)
 
static void GetModePixelList (PixelList *pixel_list, MagickPixelPacket *pixel)
 
static void GetNonpeakPixelList (PixelList *pixel_list, MagickPixelPacket *pixel)
 
static void GetRootMeanSquarePixelList (PixelList *pixel_list, MagickPixelPacket *pixel)
 
static void GetStandardDeviationPixelList (PixelList *pixel_list, MagickPixelPacket *pixel)
 
static void InsertPixelList (const Image *image, const PixelPacket *pixel, const IndexPacket *indexes, 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)
 
MagickExport ImageStatisticImageChannel (const Image *image, const ChannelType channel, const StatisticType type, const size_t width, const size_t height, ExceptionInfo *exception)
 

Macro Definition Documentation

#define EvaluateImageTag   "Evaluate/Image"
#define FunctionImageTag   "Function/Image "

Referenced by FunctionImageChannel().

#define Log10Epsilon   (1.0e-11)

Referenced by MagickLog10().

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

Referenced by PolynomialImageChannel().

#define StatisticImageTag   "Statistic/Image"

Referenced by StatisticImageChannel().

Typedef Documentation

typedef struct _ListNode ListNode
typedef struct _PixelList PixelList
typedef struct _SkipList SkipList

Function Documentation

static Image* AcquireImageCanvas ( const Image images,
ExceptionInfo exception 
)
static
static PixelList** AcquirePixelListThreadSet ( const size_t  width,
const size_t  height 
)
static
static void AddNodePixelList ( PixelList pixel_list,
const ssize_t  channel,
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** DestroyPixelListThreadSet ( PixelList **  pixel_list)
static
MagickExport MagickBooleanType EvaluateImage ( Image image,
const MagickEvaluateOperator  op,
const double  value,
ExceptionInfo exception 
)
MagickExport Image* EvaluateImages ( const Image images,
const MagickEvaluateOperator  op,
ExceptionInfo exception 
)

References AcquireAuthenticCacheView(), AcquireImageCanvas(), AcquirePixelThreadSet(), AcquireRandomInfoThreadSet(), AcquireVirtualCacheView(), AddEvaluateOperator, ApplyEvaluateOperator(), _MagickPixelPacket::blue, ClampToQuantum(), CMYKColorspace, _Image::colorspace, _Image::columns, _Image::debug, DestroyCacheView(), DestroyImage(), DestroyPixelThreadSet(), DestroyRandomInfoThreadSet(), DirectClass, EvaluateImageTag, _Image::exception, _Image::filename, GetCacheViewAuthenticIndexQueue(), GetCacheViewVirtualIndexQueue(), GetCacheViewVirtualPixels(), GetImageListLength(), GetMagickModule, GetMagickPixelPacket(), GetNextImageInList(), GetOpenMPThreadId(), GetPixelAlpha, GetPixelBlue, GetPixelGreen, GetPixelIndex, GetPixelRed, GetRandomSecretKey(), _MagickPixelPacket::green, _MagickPixelPacket::index, InheritException(), IntensityCompare(), _SplayTreeInfo::key, LogMagickEvent(), magick_restrict, MagickCoreSignature, MagickFalse, MagickTrue, MeanEvaluateOperator, MedianEvaluateOperator, MultiplyEvaluateOperator, _SplayTreeInfo::next, _MagickPixelPacket::opacity, _Image::progress_monitor, QuantumScale, QueueCacheViewAuthenticPixels(), random_info, _MagickPixelPacket::red, ResourceLimitError, RootMeanSquareEvaluateOperator, _Image::rows, SetImageProgress(), SetImageStorageClass(), SetPixelAlpha, SetPixelBlue, SetPixelGreen, SetPixelIndex, SetPixelRed, _ExceptionInfo::signature, _Image::signature, SyncCacheViewAuthenticPixels(), ThrowMagickException(), and TraceEvent.

Referenced by AverageImages(), MaximumImages(), and MinimumImages().

static double EvaluateMax ( const double  x,
const double  y 
)
inlinestatic
MagickExport MagickBooleanType FunctionImage ( Image image,
const MagickFunction  function,
const size_t  number_parameters,
const double *  parameters,
ExceptionInfo exception 
)
MagickExport MagickBooleanType GetImageChannelExtrema ( const Image image,
const ChannelType  channel,
size_t *  minima,
size_t *  maxima,
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 GetImageRange ( const Image image,
double *  minima,
double *  maxima,
ExceptionInfo exception 
)
static void InsertPixelList ( const Image image,
const PixelPacket pixel,
const IndexPacket indexes,
PixelList pixel_list 
)
inlinestatic
static int IntensityCompare ( const void *  x,
const void *  y 
)
static

References MagickPixelIntensity().

Referenced by EvaluateImages().

static double MagickLog10 ( const double  x)
inlinestatic
MagickExport Image* PolynomialImage ( const Image images,
const size_t  number_terms,
const double *  terms,
ExceptionInfo exception 
)
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 
)
MagickExport Image* StatisticImageChannel ( const Image image,
const ChannelType  channel,
const StatisticType  type,
const size_t  width,
const size_t  height,
ExceptionInfo exception 
)

References AcquireAuthenticCacheView(), AcquirePixelListThreadSet(), AcquireVirtualCacheView(), _MagickPixelPacket::blue, BlueChannel, ClampToQuantum(), CloneImage(), CMYKColorspace, _Image::colorspace, _Image::columns, _Image::debug, DestroyCacheView(), DestroyImage(), DestroyPixelListThreadSet(), DirectClass, _Image::exception, _Image::filename, GetCacheViewAuthenticIndexQueue(), GetCacheViewVirtualIndexQueue(), GetCacheViewVirtualPixels(), GetMagickModule, GetMagickPixelPacket(), GetMaximumPixelList(), GetMeanPixelList(), GetMedianPixelList(), GetMinimumPixelList(), GetModePixelList(), GetNonpeakPixelList(), GetOpenMPThreadId(), GetOptimalKernelWidth2D(), GetRootMeanSquarePixelList(), GetStandardDeviationPixelList(), GradientStatistic, _MagickPixelPacket::green, GreenChannel, _MagickPixelPacket::index, IndexChannel, InheritException(), InsertPixelList(), LogMagickEvent(), magick_restrict, MagickAbsoluteValue, MagickCoreSignature, MagickFalse, MagickTrue, MaximumStatistic, MeanStatistic, MedianStatistic, MinimumStatistic, ModeStatistic, NonpeakStatistic, _MagickPixelPacket::opacity, OpacityChannel, _Image::progress_monitor, QueueCacheViewAuthenticPixels(), _MagickPixelPacket::red, RedChannel, ResetPixelList(), ResourceLimitError, RootMeanSquareStatistic, _Image::rows, SetImageProgress(), SetImageStorageClass(), SetMagickPixelPacket(), SetPixelBlue, SetPixelGreen, SetPixelIndex, SetPixelOpacity, SetPixelRed, _ExceptionInfo::signature, _Image::signature, StandardDeviationStatistic, StatisticImageTag, SyncCacheViewAuthenticPixels(), ThrowImageException, and TraceEvent.

Referenced by StatisticImage().