MagickCore
6.9.10
Convert, Edit, Or Compose Bitmap Images
|
Go to the documentation of this file.
18 #ifndef MAGICKCORE_COMPARE_H
19 #define MAGICKCORE_COMPARE_H
23 #if defined(__cplusplus) || defined(c_plusplus)
64 #if defined(__cplusplus) || defined(c_plusplus)
ColorspaceType colorspace
Definition: image.h:158
#define QuantumScale
Definition: magick-type.h:120
#define MagickExport
Definition: method-attribute.h:80
MagickBooleanType debug
Definition: image.h:290
char filename[MaxTextExtent]
Definition: image.h:278
@ NormalizedCrossCorrelationErrorMetric
Definition: compare.h:37
MagickProgressMonitor progress_monitor
Definition: image.h:264
ssize_t x
Definition: geometry.h:129
MagickExport Image * CloneImage(const Image *image, const size_t columns, const size_t rows, const MagickBooleanType detach, ExceptionInfo *exception)
Definition: image.c:788
ErrorInfo error
Definition: image.h:258
static MagickBooleanType GetRootMeanSquaredDistortion(const Image *image, const Image *reconstruct_image, const ChannelType channel, double *distortion, ExceptionInfo *exception)
Definition: compare.c:1573
MagickBooleanType matte
Definition: image.h:171
MagickExport MagickBooleanType SetImageProgress(const Image *image, const char *tag, const MagickOffsetType offset, const MagickSizeType extent)
Definition: monitor.c:136
#define OpaqueOpacity
Definition: image.h:27
MagickExport MagickBooleanType IsImagesEqual(Image *image, const Image *reconstruct_image)
Definition: compare.c:1894
@ DirectClass
Definition: magick-type.h:187
@ BlueChannel
Definition: magick-type.h:165
MagickExport MagickBooleanType IsMagickColorSimilar(const MagickPixelPacket *p, const MagickPixelPacket *q)
Definition: color.c:1977
#define MagickMaximumValue
Definition: magick-type.h:116
#define GetMagickModule()
Definition: log.h:29
MagickExport CacheView * DestroyCacheView(CacheView *cache_view)
Definition: cache-view.c:256
MagickExport void GetMagickPixelPacket(const Image *image, MagickPixelPacket *pixel)
Definition: pixel.c:2242
unsigned int MagickStatusType
Definition: magick-type.h:127
@ RedChannel
Definition: magick-type.h:160
ChannelType
Definition: magick-type.h:157
#define MagickCoreSignature
Definition: method-attribute.h:86
#define SimilarityImageTag
static MagickBooleanType GetMeanAbsoluteDistortion(const Image *image, const Image *reconstruct_image, const ChannelType channel, double *distortion, ExceptionInfo *exception)
Definition: compare.c:703
MagickExport MagickBooleanType SetImageMask(Image *image, const Image *mask)
Definition: image.c:3172
@ IndexChannel
Definition: magick-type.h:171
MagickExport PixelPacket * GetCacheViewAuthenticPixels(CacheView *cache_view, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache-view.c:473
double normalized_mean_error
Definition: color.h:68
#define magick_restrict
Definition: MagickCore.h:41
static MagickBooleanType GetFuzzDistortion(const Image *image, const Image *reconstruct_image, const ChannelType channel, double *distortion, ExceptionInfo *exception)
Definition: compare.c:578
static MagickBooleanType GetPeakSignalToNoiseRatio(const Image *image, const Image *reconstruct_image, const ChannelType channel, double *distortion, ExceptionInfo *exception)
Definition: compare.c:1390
MagickExport MagickBooleanType GetImageChannelDistortion(Image *, const Image *, const ChannelType, const MetricType, double *, ExceptionInfo *)
Definition: geometry.h:122
#define SetPixelRed(pixel, value)
Definition: pixel-accessor.h:82
@ PeakAbsoluteErrorMetric
Definition: compare.h:34
double mean_error_per_pixel
Definition: color.h:67
double P[32]
Definition: statistic.h:70
size_t columns
Definition: image.h:174
#define SetPixelGreen(pixel, value)
Definition: pixel-accessor.h:77
Quantum IndexPacket
Definition: pixel.h:129
static void ConvertRGBToCMYK(MagickPixelPacket *pixel)
Definition: colorspace-private.h:40
@ FuzzErrorMetric
Definition: compare.h:38
const MagickExport IndexPacket * GetCacheViewVirtualIndexQueue(const CacheView *cache_view)
Definition: cache-view.c:638
static double GetFuzzyColorDistance(const Image *p, const Image *q)
Definition: color-private.h:35
#define INFINITY
Definition: magick-type.h:217
#define GetPixelRed(pixel)
Definition: pixel-accessor.h:50
Definition: cache-view.c:65
static MagickBooleanType GetPeakAbsoluteDistortion(const Image *image, const Image *reconstruct_image, const ChannelType channel, double *distortion, ExceptionInfo *exception)
Definition: compare.c:1254
MagickExport void SetGeometry(const Image *image, RectangleInfo *geometry)
Definition: geometry.c:1672
@ RootMeanSquaredErrorMetric
Definition: compare.h:36
Definition: statistic.h:67
MagickExport Image * CompareImages(Image *, const Image *, const MetricType, double *, ExceptionInfo *)
@ UndefinedMetric
Definition: compare.h:29
@ MagickTrue
Definition: magick-type.h:194
MagickExport PixelPacket * QueueCacheViewAuthenticPixels(CacheView *cache_view, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache-view.c:883
ssize_t y
Definition: geometry.h:130
@ OpaqueAlphaChannel
Definition: image.h:38
CompositeOperator compose
Definition: image.h:235
#define GetPixelAlpha(pixel)
Definition: pixel-accessor.h:36
#define GetPixelIndex(indexes)
Definition: pixel-accessor.h:44
MagickExport MagickBooleanType SyncCacheViewAuthenticPixels(CacheView *magick_restrict cache_view, ExceptionInfo *exception)
Definition: cache-view.c:1000
MagickExport ChannelPerceptualHash * GetImageChannelPerceptualHash(const Image *image, ExceptionInfo *exception)
Definition: statistic.c:2114
static Quantum ClampToQuantum(const MagickRealType quantum)
Definition: quantum.h:88
static MagickBooleanType GetMeanSquaredDistortion(const Image *image, const Image *reconstruct_image, const ChannelType channel, double *distortion, ExceptionInfo *exception)
Definition: compare.c:957
MetricType
Definition: compare.h:27
double mean
Definition: statistic.h:42
MagickExport Image * CompareImages(Image *image, const Image *reconstruct_image, const MetricType metric, double *distortion, ExceptionInfo *exception)
Definition: compare.c:111
@ TraceEvent
Definition: log.h:38
#define ThrowImageException(severity, tag)
Definition: exception-private.h:70
MagickExport MagickBooleanType SetImageAlphaChannel(Image *image, const AlphaChannelType alpha_type)
Definition: channel.c:652
MagickExport IndexPacket * GetCacheViewAuthenticIndexQueue(CacheView *cache_view)
Definition: cache-view.c:564
MagickExport CacheView * AcquireAuthenticCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:111
MagickExport Image * CompareImageChannels(Image *, const Image *, const ChannelType, const MetricType, double *, ExceptionInfo *)
@ ImageError
Definition: exception.h:69
MagickExport MagickBooleanType FormatImageProperty(Image *image, const char *property, const char *format,...)
Definition: property.c:349
#define MaximumNumberOfImageMoments
Definition: statistic.h:27
#define MagickMax(x, y)
Definition: image-private.h:29
@ OpacityChannel
Definition: magick-type.h:168
ExceptionInfo exception
Definition: image.h:287
#define SetPixelBlue(pixel, value)
Definition: pixel-accessor.h:71
MagickExport ChannelStatistics * GetImageChannelStatistics(const Image *image, ExceptionInfo *exception)
Definition: statistic.c:2339
@ MagickFalse
Definition: magick-type.h:193
MagickBooleanType(* MagickProgressMonitor)(const char *, const MagickOffsetType, const MagickSizeType, void *)
Definition: monitor.h:26
#define GetPixelBlue(pixel)
Definition: pixel-accessor.h:38
MagickExport MagickBooleanType GetImageDistortion(Image *image, const Image *reconstruct_image, const MetricType metric, double *distortion, ExceptionInfo *exception)
Definition: compare.c:416
MagickExport MagickBooleanType QueryMagickColor(const char *name, MagickPixelPacket *color, ExceptionInfo *exception)
Definition: color.c:2942
MagickExport double * GetImageChannelDistortions(Image *image, const Image *reconstruct_image, const MetricType metric, ExceptionInfo *exception)
Definition: compare.c:1736
#define GetPixelOpacity(pixel)
Definition: pixel-accessor.h:49
static MagickBooleanType ValidateImageMorphology(const Image *magick_restrict image, const Image *magick_restrict reconstruct_image)
Definition: compare.c:141
@ DefaultChannels
Definition: magick-type.h:181
static double GetSimilarityMetric(const Image *image, const Image *reference, const MetricType metric, const ssize_t x_offset, const ssize_t y_offset, ExceptionInfo *exception)
Definition: compare.c:2047
MagickExport Image * SimilarityImage(Image *image, const Image *reference, RectangleInfo *offset, double *similarity_metric, ExceptionInfo *exception)
Definition: compare.c:2077
MagickExport MagickBooleanType CompositeImage(Image *image, const CompositeOperator compose, const Image *source_image, const ssize_t x_offset, const ssize_t y_offset)
Definition: composite.c:1587
MagickExport MagickBooleanType GetImageDistortion(Image *, const Image *, const MetricType, double *, ExceptionInfo *)
static double PerceptibleReciprocal(const double x)
Definition: pixel-accessor.h:124
#define QuantumRange
Definition: magick-type.h:86
@ CMYKColorspace
Definition: colorspace.h:39
static MagickBooleanType GetAbsoluteDistortion(const Image *image, const Image *reconstruct_image, const ChannelType channel, double *distortion, ExceptionInfo *exception)
Definition: compare.c:428
size_t rows
Definition: image.h:175
MagickExport Image * CompareImageChannels(Image *image, const Image *reconstruct_image, const ChannelType channel, const MetricType metric, double *distortion, ExceptionInfo *exception)
Definition: compare.c:154
const MagickExport PixelPacket * GetCacheViewVirtualPixels(const CacheView *cache_view, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache-view.c:723
MagickExport MagickBooleanType IsImagesEqual(Image *, const Image *)
Definition: compare.c:1894
static void SetMagickPixelPacket(const Image *image, const PixelPacket *color, const IndexPacket *index, MagickPixelPacket *pixel)
Definition: pixel-private.h:78
size_t signature
Definition: exception.h:124
@ BlackChannel
Definition: magick-type.h:170
@ PerceptualHashErrorMetric
Definition: compare.h:40
MagickExport double * GetImageChannelDistortions(Image *, const Image *, const MetricType, ExceptionInfo *)
Definition: compare.c:1736
size_t signature
Definition: image.h:307
MagickBooleanType
Definition: magick-type.h:191
static double StringToDouble(const char *magick_restrict string, char **magick_restrict sentinal)
Definition: string-private.h:42
@ AbsoluteErrorMetric
Definition: compare.h:30
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1077
@ UndefinedErrorMetric
Definition: compare.h:39
static MagickBooleanType GetPerceptualHashDistortion(const Image *image, const Image *reconstruct_image, const ChannelType channel, double *distortion, ExceptionInfo *exception)
Definition: compare.c:1447
Definition: exception.h:102
MagickExport Image * SimilarityMetricImage(Image *image, const Image *reference, const MetricType metric, RectangleInfo *offset, double *similarity_metric, ExceptionInfo *exception)
Definition: compare.c:2088
MagickDoubleType MagickRealType
Definition: magick-type.h:125
@ CompositeChannels
Definition: magick-type.h:172
MagickExport CacheView * AcquireVirtualCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:153
static size_t GetNumberChannels(const Image *image, const ChannelType channel)
Definition: compare.c:122
@ MeanSquaredErrorMetric
Definition: compare.h:33
MagickExport Image * DestroyImage(Image *image)
Definition: image.c:1188
static MagickBooleanType GetMeanErrorPerPixel(Image *image, const Image *reconstruct_image, const ChannelType channel, double *distortion, ExceptionInfo *exception)
Definition: compare.c:824
MagickExport Image * SimilarityMetricImage(Image *, const Image *, const MetricType, RectangleInfo *, double *, ExceptionInfo *)
Definition: compare.c:2088
@ DeactivateAlphaChannel
Definition: image.h:36
MagickExport int GetMagickPrecision(void)
Definition: magick.c:681
MagickExport Image * SimilarityImage(Image *, const Image *, RectangleInfo *, double *, ExceptionInfo *)
#define MagickEpsilon
Definition: magick-type.h:115
MagickExport MagickBooleanType ThrowMagickException(ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *tag, const char *format,...)
Definition: exception.c:1068
#define ThrowFatalException(severity, tag)
Definition: exception-private.h:42
static double MagickLog10(const double x)
Definition: compare.c:1381
@ MeanAbsoluteErrorMetric
Definition: compare.h:31
MagickExport MagickBooleanType SetImageStorageClass(Image *image, const ClassType storage_class)
Definition: image.c:2611
#define GetPixelGreen(pixel)
Definition: pixel-accessor.h:43
double Q[32]
Definition: statistic.h:71
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
Definition: log.c:1399
double standard_deviation
Definition: statistic.h:44
@ MeanErrorPerPixelMetric
Definition: compare.h:32
const MagickExport char * GetImageArtifact(const Image *image, const char *artifact)
Definition: artifact.c:266
MagickExport void InheritException(ExceptionInfo *exception, const ExceptionInfo *relative)
Definition: exception.c:633
double normalized_maximum_error
Definition: color.h:69
@ ResourceLimitFatalError
Definition: exception.h:78
#define MagickMin(x, y)
Definition: image-private.h:30
@ PeakSignalToNoiseRatioMetric
Definition: compare.h:35
@ GreenChannel
Definition: magick-type.h:163
#define ThrowBinaryException(severity, tag, context)
Definition: exception-private.h:29
Definition: statistic.h:30
static void SetPixelPacket(const Image *image, const MagickPixelPacket *pixel, PixelPacket *color, IndexPacket *index)
Definition: pixel-private.h:103
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:544
ssize_t MagickOffsetType
Definition: magick-type.h:135
static MagickBooleanType GetNormalizedCrossCorrelationDistortion(const Image *image, const Image *reconstruct_image, const ChannelType channel, double *distortion, ExceptionInfo *exception)
Definition: compare.c:1079
MagickExport MagickBooleanType GetImageChannelDistortion(Image *image, const Image *reconstruct_image, const ChannelType channel, const MetricType metric, double *distortion, ExceptionInfo *exception)
Definition: compare.c:1598