diff --git a/MagickCore/compare.c b/MagickCore/compare.c
index 5f29d5e..dc266f4 100644
--- a/MagickCore/compare.c
+++ b/MagickCore/compare.c
@@ -906,8 +906,8 @@
/*
Normalize to account for variation due to lighting and exposure condition.
*/
- image_statistics=GetImageChannelStatistics(image,exception);
- reconstruct_statistics=GetImageChannelStatistics(reconstruct_image,exception);
+ image_statistics=GetImageStatistics(image,exception);
+ reconstruct_statistics=GetImageStatistics(reconstruct_image,exception);
status=MagickTrue;
progress=0;
for (i=0; i <= (ssize_t) CompositeChannels; i++)
@@ -1646,7 +1646,7 @@
/*
Normalize to account for variation due to lighting and exposure condition.
*/
- image_statistics=GetImageChannelStatistics(image,exception);
+ image_statistics=GetImageStatistics(image,exception);
status=MagickTrue;
distortion=0.0;
area=1.0/((MagickRealType) image->columns*image->rows);
@@ -1797,7 +1797,7 @@
*/
status=MagickTrue;
progress=0;
- reference_statistics=GetImageChannelStatistics(reference,exception);
+ reference_statistics=GetImageStatistics(reference,exception);
similarity_view=AcquireCacheView(similarity_image);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(dynamic,4) shared(progress,status)
diff --git a/MagickCore/display.c b/MagickCore/display.c
index fb19545..4ba34eb 100644
--- a/MagickCore/display.c
+++ b/MagickCore/display.c
@@ -3801,9 +3801,9 @@
(DrawInfo *) NULL);
(void) QueryColorDatabase(resource_info->pen_colors[pen_id],
&draw_info->fill,exception);
- (void) FloodfillPaintImage(*image,DefaultChannels,draw_info,&target,
- (ssize_t) x_offset,(ssize_t) y_offset,
- method == FloodfillMethod ? MagickFalse : MagickTrue);
+ (void) FloodfillPaintImage(*image,draw_info,&target,(ssize_t)
+ x_offset,(ssize_t) y_offset,method == FloodfillMethod ?
+ MagickFalse : MagickTrue);
draw_info=DestroyDrawInfo(draw_info);
break;
}
@@ -10077,9 +10077,11 @@
(DrawInfo *) NULL);
draw_info->fill.alpha=ClampToQuantum(InterpretLocaleValue(matte,
(char **) NULL));
- (void) FloodfillPaintImage(*image,OpacityChannel,draw_info,&target,
- (ssize_t) x_offset,(ssize_t) y_offset,
- method == FloodfillMethod ? MagickFalse : MagickTrue);
+ PushPixelComponentMap(*image,AlphaChannel);
+ (void) FloodfillPaintImage(*image,draw_info,&target,(ssize_t)
+ x_offset,(ssize_t) y_offset,method == FloodfillMethod ?
+ MagickFalse : MagickTrue);
+ PopPixelComponentMap(*image);
draw_info=DestroyDrawInfo(draw_info);
break;
}
diff --git a/MagickCore/draw.c b/MagickCore/draw.c
index fe1c2b9..2f73d0e 100644
--- a/MagickCore/draw.c
+++ b/MagickCore/draw.c
@@ -4243,8 +4243,8 @@
target.green=(MagickRealType) draw_info->border_color.green;
target.blue=(MagickRealType) draw_info->border_color.blue;
}
- (void) FloodfillPaintImage(image,DefaultChannels,draw_info,&target,x,
- y,primitive_info->method == FloodfillMethod ? MagickFalse :
+ (void) FloodfillPaintImage(image,draw_info,&target,x,y,
+ primitive_info->method == FloodfillMethod ? MagickFalse :
MagickTrue);
break;
}
@@ -4359,9 +4359,11 @@
target.green=(MagickRealType) draw_info->border_color.green;
target.blue=(MagickRealType) draw_info->border_color.blue;
}
- (void) FloodfillPaintImage(image,OpacityChannel,draw_info,&target,x,y,
+ PushPixelComponentMap(image,AlphaChannel);
+ (void) FloodfillPaintImage(image,draw_info,&target,x,y,
primitive_info->method == FloodfillMethod ? MagickFalse :
MagickTrue);
+ PopPixelComponentMap(image);
break;
}
case ResetMethod:
diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c
index 14265bb..2b43895 100644
--- a/MagickCore/enhance.c
+++ b/MagickCore/enhance.c
@@ -113,8 +113,7 @@
/*
Apply gamma correction equally accross all given channels
*/
- (void) GetImageChannelMean(image,DefaultChannels,&mean,&sans,
- &image->exception);
+ (void) GetImageMean(image,&mean,&sans,&image->exception);
gamma=log(mean*QuantumScale)/log_mean;
return(LevelImage(image,0.0,(double) QuantumRange,gamma));
}
@@ -124,48 +123,43 @@
status=MagickTrue;
if ((GetPixelRedTraits(image) & ActivePixelTrait) != 0)
{
- (void) GetImageChannelMean(image,RedChannel,&mean,&sans,
- &image->exception);
- gamma=log(mean*QuantumScale)/log_mean;
PushPixelComponentMap(image,RedChannel);
+ (void) GetImageMean(image,&mean,&sans,&image->exception);
+ gamma=log(mean*QuantumScale)/log_mean;
status=status && LevelImage(image,0.0,(double) QuantumRange,gamma);
PopPixelComponentMap(image);
}
if ((GetPixelGreenTraits(image) & ActivePixelTrait) != 0)
{
- (void) GetImageChannelMean(image,GreenChannel,&mean,&sans,
- &image->exception);
- gamma=log(mean*QuantumScale)/log_mean;
PushPixelComponentMap(image,GreenChannel);
+ (void) GetImageMean(image,&mean,&sans,&image->exception);
+ gamma=log(mean*QuantumScale)/log_mean;
status=status && LevelImage(image,0.0,(double) QuantumRange,gamma);
PopPixelComponentMap(image);
}
if ((GetPixelBlueTraits(image) & ActivePixelTrait) != 0)
{
- (void) GetImageChannelMean(image,BlueChannel,&mean,&sans,
- &image->exception);
- gamma=log(mean*QuantumScale)/log_mean;
PushPixelComponentMap(image,BlueChannel);
+ (void) GetImageMean(image,&mean,&sans,&image->exception);
+ gamma=log(mean*QuantumScale)/log_mean;
status=status && LevelImage(image,0.0,(double) QuantumRange,gamma);
PopPixelComponentMap(image);
}
if (((GetPixelBlackTraits(image) & ActivePixelTrait) != 0) &&
(image->colorspace == CMYKColorspace))
{
- (void) GetImageChannelMean(image,BlackChannel,&mean,&sans,
- &image->exception);
- gamma=log(mean*QuantumScale)/log_mean;
PushPixelComponentMap(image,BlackChannel);
+ (void) GetImageMean(image,&mean,&sans,&image->exception);
+ gamma=log(mean*QuantumScale)/log_mean;
status=status && LevelImage(image,0.0,(double) QuantumRange,gamma);
PopPixelComponentMap(image);
}
if (((GetPixelAlphaTraits(image) & ActivePixelTrait) != 0) &&
(image->matte == MagickTrue))
{
- (void) GetImageChannelMean(image,OpacityChannel,&mean,&sans,
- &image->exception);
- gamma=log(mean*QuantumScale)/log_mean;
PushPixelComponentMap(image,AlphaChannel);
+ (void) GetImageMean(image,&mean,&sans,&image->exception);
+ gamma=log(mean*QuantumScale)/log_mean;
status=status && LevelImage(image,0.0,(double) QuantumRange,gamma);
PopPixelComponentMap(image);
}
@@ -257,8 +251,8 @@
intercept=brightness/100.0+((100-brightness)/200.0)*(1.0-slope);
coefficients[0]=slope;
coefficients[1]=intercept;
- status=FunctionImageChannel(image,DefaultChannels,PolynomialFunction,2,
- coefficients,&image->exception);
+ status=FunctionImage(image,PolynomialFunction,2,coefficients,
+ &image->exception);
return(status);
}
diff --git a/MagickCore/fx.c b/MagickCore/fx.c
index 11e8742..98e53d4 100644
--- a/MagickCore/fx.c
+++ b/MagickCore/fx.c
@@ -1179,8 +1179,7 @@
kurtosis,
skewness;
- (void) GetImageChannelKurtosis(image,channel,&kurtosis,&skewness,
- exception);
+ (void) GetImageKurtosis(image,&kurtosis,&skewness,exception);
(void) FormatLocaleString(statistic,MaxTextExtent,"%g",kurtosis);
}
if (LocaleNCompare(symbol,"maxima",6) == 0)
@@ -1189,7 +1188,7 @@
maxima,
minima;
- (void) GetImageChannelRange(image,channel,&minima,&maxima,exception);
+ (void) GetImageRange(image,&minima,&maxima,exception);
(void) FormatLocaleString(statistic,MaxTextExtent,"%g",maxima);
}
if (LocaleNCompare(symbol,"mean",4) == 0)
@@ -1198,8 +1197,7 @@
mean,
standard_deviation;
- (void) GetImageChannelMean(image,channel,&mean,&standard_deviation,
- exception);
+ (void) GetImageMean(image,&mean,&standard_deviation,exception);
(void) FormatLocaleString(statistic,MaxTextExtent,"%g",mean);
}
if (LocaleNCompare(symbol,"minima",6) == 0)
@@ -1208,7 +1206,7 @@
maxima,
minima;
- (void) GetImageChannelRange(image,channel,&minima,&maxima,exception);
+ (void) GetImageRange(image,&minima,&maxima,exception);
(void) FormatLocaleString(statistic,MaxTextExtent,"%g",minima);
}
if (LocaleNCompare(symbol,"skewness",8) == 0)
@@ -1217,8 +1215,7 @@
kurtosis,
skewness;
- (void) GetImageChannelKurtosis(image,channel,&kurtosis,&skewness,
- exception);
+ (void) GetImageKurtosis(image,&kurtosis,&skewness,exception);
(void) FormatLocaleString(statistic,MaxTextExtent,"%g",skewness);
}
if (LocaleNCompare(symbol,"standard_deviation",18) == 0)
@@ -1227,8 +1224,7 @@
mean,
standard_deviation;
- (void) GetImageChannelMean(image,channel,&mean,&standard_deviation,
- exception);
+ (void) GetImageMean(image,&mean,&standard_deviation,exception);
(void) FormatLocaleString(statistic,MaxTextExtent,"%g",
standard_deviation);
}
diff --git a/MagickCore/histogram.c b/MagickCore/histogram.c
index 12dd013..4d259b1 100644
--- a/MagickCore/histogram.c
+++ b/MagickCore/histogram.c
@@ -991,8 +991,7 @@
/*
Auto-level all channels equally.
*/
- (void) GetImageChannelRange(image,DefaultChannels,&min,&max,
- &image->exception);
+ (void) GetImageRange(image,&min,&max,&image->exception);
min+=black;
max-=white;
if (fabs(min-max) >= MagickEpsilon)
@@ -1004,69 +1003,55 @@
*/
if ((GetPixelRedTraits(image) & ActivePixelTrait) != 0)
{
- (void) GetImageChannelRange(image,RedChannel,&min,&max,&image->exception);
+ PushPixelComponentMap(image,RedChannel);
+ (void) GetImageRange(image,&min,&max,&image->exception);
min+=black;
max-=white;
if (fabs(min-max) >= MagickEpsilon)
- {
- PushPixelComponentMap(image,RedChannel);
- status&=LevelImage(image,min,max,1.0);
- PopPixelComponentMap(image);
- }
+ status&=LevelImage(image,min,max,1.0);
+ PopPixelComponentMap(image);
}
if ((GetPixelGreenTraits(image) & ActivePixelTrait) != 0)
{
- (void) GetImageChannelRange(image,GreenChannel,&min,&max,
- &image->exception);
+ PushPixelComponentMap(image,GreenChannel);
+ (void) GetImageRange(image,&min,&max,&image->exception);
min+=black;
max-=white;
if (fabs(min-max) >= MagickEpsilon)
- {
- PushPixelComponentMap(image,GreenChannel);
- status&=LevelImage(image,min,max,1.0);
- PopPixelComponentMap(image);
- }
+ status&=LevelImage(image,min,max,1.0);
+ PopPixelComponentMap(image);
}
if ((GetPixelBlueTraits(image) & ActivePixelTrait) != 0)
{
- (void) GetImageChannelRange(image,BlueChannel,&min,&max,
- &image->exception);
+ PushPixelComponentMap(image,BlueChannel);
+ (void) GetImageRange(image,&min,&max,&image->exception);
min+=black;
max-=white;
if (fabs(min-max) >= MagickEpsilon)
- {
- PushPixelComponentMap(image,BlueChannel);
- status&=LevelImage(image,min,max,1.0);
- PopPixelComponentMap(image);
- }
+ status&=LevelImage(image,min,max,1.0);
+ PopPixelComponentMap(image);
}
if (((GetPixelBlackTraits(image) & ActivePixelTrait) != 0) &&
(image->colorspace == CMYKColorspace))
{
- (void) GetImageChannelRange(image,BlackChannel,&min,&max,
- &image->exception);
+ PushPixelComponentMap(image,BlackChannel);
+ (void) GetImageRange(image,&min,&max,&image->exception);
min+=black;
max-=white;
if (fabs(min-max) >= MagickEpsilon)
- {
- PushPixelComponentMap(image,BlackChannel);
- status&=LevelImage(image,min,max,1.0);
- PopPixelComponentMap(image);
- }
+ status&=LevelImage(image,min,max,1.0);
+ PopPixelComponentMap(image);
}
if (((GetPixelAlphaTraits(image) & ActivePixelTrait) != 0) &&
(image->matte == MagickTrue))
{
- (void) GetImageChannelRange(image,OpacityChannel,&min,&max,
- &image->exception);
+ PushPixelComponentMap(image,AlphaChannel);
+ (void) GetImageRange(image,&min,&max,&image->exception);
min+=black;
max-=white;
if (fabs(min-max) >= MagickEpsilon)
- {
- PushPixelComponentMap(image,AlphaChannel);
- status&=LevelImage(image,min,max,1.0);
- PopPixelComponentMap(image);
- }
+ status&=LevelImage(image,min,max,1.0);
+ PopPixelComponentMap(image);
}
return(status != 0 ? MagickTrue : MagickFalse);
}
diff --git a/MagickCore/identify.c b/MagickCore/identify.c
index be8ffe6..6ff5a5e 100644
--- a/MagickCore/identify.c
+++ b/MagickCore/identify.c
@@ -425,7 +425,7 @@
size_t
depth;
- channel_statistics=GetImageChannelStatistics(image,&image->exception);
+ channel_statistics=GetImageStatistics(image,&image->exception);
artifact=GetImageArtifact(image,"identify:features");
if (artifact != (const char *) NULL)
{
diff --git a/MagickCore/magick-config.h b/MagickCore/magick-config.h
index 9002a55..53e983a 100644
--- a/MagickCore/magick-config.h
+++ b/MagickCore/magick-config.h
@@ -421,15 +421,15 @@
#endif
/* Define if you have the <lcms2.h> header file. */
-/* #undef HAVE_LCMS2_H */
+#ifndef MAGICKCORE_HAVE_LCMS2_H
+#define MAGICKCORE_HAVE_LCMS2_H 1
+#endif
/* Define if you have the <lcms2/lcms2.h> header file. */
/* #undef HAVE_LCMS2_LCMS2_H */
/* Define if you have the <lcms.h> header file. */
-#ifndef MAGICKCORE_HAVE_LCMS_H
-#define MAGICKCORE_HAVE_LCMS_H 1
-#endif
+/* #undef HAVE_LCMS_H */
/* Define if you have the <lcms/lcms.h> header file. */
/* #undef HAVE_LCMS_LCMS_H */
@@ -1152,9 +1152,7 @@
#endif
/* Define if you have JBIG library */
-#ifndef MAGICKCORE_JBIG_DELEGATE
-#define MAGICKCORE_JBIG_DELEGATE 1
-#endif
+/* #undef JBIG_DELEGATE */
/* Define if you have JPEG version 2 "Jasper" library */
#ifndef MAGICKCORE_JP2_DELEGATE
@@ -1183,9 +1181,7 @@
#endif
/* Define if you have LQR library */
-#ifndef MAGICKCORE_LQR_DELEGATE
-#define MAGICKCORE_LQR_DELEGATE 1
-#endif
+/* #undef LQR_DELEGATE */
/* Define if using libltdl to support dynamically loadable modules */
#ifndef MAGICKCORE_LTDL_DELEGATE
@@ -1197,7 +1193,7 @@
/* Define to the system default library search path. */
#ifndef MAGICKCORE_LT_DLSEARCH_PATH
-#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/R/lib:/usr/lib64/atlas:/opt/modules/pkg/intel/f77/10.0.025/lib:/usr/local/lib:/usr/lib64/mysql:/usr/lib64/qt-3.3/lib:/usr/lib64/xulrunner-2"
+#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/R/lib:/usr/lib64/alliance/lib:/usr/lib64/atlas:/opt/modules/pkg/intel/f77/10.0.025/lib:/usr/lib64/kicad:/usr/lib64/llvm:/usr/local/lib:/usr/lib64/mpich2/lib/:/usr/lib64/mysql:/usr/lib64/octave/3.4.0:/usr/lib64/openmotif:/usr/lib64/qt-3.3/lib:/usr/lib64/tcl8.5/tclx8.4:/usr/lib/wine/:/usr/lib64/wine/:/usr/lib64/xulrunner-2"
#endif
/* The archive extension */
@@ -1444,9 +1440,7 @@
/* Define if you have WEBP library */
-#ifndef MAGICKCORE_WEBP_DELEGATE
-#define MAGICKCORE_WEBP_DELEGATE 1
-#endif
+/* #undef WEBP_DELEGATE */
/* Define to use the Windows GDI32 library */
/* #undef WINGDI32_DELEGATE */
diff --git a/MagickCore/methods.h b/MagickCore/methods.h
index b0ec36e..03de5dc 100644
--- a/MagickCore/methods.h
+++ b/MagickCore/methods.h
@@ -309,7 +309,7 @@
#define EqualizeImage PrependMagickMethod(EqualizeImage)
#define EqualizeImage PrependMagickMethod(EqualizeImage)
#define EscapeString PrependMagickMethod(EscapeString)
-#define EvaluateImageChannel PrependMagickMethod(EvaluateImageChannel)
+#define EvaluateImage PrependMagickMethod(EvaluateImage)
#define EvaluateImage PrependMagickMethod(EvaluateImage)
#define ExcerptImage PrependMagickMethod(ExcerptImage)
#define ExpandAffine PrependMagickMethod(ExpandAffine)
@@ -343,7 +343,7 @@
#define FormatString PrependMagickMethod(FormatString)
#define ForwardFourierTransformImage PrependMagickMethod(ForwardFourierTransformImage)
#define FrameImage PrependMagickMethod(FrameImage)
-#define FunctionImageChannel PrependMagickMethod(FunctionImageChannel)
+#define FunctionImage PrependMagickMethod(FunctionImage)
#define FunctionImage PrependMagickMethod(FunctionImage)
#define FuzzyColorCompare PrependMagickMethod(FuzzyColorCompare)
#define FuzzyColorMatch PrependMagickMethod(FuzzyColorMatch)
@@ -423,11 +423,11 @@
#define GetImageDepth PrependMagickMethod(GetImageDepth)
#define GetImageDistortion PrependMagickMethod(GetImageDistortion)
#define GetImageDistortions PrependMagickMethod(GetImageDistortions)
-#define GetImageChannelExtrema PrependMagickMethod(GetImageChannelExtrema)
-#define GetImageChannelKurtosis PrependMagickMethod(GetImageChannelKurtosis)
-#define GetImageChannelMean PrependMagickMethod(GetImageChannelMean)
-#define GetImageChannelRange PrependMagickMethod(GetImageChannelRange)
-#define GetImageChannelStatistics PrependMagickMethod(GetImageChannelStatistics)
+#define GetImageExtrema PrependMagickMethod(GetImageExtrema)
+#define GetImageKurtosis PrependMagickMethod(GetImageKurtosis)
+#define GetImageMean PrependMagickMethod(GetImageMean)
+#define GetImageRange PrependMagickMethod(GetImageRange)
+#define GetImageStatistics PrependMagickMethod(GetImageStatistics)
#define GetImageClipMask PrependMagickMethod(GetImageClipMask)
#define GetImageClippingPathAttribute PrependMagickMethod(GetImageClippingPathAttribute)
#define GetImageDecoder PrependMagickMethod(GetImageDecoder)
@@ -778,7 +778,7 @@
#define NormalizeImage PrependMagickMethod(NormalizeImage)
#define OilPaintImage PrependMagickMethod(OilPaintImage)
#define OpaqueImage PrependMagickMethod(OpaqueImage)
-#define OpaquePaintImageChannel PrependMagickMethod(OpaquePaintImageChannel)
+#define OpaquePaintImage PrependMagickMethod(OpaquePaintImage)
#define OpaquePaintImage PrependMagickMethod(OpaquePaintImage)
#define OpenBlob PrependMagickMethod(OpenBlob)
#define OpenCacheView PrependMagickMethod(OpenCacheView)
diff --git a/MagickCore/paint.c b/MagickCore/paint.c
index bac4cda..dd4c468 100644
--- a/MagickCore/paint.c
+++ b/MagickCore/paint.c
@@ -83,16 +83,14 @@
% The format of the FloodfillPaintImage method is:
%
% MagickBooleanType FloodfillPaintImage(Image *image,
-% const ChannelType channel,const DrawInfo *draw_info,
-% const PixelInfo target,const ssize_t x_offset,
-% const ssize_t y_offset,const MagickBooleanType invert)
+% const DrawInfo *draw_info,const PixelInfo target,
+% const ssize_t x_offset,const ssize_t y_offset,
+% const MagickBooleanType invert)
%
% A description of each parameter follows:
%
% o image: the image.
%
-% o channel: the channel(s).
-%
% o draw_info: the draw info.
%
% o target: the RGB value of the target color.
@@ -103,9 +101,8 @@
%
*/
MagickExport MagickBooleanType FloodfillPaintImage(Image *image,
- const ChannelType channel,const DrawInfo *draw_info,
- const PixelInfo *target,const ssize_t x_offset,const ssize_t y_offset,
- const MagickBooleanType invert)
+ const DrawInfo *draw_info,const PixelInfo *target,const ssize_t x_offset,
+ const ssize_t y_offset,const MagickBooleanType invert)
{
#define MaxStacksize (1UL << 15)
#define PushSegmentStack(up,left,right,delta) \
@@ -727,16 +724,11 @@
% MagickBooleanType OpaquePaintImage(Image *image,
% const PixelPacket *target,const PixelPacket *fill,
% const MagickBooleanType invert)
-% MagickBooleanType OpaquePaintImageChannel(Image *image,
-% const ChannelType channel,const PixelPacket *target,
-% const PixelPacket *fill,const MagickBooleanType invert)
%
% A description of each parameter follows:
%
% o image: the image.
%
-% o channel: the channel(s).
-%
% o target: the RGB value of the target color.
%
% o fill: the replacement color.
@@ -744,17 +736,8 @@
% o invert: paint any pixel that does not match the target color.
%
*/
-
MagickExport MagickBooleanType OpaquePaintImage(Image *image,
- const PixelInfo *target,const PixelInfo *fill,
- const MagickBooleanType invert)
-{
- return(OpaquePaintImageChannel(image,CompositeChannels,target,fill,invert));
-}
-
-MagickExport MagickBooleanType OpaquePaintImageChannel(Image *image,
- const ChannelType channel,const PixelInfo *target,
- const PixelInfo *fill,const MagickBooleanType invert)
+ const PixelInfo *target,const PixelInfo *fill,const MagickBooleanType invert)
{
#define OpaquePaintImageTag "Opaque/Image"
@@ -842,7 +825,7 @@
proceed;
#if defined(MAGICKCORE_OPENMP_SUPPORT)
- #pragma omp critical (MagickCore_OpaquePaintImageChannel)
+ #pragma omp critical (MagickCore_OpaquePaintImage)
#endif
proceed=SetImageProgress(image,OpaquePaintImageTag,progress++,
image->rows);
diff --git a/MagickCore/paint.h b/MagickCore/paint.h
index 24709b9..9b080c4 100644
--- a/MagickCore/paint.h
+++ b/MagickCore/paint.h
@@ -29,15 +29,12 @@
*OilPaintImage(const Image *,const double,ExceptionInfo *);
extern MagickExport MagickBooleanType
- FloodfillPaintImage(Image *,const ChannelType,const DrawInfo *,
- const PixelInfo *,const ssize_t,const ssize_t,
- const MagickBooleanType),
+ FloodfillPaintImage(Image *,const DrawInfo *,const PixelInfo *,const ssize_t,
+ const ssize_t,const MagickBooleanType),
GradientImage(Image *,const GradientType,const SpreadMethod,
const PixelPacket *,const PixelPacket *),
OpaquePaintImage(Image *,const PixelInfo *,const PixelInfo *,
const MagickBooleanType),
- OpaquePaintImageChannel(Image *,const ChannelType,const PixelInfo *,
- const PixelInfo *,const MagickBooleanType),
TransparentPaintImage(Image *,const PixelInfo *,
const Quantum,const MagickBooleanType),
TransparentPaintImageChroma(Image *,const PixelInfo *,
diff --git a/MagickCore/pixel.h b/MagickCore/pixel.h
index bb10bf1..35bc8d7 100644
--- a/MagickCore/pixel.h
+++ b/MagickCore/pixel.h
@@ -25,8 +25,8 @@
#include <MagickCore/colorspace.h>
#include <MagickCore/constitute.h>
-#define MaxPixelComponents 16
-#define MaxPixelComponentMaps 16
+#define MaxPixelComponents 32
+#define MaxPixelComponentMaps 8
typedef enum
{
diff --git a/MagickCore/property.c b/MagickCore/property.c
index 0c85008..35c4489 100644
--- a/MagickCore/property.c
+++ b/MagickCore/property.c
@@ -2261,8 +2261,7 @@
kurtosis,
skewness;
- (void) GetImageChannelKurtosis(image,image_info->channel,&kurtosis,
- &skewness,&image->exception);
+ (void) GetImageKurtosis(image,&kurtosis,&skewness,&image->exception);
(void) FormatLocaleString(value,MaxTextExtent,"%.*g",
GetMagickPrecision(),kurtosis);
break;
@@ -2282,8 +2281,7 @@
maximum,
minimum;
- (void) GetImageChannelRange(image,image_info->channel,&minimum,
- &maximum,&image->exception);
+ (void) GetImageRange(image,&minimum,&maximum,&image->exception);
(void) FormatLocaleString(value,MaxTextExtent,"%.*g",
GetMagickPrecision(),maximum);
break;
@@ -2294,8 +2292,8 @@
mean,
standard_deviation;
- (void) GetImageChannelMean(image,image_info->channel,&mean,
- &standard_deviation,&image->exception);
+ (void) GetImageMean(image,&mean,&standard_deviation,
+ &image->exception);
(void) FormatLocaleString(value,MaxTextExtent,"%.*g",
GetMagickPrecision(),mean);
break;
@@ -2306,8 +2304,7 @@
maximum,
minimum;
- (void) GetImageChannelRange(image,image_info->channel,&minimum,
- &maximum,&image->exception);
+ (void) GetImageRange(image,&minimum,&maximum,&image->exception);
(void) FormatLocaleString(value,MaxTextExtent,"%.*g",
GetMagickPrecision(),minimum);
break;
@@ -2384,21 +2381,19 @@
kurtosis,
skewness;
- (void) GetImageChannelKurtosis(image,image_info->channel,&kurtosis,
- &skewness,&image->exception);
+ (void) GetImageKurtosis(image,&kurtosis,&skewness,&image->exception);
(void) FormatLocaleString(value,MaxTextExtent,"%.*g",
GetMagickPrecision(),skewness);
break;
}
- if ((LocaleNCompare("standard-deviation",property,18) == 0) ||
- (LocaleNCompare("standard_deviation",property,18) == 0))
+ if (LocaleNCompare("standard-deviation",property,18) == 0)
{
double
mean,
standard_deviation;
- (void) GetImageChannelMean(image,image_info->channel,&mean,
- &standard_deviation,&image->exception);
+ (void) GetImageMean(image,&mean,&standard_deviation,
+ &image->exception);
(void) FormatLocaleString(value,MaxTextExtent,"%.*g",
GetMagickPrecision(),standard_deviation);
break;
diff --git a/MagickCore/statistic.c b/MagickCore/statistic.c
index a84c8e9..f26b3e8 100644
--- a/MagickCore/statistic.c
+++ b/MagickCore/statistic.c
@@ -106,7 +106,7 @@
% an image, to increase or decrease contrast in an image, or to produce the
% "negative" of an image.
%
-% The format of the EvaluateImageChannel method is:
+% The format of the EvaluateImage method is:
%
% MagickBooleanType EvaluateImage(Image *image,
% const MagickEvaluateOperator op,const double value,
@@ -114,16 +114,11 @@
% MagickBooleanType EvaluateImages(Image *images,
% const MagickEvaluateOperator op,const double value,
% ExceptionInfo *exception)
-% MagickBooleanType EvaluateImageChannel(Image *image,
-% const ChannelType channel,const MagickEvaluateOperator op,
-% const double value,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
% o image: the image.
%
-% o channel: the channel.
-%
% o op: A channel op.
%
% o value: A value value.
@@ -403,16 +398,6 @@
return(result);
}
-MagickExport MagickBooleanType EvaluateImage(Image *image,
- const MagickEvaluateOperator op,const double value,ExceptionInfo *exception)
-{
- MagickBooleanType
- status;
-
- status=EvaluateImageChannel(image,CompositeChannels,op,value,exception);
- return(status);
-}
-
MagickExport Image *EvaluateImages(const Image *images,
const MagickEvaluateOperator op,ExceptionInfo *exception)
{
@@ -717,9 +702,8 @@
return(evaluate_image);
}
-MagickExport MagickBooleanType EvaluateImageChannel(Image *image,
- const ChannelType channel,const MagickEvaluateOperator op,const double value,
- ExceptionInfo *exception)
+MagickExport MagickBooleanType EvaluateImage(Image *image,
+ const MagickEvaluateOperator op,const double value,ExceptionInfo *exception)
{
CacheView
*image_view;
@@ -807,7 +791,7 @@
proceed;
#if defined(MAGICKCORE_OPENMP_SUPPORT)
- #pragma omp critical (MagickCore_EvaluateImageChannel)
+ #pragma omp critical (MagickCore_EvaluateImage)
#endif
proceed=SetImageProgress(image,EvaluateImageTag,progress++,image->rows);
if (proceed == MagickFalse)
@@ -835,22 +819,16 @@
% an image, to increase or decrease contrast in an image, or to produce the
% "negative" of an image.
%
-% The format of the FunctionImageChannel method is:
+% The format of the FunctionImage method is:
%
% MagickBooleanType FunctionImage(Image *image,
% const MagickFunction function,const ssize_t number_parameters,
% const double *parameters,ExceptionInfo *exception)
-% MagickBooleanType FunctionImageChannel(Image *image,
-% const ChannelType channel,const MagickFunction function,
-% const ssize_t number_parameters,const double *argument,
-% ExceptionInfo *exception)
%
% A description of each parameter follows:
%
% o image: the image.
%
-% o channel: the channel.
-%
% o function: A channel function.
%
% o parameters: one or more parameters.
@@ -945,19 +923,6 @@
const MagickFunction function,const size_t number_parameters,
const double *parameters,ExceptionInfo *exception)
{
- MagickBooleanType
- status;
-
- status=FunctionImageChannel(image,CompositeChannels,function,number_parameters,
- parameters,exception);
- return(status);
-}
-
-MagickExport MagickBooleanType FunctionImageChannel(Image *image,
- const ChannelType channel,const MagickFunction function,
- const size_t number_parameters,const double *parameters,
- ExceptionInfo *exception)
-{
#define FunctionImageTag "Function/Image "
CacheView
@@ -1039,7 +1004,7 @@
proceed;
#if defined(MAGICKCORE_OPENMP_SUPPORT)
- #pragma omp critical (MagickCore_FunctionImageChannel)
+ #pragma omp critical (MagickCore_FunctionImage)
#endif
proceed=SetImageProgress(image,FunctionImageTag,progress++,image->rows);
if (proceed == MagickFalse)
@@ -1055,26 +1020,23 @@
% %
% %
% %
-+ G e t I m a g e C h a n n e l E x t r e m a %
+% G e t I m a g e E x t r e m a %
% %
% %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% GetImageChannelExtrema() returns the extrema of one or more image channels.
+% GetImageExtrema() returns the extrema of one or more image channels.
%
-% The format of the GetImageChannelExtrema method is:
+% The format of the GetImageExtrema method is:
%
-% MagickBooleanType GetImageChannelExtrema(const Image *image,
-% const ChannelType channel,size_t *minima,size_t *maxima,
-% ExceptionInfo *exception)
+% MagickBooleanType GetImageExtrema(const Image *image,size_t *minima,
+% size_t *maxima,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
% o image: the image.
%
-% o channel: the channel.
-%
% o minima: the minimum value in the channel.
%
% o maxima: the maximum value in the channel.
@@ -1082,17 +1044,9 @@
% o exception: return any errors or warnings in this structure.
%
*/
-
MagickExport MagickBooleanType GetImageExtrema(const Image *image,
size_t *minima,size_t *maxima,ExceptionInfo *exception)
{
- return(GetImageChannelExtrema(image,CompositeChannels,minima,maxima,exception));
-}
-
-MagickExport MagickBooleanType GetImageChannelExtrema(const Image *image,
- const ChannelType channel,size_t *minima,size_t *maxima,
- ExceptionInfo *exception)
-{
double
max,
min;
@@ -1104,7 +1058,7 @@
assert(image->signature == MagickSignature);
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
- status=GetImageChannelRange(image,channel,&min,&max,exception);
+ status=GetImageRange(image,&min,&max,exception);
*minima=(size_t) ceil(min-0.5);
*maxima=(size_t) floor(max+0.5);
return(status);
@@ -1115,27 +1069,24 @@
% %
% %
% %
-% G e t I m a g e C h a n n e l M e a n %
+% G e t I m a g e M e a n %
% %
% %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% GetImageChannelMean() returns the mean and standard deviation of one or more
+% GetImageMean() returns the mean and standard deviation of one or more
% image channels.
%
-% The format of the GetImageChannelMean method is:
+% The format of the GetImageMean method is:
%
-% MagickBooleanType GetImageChannelMean(const Image *image,
-% const ChannelType channel,double *mean,double *standard_deviation,
-% ExceptionInfo *exception)
+% MagickBooleanType GetImageMean(const Image *image,double *mean,
+% double *standard_deviation,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
% o image: the image.
%
-% o channel: the channel.
-%
% o mean: the average value in the channel.
%
% o standard_deviation: the standard deviation of the channel.
@@ -1143,22 +1094,9 @@
% o exception: return any errors or warnings in this structure.
%
*/
-
MagickExport MagickBooleanType GetImageMean(const Image *image,double *mean,
double *standard_deviation,ExceptionInfo *exception)
{
- MagickBooleanType
- status;
-
- status=GetImageChannelMean(image,CompositeChannels,mean,standard_deviation,
- exception);
- return(status);
-}
-
-MagickExport MagickBooleanType GetImageChannelMean(const Image *image,
- const ChannelType channel,double *mean,double *standard_deviation,
- ExceptionInfo *exception)
-{
ChannelStatistics
*channel_statistics;
@@ -1169,7 +1107,7 @@
assert(image->signature == MagickSignature);
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
- channel_statistics=GetImageChannelStatistics(image,exception);
+ channel_statistics=GetImageStatistics(image,exception);
if (channel_statistics == (ChannelStatistics *) NULL)
return(MagickFalse);
channels=0;
@@ -1242,27 +1180,24 @@
% %
% %
% %
-% G e t I m a g e C h a n n e l K u r t o s i s %
+% G e t I m a g e K u r t o s i s %
% %
% %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% GetImageChannelKurtosis() returns the kurtosis and skewness of one or more
+% GetImageKurtosis() returns the kurtosis and skewness of one or more
% image channels.
%
-% The format of the GetImageChannelKurtosis method is:
+% The format of the GetImageKurtosis method is:
%
-% MagickBooleanType GetImageChannelKurtosis(const Image *image,
-% const ChannelType channel,double *kurtosis,double *skewness,
-% ExceptionInfo *exception)
+% MagickBooleanType GetImageKurtosis(const Image *image,double *kurtosis,
+% double *skewness,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
% o image: the image.
%
-% o channel: the channel.
-%
% o kurtosis: the kurtosis of the channel.
%
% o skewness: the skewness of the channel.
@@ -1270,22 +1205,9 @@
% o exception: return any errors or warnings in this structure.
%
*/
-
MagickExport MagickBooleanType GetImageKurtosis(const Image *image,
double *kurtosis,double *skewness,ExceptionInfo *exception)
{
- MagickBooleanType
- status;
-
- status=GetImageChannelKurtosis(image,CompositeChannels,kurtosis,skewness,
- exception);
- return(status);
-}
-
-MagickExport MagickBooleanType GetImageChannelKurtosis(const Image *image,
- const ChannelType channel,double *kurtosis,double *skewness,
- ExceptionInfo *exception)
-{
double
area,
mean,
@@ -1408,26 +1330,23 @@
% %
% %
% %
-% G e t I m a g e C h a n n e l R a n g e %
+% G e t I m a g e R a n g e %
% %
% %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% GetImageChannelRange() returns the range of one or more image channels.
+% GetImageRange() returns the range of one or more image channels.
%
-% The format of the GetImageChannelRange method is:
+% The format of the GetImageRange method is:
%
-% MagickBooleanType GetImageChannelRange(const Image *image,
-% const ChannelType channel,double *minima,double *maxima,
-% ExceptionInfo *exception)
+% MagickBooleanType GetImageRange(const Image *image,double *minima,
+% double *maxima,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
% o image: the image.
%
-% o channel: the channel.
-%
% o minima: the minimum value in the channel.
%
% o maxima: the maximum value in the channel.
@@ -1435,16 +1354,8 @@
% o exception: return any errors or warnings in this structure.
%
*/
-
-MagickExport MagickBooleanType GetImageRange(const Image *image,
- double *minima,double *maxima,ExceptionInfo *exception)
-{
- return(GetImageChannelRange(image,CompositeChannels,minima,maxima,exception));
-}
-
-MagickExport MagickBooleanType GetImageChannelRange(const Image *image,
- const ChannelType channel,double *minima,double *maxima,
- ExceptionInfo *exception)
+MagickExport MagickBooleanType GetImageRange(const Image *image,double *minima,
+ double *maxima,ExceptionInfo *exception)
{
PixelInfo
pixel;
@@ -1520,25 +1431,25 @@
% %
% %
% %
-% G e t I m a g e C h a n n e l S t a t i s t i c s %
+% G e t I m a g e S t a t i s t i c s %
% %
% %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% GetImageChannelStatistics() returns statistics for each channel in the
+% GetImageStatistics() returns statistics for each channel in the
% image. The statistics include the channel depth, its minima, maxima, mean,
% standard deviation, kurtosis and skewness. You can access the red channel
% mean, for example, like this:
%
-% channel_statistics=GetImageChannelStatistics(image,exception);
+% channel_statistics=GetImageStatistics(image,exception);
% red_mean=channel_statistics[RedChannel].mean;
%
% Use MagickRelinquishMemory() to free the statistics buffer.
%
-% The format of the GetImageChannelStatistics method is:
+% The format of the GetImageStatistics method is:
%
-% ChannelStatistics *GetImageChannelStatistics(const Image *image,
+% ChannelStatistics *GetImageStatistics(const Image *image,
% ExceptionInfo *exception)
%
% A description of each parameter follows:
@@ -1548,7 +1459,7 @@
% o exception: return any errors or warnings in this structure.
%
*/
-MagickExport ChannelStatistics *GetImageChannelStatistics(const Image *image,
+MagickExport ChannelStatistics *GetImageStatistics(const Image *image,
ExceptionInfo *exception)
{
ChannelStatistics
diff --git a/MagickCore/statistic.h b/MagickCore/statistic.h
index 1ce8e50..efcacaa 100644
--- a/MagickCore/statistic.h
+++ b/MagickCore/statistic.h
@@ -86,7 +86,7 @@
} MagickFunction;
extern MagickExport ChannelStatistics
- *GetImageChannelStatistics(const Image *,ExceptionInfo *);
+ *GetImageStatistics(const Image *,ExceptionInfo *);
extern MagickExport Image
*EvaluateImages(const Image *,const MagickEvaluateOperator,ExceptionInfo *);
@@ -94,24 +94,12 @@
extern MagickExport MagickBooleanType
EvaluateImage(Image *,const MagickEvaluateOperator,const double,
ExceptionInfo *),
- EvaluateImageChannel(Image *,const ChannelType,const MagickEvaluateOperator,
- const double,ExceptionInfo *),
FunctionImage(Image *,const MagickFunction,const size_t,const double *,
ExceptionInfo *),
- FunctionImageChannel(Image *,const ChannelType,const MagickFunction,
- const size_t,const double *,ExceptionInfo *),
- GetImageChannelExtrema(const Image *,const ChannelType,size_t *,size_t *,
- ExceptionInfo *),
- GetImageChannelMean(const Image *,const ChannelType,double *,double *,
- ExceptionInfo *),
- GetImageChannelKurtosis(const Image *,const ChannelType,double *,double *,
- ExceptionInfo *),
- GetImageChannelRange(const Image *,const ChannelType,double *,double *,
- ExceptionInfo *),
GetImageExtrema(const Image *,size_t *,size_t *,ExceptionInfo *),
- GetImageRange(const Image *,double *,double *,ExceptionInfo *),
GetImageMean(const Image *,double *,double *,ExceptionInfo *),
- GetImageKurtosis(const Image *,double *,double *,ExceptionInfo *);
+ GetImageKurtosis(const Image *,double *,double *,ExceptionInfo *),
+ GetImageRange(const Image *,double *,double *,ExceptionInfo *);
#if defined(__cplusplus) || defined(c_plusplus)
}
diff --git a/MagickCore/version.h b/MagickCore/version.h
index 50b9a55..497eef3 100644
--- a/MagickCore/version.h
+++ b/MagickCore/version.h
@@ -34,7 +34,7 @@
#define MagickLibAddendum "-0"
#define MagickLibInterface 5
#define MagickLibMinInterface 5
-#define MagickReleaseDate "2011-07-07"
+#define MagickReleaseDate "2011-07-08"
#define MagickChangeDate "20110701"
#define MagickAuthoritativeURL "http://www.imagemagick.org"
#if defined(MAGICKCORE_OPENMP_SUPPORT)