diff --git a/MagickCore/effect.c b/MagickCore/effect.c
index bec60a5..13a2ddf 100644
--- a/MagickCore/effect.c
+++ b/MagickCore/effect.c
@@ -136,6 +136,50 @@
return(blur_image);
}
+MagickExport MagickBooleanType AdaptiveLevelImage(Image *image,
+ const char *levels)
+{
+ double
+ black_point,
+ gamma,
+ white_point;
+
+ GeometryInfo
+ geometry_info;
+
+ MagickBooleanType
+ status;
+
+ MagickStatusType
+ flags;
+
+ /*
+ Parse levels.
+ */
+ if (levels == (char *) NULL)
+ return(MagickFalse);
+ flags=ParseGeometry(levels,&geometry_info);
+ black_point=geometry_info.rho;
+ white_point=(double) QuantumRange;
+ if ((flags & SigmaValue) != 0)
+ white_point=geometry_info.sigma;
+ gamma=1.0;
+ if ((flags & XiValue) != 0)
+ gamma=geometry_info.xi;
+ if ((flags & PercentValue) != 0)
+ {
+ black_point*=(double) image->columns*image->rows/100.0;
+ white_point*=(double) image->columns*image->rows/100.0;
+ }
+ if ((flags & SigmaValue) == 0)
+ white_point=(double) QuantumRange-black_point;
+ if ((flags & AspectValue ) == 0)
+ status=LevelImage(image,black_point,white_point,gamma);
+ else
+ status=LevelizeImage(image,black_point,white_point,gamma);
+ return(status);
+}
+
MagickExport Image *AdaptiveBlurImageChannel(const Image *image,
const ChannelType channel,const double radius,const double sigma,
ExceptionInfo *exception)
@@ -205,14 +249,14 @@
blur_image=DestroyImage(blur_image);
return((Image *) NULL);
}
- (void) LevelImage(edge_image,"20%,95%");
+ (void) AdaptiveLevelImage(edge_image,"20%,95%");
gaussian_image=GaussianBlurImage(edge_image,radius,sigma,exception);
if (gaussian_image != (Image *) NULL)
{
edge_image=DestroyImage(edge_image);
edge_image=gaussian_image;
}
- (void) LevelImage(edge_image,"10%,95%");
+ (void) AdaptiveLevelImage(edge_image,"10%,95%");
/*
Create a set of kernels from maximum (radius,sigma) to minimum.
*/
@@ -515,14 +559,14 @@
sharp_image=DestroyImage(sharp_image);
return((Image *) NULL);
}
- (void) LevelImage(edge_image,"20%,95%");
+ (void) AdaptiveLevelImage(edge_image,"20%,95%");
gaussian_image=GaussianBlurImage(edge_image,radius,sigma,exception);
if (gaussian_image != (Image *) NULL)
{
edge_image=DestroyImage(edge_image);
edge_image=gaussian_image;
}
- (void) LevelImage(edge_image,"10%,95%");
+ (void) AdaptiveLevelImage(edge_image,"10%,95%");
/*
Create a set of kernels from maximum (radius,sigma) to minimum.
*/
diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c
index 86f2a71..9b70abb 100644
--- a/MagickCore/enhance.c
+++ b/MagickCore/enhance.c
@@ -107,6 +107,9 @@
mean,
sans;
+ Image
+ *level_image;
+
log_mean=log(0.5);
if (image->sync != MagickFalse)
{
@@ -116,35 +119,38 @@
(void) GetImageChannelMean(image,DefaultChannels,&mean,&sans,
&image->exception);
gamma=log(mean*QuantumScale)/log_mean;
- return(LevelImageChannel(image,DefaultChannels,0.0,(double) QuantumRange,gamma));
+ return(LevelImage(image,0.0,(double) QuantumRange,gamma));
}
/*
Auto-gamma each channel separately.
*/
status=MagickTrue;
+ level_image=CloneImage(image,0,0,MagickTrue,&image->exception);
+ if (level_image == (Image *) NULL)
+ return(MagickFalse);
if ((GetPixelRedTraits(image) & ActivePixelTrait) != 0)
{
(void) GetImageChannelMean(image,RedChannel,&mean,&sans,
&image->exception);
gamma=log(mean*QuantumScale)/log_mean;
- status=status && LevelImageChannel(image,RedChannel,0.0,(double)
- QuantumRange,gamma);
+ SetPixelComponentMap(level_image,RedChannel);
+ status=status && LevelImage(level_image,0.0,(double) QuantumRange,gamma);
}
if ((GetPixelGreenTraits(image) & ActivePixelTrait) != 0)
{
(void) GetImageChannelMean(image,GreenChannel,&mean,&sans,
&image->exception);
gamma=log(mean*QuantumScale)/log_mean;
- status=status && LevelImageChannel(image,GreenChannel,0.0,(double)
- QuantumRange,gamma);
+ SetPixelComponentMap(level_image,GreenChannel);
+ status=status && LevelImage(level_image,0.0,(double) QuantumRange,gamma);
}
if ((GetPixelBlueTraits(image) & ActivePixelTrait) != 0)
{
(void) GetImageChannelMean(image,BlueChannel,&mean,&sans,
&image->exception);
gamma=log(mean*QuantumScale)/log_mean;
- status=status && LevelImageChannel(image,BlueChannel,0.0,(double)
- QuantumRange,gamma);
+ SetPixelComponentMap(level_image,BlueChannel);
+ status=status && LevelImage(level_image,0.0,(double) QuantumRange,gamma);
}
if (((GetPixelBlackTraits(image) & ActivePixelTrait) != 0) &&
(image->colorspace == CMYKColorspace))
@@ -152,8 +158,8 @@
(void) GetImageChannelMean(image,BlackChannel,&mean,&sans,
&image->exception);
gamma=log(mean*QuantumScale)/log_mean;
- status=status && LevelImageChannel(image,BlackChannel,0.0,(double)
- QuantumRange,gamma);
+ SetPixelComponentMap(level_image,BlackChannel);
+ status=status && LevelImage(level_image,0.0,(double) QuantumRange,gamma);
}
if (((GetPixelAlphaTraits(image) & ActivePixelTrait) != 0) &&
(image->matte == MagickTrue))
@@ -161,9 +167,10 @@
(void) GetImageChannelMean(image,OpacityChannel,&mean,&sans,
&image->exception);
gamma=log(mean*QuantumScale)/log_mean;
- status=status && LevelImageChannel(image,OpacityChannel,0.0,(double)
- QuantumRange,gamma);
+ SetPixelComponentMap(level_image,AlphaChannel);
+ status=status && LevelImage(level_image,0.0,(double) QuantumRange,gamma);
}
+ level_image=DestroyImage(level_image);
return(status != 0 ? MagickTrue : MagickFalse);
}
@@ -676,8 +683,6 @@
% The format of the ClutImage method is:
%
% MagickBooleanType ClutImage(Image *image,Image *clut_image)
-% MagickBooleanType ClutImageChannel(Image *image,
-% const ChannelType channel,Image *clut_image)
%
% A description of each parameter follows:
%
@@ -688,15 +693,8 @@
% o channel: the channel.
%
*/
-
MagickExport MagickBooleanType ClutImage(Image *image,const Image *clut_image)
{
- return(ClutImageChannel(image,DefaultChannels,clut_image));
-}
-
-MagickExport MagickBooleanType ClutImageChannel(Image *image,
- const ChannelType channel,const Image *clut_image)
-{
#define ClampAlphaPixelComponent(pixel) ClampToQuantum((pixel)->alpha)
#define ClampBlackPixelComponent(pixel) ClampToQuantum((pixel)->black)
#define ClampBluePixelComponent(pixel) ClampToQuantum((pixel)->blue)
@@ -822,7 +820,7 @@
proceed;
#if defined(MAGICKCORE_OPENMP_SUPPORT)
- #pragma omp critical (MagickCore_ClutImageChannel)
+ #pragma omp critical (MagickCore_ClutImage)
#endif
proceed=SetImageProgress(image,ClutImageTag,progress++,image->rows);
if (proceed == MagickFalse)
@@ -2203,8 +2201,6 @@
% The format of the HaldClutImage method is:
%
% MagickBooleanType HaldClutImage(Image *image,Image *hald_image)
-% MagickBooleanType HaldClutImageChannel(Image *image,
-% const ChannelType channel,Image *hald_image)
%
% A description of each parameter follows:
%
@@ -2212,8 +2208,6 @@
%
% o hald_image: the color lookup table image for replacement color values.
%
-% o channel: the channel.
-%
*/
static inline size_t MagickMin(const size_t x,const size_t y)
@@ -2226,12 +2220,6 @@
MagickExport MagickBooleanType HaldClutImage(Image *image,
const Image *hald_image)
{
- return(HaldClutImageChannel(image,DefaultChannels,hald_image));
-}
-
-MagickExport MagickBooleanType HaldClutImageChannel(Image *image,
- const ChannelType channel,const Image *hald_image)
-{
#define HaldClutImageTag "Clut/Image"
typedef struct _HaldInfo
@@ -2384,7 +2372,7 @@
proceed;
#if defined(MAGICKCORE_OPENMP_SUPPORT)
- #pragma omp critical (MagickCore_HaldClutImageChannel)
+ #pragma omp critical (MagickCore_HaldClutImage)
#endif
proceed=SetImageProgress(image,HaldClutImageTag,progress++,image->rows);
if (proceed == MagickFalse)
@@ -2436,96 +2424,8 @@
% A '!' flag inverts the re-mapping.
%
*/
-
-MagickExport MagickBooleanType LevelImage(Image *image,const char *levels)
-{
- double
- black_point,
- gamma,
- white_point;
-
- GeometryInfo
- geometry_info;
-
- MagickBooleanType
- status;
-
- MagickStatusType
- flags;
-
- /*
- Parse levels.
- */
- if (levels == (char *) NULL)
- return(MagickFalse);
- flags=ParseGeometry(levels,&geometry_info);
- black_point=geometry_info.rho;
- white_point=(double) QuantumRange;
- if ((flags & SigmaValue) != 0)
- white_point=geometry_info.sigma;
- gamma=1.0;
- if ((flags & XiValue) != 0)
- gamma=geometry_info.xi;
- if ((flags & PercentValue) != 0)
- {
- black_point*=(double) image->columns*image->rows/100.0;
- white_point*=(double) image->columns*image->rows/100.0;
- }
- if ((flags & SigmaValue) == 0)
- white_point=(double) QuantumRange-black_point;
- if ((flags & AspectValue ) == 0)
- status=LevelImageChannel(image,DefaultChannels,black_point,white_point,
- gamma);
- else
- status=LevelizeImage(image,black_point,white_point,gamma);
- return(status);
-}
-
-/*
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% %
-% %
-% %
-% L e v e l i z e I m a g e %
-% %
-% %
-% %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% LevelizeImage() applies the normal level operation to the image, spreading
-% out the values between the black and white points over the entire range of
-% values. Gamma correction is also applied after the values has been mapped.
-%
-% It is typically used to improve image contrast, or to provide a controlled
-% linear threshold for the image. If the black and white points are set to
-% the minimum and maximum values found in the image, the image can be
-% normalized. or by swapping black and white values, negate the image.
-%
-% The format of the LevelizeImage method is:
-%
-% MagickBooleanType LevelizeImage(Image *image,const double black_point,
-% const double white_point,const double gamma)
-% MagickBooleanType LevelizeImageChannel(Image *image,
-% const ChannelType channel,const double black_point,
-% const double white_point,const double gamma)
-%
-% A description of each parameter follows:
-%
-% o image: the image.
-%
-% o channel: the channel.
-%
-% o black_point: The level which is to be mapped to zero (black)
-%
-% o white_point: The level which is to be mapped to QuantiumRange (white)
-%
-% o gamma: adjust gamma by this factor before mapping values.
-% use 1.0 for purely linear stretching of image color values
-%
-*/
-MagickExport MagickBooleanType LevelImageChannel(Image *image,
- const ChannelType channel,const double black_point,const double white_point,
- const double gamma)
+MagickExport MagickBooleanType LevelImage(Image *image,
+ const double black_point,const double white_point,const double gamma)
{
#define LevelImageTag "Level/Image"
#define LevelQuantum(x) (ClampToQuantum((MagickRealType) QuantumRange* \
@@ -2633,7 +2533,7 @@
proceed;
#if defined(MAGICKCORE_OPENMP_SUPPORT)
- #pragma omp critical (MagickCore_LevelImageChannel)
+ #pragma omp critical (MagickCore_LevelImage)
#endif
proceed=SetImageProgress(image,LevelImageTag,progress++,image->rows);
if (proceed == MagickFalse)
@@ -2886,43 +2786,69 @@
if (invert == MagickFalse)
{
if ((GetPixelRedTraits(image) & ActivePixelTrait) != 0)
- status|=LevelImageChannel(image,RedChannel,
- black_color->red,white_color->red,(double) 1.0);
+ {
+ SetPixelComponentMap(image,RedChannel);
+ status|=LevelImage(image,black_color->red,white_color->red,1.0);
+ }
if ((GetPixelGreenTraits(image) & ActivePixelTrait) != 0)
- status|=LevelImageChannel(image,GreenChannel,
- black_color->green,white_color->green,(double) 1.0);
+ {
+ SetPixelComponentMap(image,GreenChannel);
+ status|=LevelImage(image,black_color->green,white_color->green,1.0);
+ }
if ((GetPixelBlueTraits(image) & ActivePixelTrait) != 0)
- status|=LevelImageChannel(image,BlueChannel,
- black_color->blue,white_color->blue,(double) 1.0);
+ {
+ SetPixelComponentMap(image,BlueChannel);
+ status|=LevelImage(image,black_color->blue,white_color->blue,1.0);
+ }
if (((GetPixelBlackTraits(image) & ActivePixelTrait) != 0) &&
(image->colorspace == CMYKColorspace))
- status|=LevelImageChannel(image,BlackChannel,
- black_color->black,white_color->black,(double) 1.0);
+ {
+ SetPixelComponentMap(image,BlackChannel);
+ status|=LevelImage(image,black_color->black,white_color->black,1.0);
+ }
if (((GetPixelAlphaTraits(image) & ActivePixelTrait) != 0) &&
(image->matte == MagickTrue))
- status|=LevelImageChannel(image,OpacityChannel,
- black_color->alpha,white_color->alpha,(double) 1.0);
+ {
+ SetPixelComponentMap(image,AlphaChannel);
+ status|=LevelImage(image,black_color->alpha,white_color->alpha,1.0);
+ }
}
else
{
if ((GetPixelRedTraits(image) & ActivePixelTrait) != 0)
- status|=LevelizeImageChannel(image,RedChannel,
- black_color->red,white_color->red,(double) 1.0);
+ {
+ SetPixelComponentMap(image,RedChannel);
+ status|=LevelizeImageChannel(image,RedChannel,
+ black_color->red,white_color->red,(double) 1.0);
+ }
if ((GetPixelGreenTraits(image) & ActivePixelTrait) != 0)
- status|=LevelizeImageChannel(image,GreenChannel,
- black_color->green,white_color->green,(double) 1.0);
+ {
+ SetPixelComponentMap(image,GreenChannel);
+ status|=LevelizeImageChannel(image,GreenChannel,
+ black_color->green,white_color->green,(double) 1.0);
+ }
if ((GetPixelBlueTraits(image) & ActivePixelTrait) != 0)
- status|=LevelizeImageChannel(image,BlueChannel,
- black_color->blue,white_color->blue,(double) 1.0);
+ {
+ SetPixelComponentMap(image,BlueChannel);
+ status|=LevelizeImageChannel(image,BlueChannel,
+ black_color->blue,white_color->blue,(double) 1.0);
+ }
if (((GetPixelBlackTraits(image) & ActivePixelTrait) != 0) &&
(image->colorspace == CMYKColorspace))
- status|=LevelizeImageChannel(image,BlackChannel,
- black_color->black,white_color->black,(double) 1.0);
+ {
+ SetPixelComponentMap(image,BlackChannel);
+ status|=LevelizeImageChannel(image,BlackChannel,
+ black_color->black,white_color->black,(double) 1.0);
+ }
if (((GetPixelAlphaTraits(image) & ActivePixelTrait) != 0) &&
(image->matte == MagickTrue))
- status|=LevelizeImageChannel(image,OpacityChannel,
- black_color->alpha,white_color->alpha,(double) 1.0);
+ {
+ SetPixelComponentMap(image,AlphaChannel);
+ status|=LevelizeImageChannel(image,OpacityChannel,
+ black_color->alpha,white_color->alpha,(double) 1.0);
+ }
}
+ SetPixelComponentMap(image,DefaultChannels);
return(status == 0 ? MagickFalse : MagickTrue);
}
@@ -3024,8 +2950,7 @@
break;
}
histogram=(MagickRealType *) RelinquishMagickMemory(histogram);
- status=LevelImageChannel(image,DefaultChannels,(double) black,(double) white,
- 1.0);
+ status=LevelImage(image,(double) black,(double) white,1.0);
return(status);
}
diff --git a/MagickCore/enhance.h b/MagickCore/enhance.h
index 95d00c8..31f25c0 100644
--- a/MagickCore/enhance.h
+++ b/MagickCore/enhance.h
@@ -27,7 +27,6 @@
AutoLevelImage(Image *),
BrightnessContrastImage(Image *,const double,const double),
ClutImage(Image *,const Image *),
- ClutImageChannel(Image *,const ChannelType,const Image *),
ColorDecisionListImage(Image *,const char *),
ContrastImage(Image *,const MagickBooleanType),
ContrastStretchImage(Image *,const char *),
@@ -38,10 +37,7 @@
GammaImage(Image *,const char *),
GammaImageChannel(Image *,const ChannelType,const double),
HaldClutImage(Image *,const Image *),
- HaldClutImageChannel(Image *,const ChannelType,const Image *),
- LevelImage(Image *,const char *),
- LevelImageChannel(Image *,const ChannelType,const double,const double,
- const double),
+ LevelImage(Image *,const double,const double,const double),
LevelizeImage(Image *,const double,const double,const double),
LevelizeImageChannel(Image *,const ChannelType,const double,const double,
const double),
diff --git a/MagickCore/histogram.c b/MagickCore/histogram.c
index 6c3d8c4..f2877b8 100644
--- a/MagickCore/histogram.c
+++ b/MagickCore/histogram.c
@@ -979,7 +979,6 @@
% from the minimum and maximum points by this color value.
%
*/
-
MagickExport MagickBooleanType MinMaxStretchImage(Image *image,
const ChannelType channel,const double black_value,const double white_value)
{
@@ -987,6 +986,9 @@
min,
max;
+ Image
+ *stretch_image;
+
MagickStatusType
status;
@@ -1000,19 +1002,25 @@
min+=black_value;
max-=white_value;
if (fabs(min-max) >= MagickEpsilon)
- status&=LevelImageChannel(image,channel,min,max,1.0);
+ status&=LevelImage(image,min,max,1.0);
return(status != 0 ? MagickTrue : MagickFalse);
}
/*
Auto-level each channel separately.
*/
+ stretch_image=CloneImage(image,0,0,MagickTrue,&image->exception);
+ if (stretch_image == (Image *) NULL)
+ return(MagickFalse);
if ((GetPixelRedTraits(image) & ActivePixelTrait) != 0)
{
(void) GetImageChannelRange(image,RedChannel,&min,&max,&image->exception);
min+=black_value;
max-=white_value;
if (fabs(min-max) >= MagickEpsilon)
- status&=LevelImageChannel(image,RedChannel,min,max,1.0);
+ {
+ SetPixelComponentMap(stretch_image,RedChannel);
+ status&=LevelImage(stretch_image,min,max,1.0);
+ }
}
if ((GetPixelGreenTraits(image) & ActivePixelTrait) != 0)
{
@@ -1021,7 +1029,10 @@
min+=black_value;
max-=white_value;
if (fabs(min-max) >= MagickEpsilon)
- status&=LevelImageChannel(image,GreenChannel,min,max,1.0);
+ {
+ SetPixelComponentMap(stretch_image,GreenChannel);
+ status&=LevelImage(stretch_image,min,max,1.0);
+ }
}
if ((GetPixelBlueTraits(image) & ActivePixelTrait) != 0)
{
@@ -1030,7 +1041,10 @@
min+=black_value;
max-=white_value;
if (fabs(min-max) >= MagickEpsilon)
- status&=LevelImageChannel(image,BlueChannel,min,max,1.0);
+ {
+ SetPixelComponentMap(stretch_image,BlueChannel);
+ status&=LevelImage(stretch_image,min,max,1.0);
+ }
}
if (((GetPixelBlackTraits(image) & ActivePixelTrait) != 0) &&
(image->colorspace == CMYKColorspace))
@@ -1040,7 +1054,10 @@
min+=black_value;
max-=white_value;
if (fabs(min-max) >= MagickEpsilon)
- status&=LevelImageChannel(image,BlackChannel,min,max,1.0);
+ {
+ SetPixelComponentMap(stretch_image,BlackChannel);
+ status&=LevelImage(stretch_image,min,max,1.0);
+ }
}
if (((GetPixelAlphaTraits(image) & ActivePixelTrait) != 0) &&
(image->matte == MagickTrue))
@@ -1050,8 +1067,12 @@
min+=black_value;
max-=white_value;
if (fabs(min-max) >= MagickEpsilon)
- status&=LevelImageChannel(image,OpacityChannel,min,max,1.0);
+ {
+ SetPixelComponentMap(stretch_image,AlphaChannel);
+ status&=LevelImage(stretch_image,min,max,1.0);
+ }
}
+ stretch_image=DestroyImage(stretch_image);
return(status != 0 ? MagickTrue : MagickFalse);
}
diff --git a/MagickCore/magick-config.h b/MagickCore/magick-config.h
index 2f9648e..9002a55 100644
--- a/MagickCore/magick-config.h
+++ b/MagickCore/magick-config.h
@@ -12,7 +12,9 @@
/* #undef AUTOTRACE_DELEGATE */
/* Define if coders and filters are to be built as modules. */
-/* #undef BUILD_MODULES */
+#ifndef MAGICKCORE_BUILD_MODULES
+#define MAGICKCORE_BUILD_MODULES 1
+#endif
/* Define if you have the bzip2 library */
#ifndef MAGICKCORE_BZLIB_DELEGATE
@@ -54,7 +56,9 @@
#endif
/* Define if you have DJVU library */
-/* #undef DJVU_DELEGATE */
+#ifndef MAGICKCORE_DJVU_DELEGATE
+#define MAGICKCORE_DJVU_DELEGATE 1
+#endif
/* Directory where ImageMagick documents live. */
#ifndef MAGICKCORE_DOCUMENTATION_PATH
@@ -76,7 +80,9 @@
#endif
/* Define if you have FFTW library */
-/* #undef FFTW_DELEGATE */
+#ifndef MAGICKCORE_FFTW_DELEGATE
+#define MAGICKCORE_FFTW_DELEGATE 1
+#endif
/* Location of filter modules */
#ifndef MAGICKCORE_FILTER_PATH
@@ -415,15 +421,15 @@
#endif
/* Define if you have the <lcms2.h> header file. */
-#ifndef MAGICKCORE_HAVE_LCMS2_H
-#define MAGICKCORE_HAVE_LCMS2_H 1
-#endif
+/* #undef HAVE_LCMS2_H */
/* Define if you have the <lcms2/lcms2.h> header file. */
/* #undef HAVE_LCMS2_LCMS2_H */
/* Define if you have the <lcms.h> header file. */
-/* #undef HAVE_LCMS_H */
+#ifndef MAGICKCORE_HAVE_LCMS_H
+#define MAGICKCORE_HAVE_LCMS_H 1
+#endif
/* Define if you have the <lcms/lcms.h> header file. */
/* #undef HAVE_LCMS_LCMS_H */
@@ -1146,7 +1152,9 @@
#endif
/* Define if you have JBIG library */
-/* #undef JBIG_DELEGATE */
+#ifndef MAGICKCORE_JBIG_DELEGATE
+#define MAGICKCORE_JBIG_DELEGATE 1
+#endif
/* Define if you have JPEG version 2 "Jasper" library */
#ifndef MAGICKCORE_JP2_DELEGATE
@@ -1175,7 +1183,9 @@
#endif
/* Define if you have LQR library */
-/* #undef LQR_DELEGATE */
+#ifndef MAGICKCORE_LQR_DELEGATE
+#define MAGICKCORE_LQR_DELEGATE 1
+#endif
/* Define if using libltdl to support dynamically loadable modules */
#ifndef MAGICKCORE_LTDL_DELEGATE
@@ -1187,7 +1197,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/atlas:/usr/lib64/mysql:/usr/lib64/qt-3.3/lib:/usr/lib64/tcl8.5/tclx8.4:/usr/lib64/tcl8.5:/usr/lib/wine/:/usr/lib64/wine/:/usr/lib64/xulrunner-2"
+#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"
#endif
/* The archive extension */
@@ -1238,7 +1248,9 @@
/* #undef NO_MINUS_C_MINUS_O */
/* Define if you have OPENEXR library */
-/* #undef OPENEXR_DELEGATE */
+#ifndef MAGICKCORE_OPENEXR_DELEGATE
+#define MAGICKCORE_OPENEXR_DELEGATE 1
+#endif
/* Define to the address where bug reports for this package should be sent. */
#ifndef MAGICKCORE_PACKAGE_BUGREPORT
@@ -1293,7 +1305,9 @@
#endif
/* Define if you have RSVG library */
-/* #undef RSVG_DELEGATE */
+#ifndef MAGICKCORE_RSVG_DELEGATE
+#define MAGICKCORE_RSVG_DELEGATE 1
+#endif
/* Define to the type of arg 1 for `select'. */
#ifndef MAGICKCORE_SELECT_TYPE_ARG1
@@ -1430,7 +1444,9 @@
/* Define if you have WEBP library */
-/* #undef WEBP_DELEGATE */
+#ifndef MAGICKCORE_WEBP_DELEGATE
+#define MAGICKCORE_WEBP_DELEGATE 1
+#endif
/* Define to use the Windows GDI32 library */
/* #undef WINGDI32_DELEGATE */
@@ -1439,7 +1455,9 @@
/* #undef WITH_DMALLOC */
/* Define if you have WMF library */
-/* #undef WMF_DELEGATE */
+#ifndef MAGICKCORE_WMF_DELEGATE
+#define MAGICKCORE_WMF_DELEGATE 1
+#endif
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
diff --git a/MagickCore/methods.h b/MagickCore/methods.h
index d031839..abc5a51 100644
--- a/MagickCore/methods.h
+++ b/MagickCore/methods.h
@@ -170,7 +170,7 @@
#define CloseBlob PrependMagickMethod(CloseBlob)
#define CloseCacheView PrependMagickMethod(CloseCacheView)
#define CloseMagickLog PrependMagickMethod(CloseMagickLog)
-#define ClutImageChannel PrependMagickMethod(ClutImageChannel)
+#define ClutImage PrependMagickMethod(ClutImage)
#define ClutImage PrependMagickMethod(ClutImage)
#define CoalesceImages PrependMagickMethod(CoalesceImages)
#define CoderComponentGenesis PrependMagickMethod(CoderComponentGenesis)
@@ -616,7 +616,7 @@
#define GlobExpression PrependMagickMethod(GlobExpression)
#define GradientImage PrependMagickMethod(GradientImage)
#define GravityAdjustGeometry PrependMagickMethod(GravityAdjustGeometry)
-#define HaldClutImageChannel PrependMagickMethod(HaldClutImageChannel)
+#define HaldClutImage PrependMagickMethod(HaldClutImage)
#define HaldClutImage PrependMagickMethod(HaldClutImage)
#define HashPointerType PrependMagickMethod(HashPointerType)
#define HashStringInfoType PrependMagickMethod(HashStringInfoType)
@@ -684,7 +684,7 @@
#define LeastSquaresAddTerms PrependMagickMethod(LeastSquaresAddTerms)
#define LevelColorsImageChannel PrependMagickMethod(LevelColorsImageChannel)
#define LevelColorsImage PrependMagickMethod(LevelColorsImage)
-#define LevelImageChannel PrependMagickMethod(LevelImageChannel)
+#define LevelImage PrependMagickMethod(LevelImage)
#define LevelImageColors PrependMagickMethod(LevelImageColors)
#define LevelImage PrependMagickMethod(LevelImage)
#define LevelizeImageChannel PrependMagickMethod(LevelizeImageChannel)
diff --git a/MagickCore/threshold.c b/MagickCore/threshold.c
index 5cab30b..b5c7b05 100644
--- a/MagickCore/threshold.c
+++ b/MagickCore/threshold.c
@@ -335,7 +335,7 @@
%
% o threshold: define the threshold values.
%
-% Aside: You can get the same results as operator using LevelImageChannels()
+% Aside: You can get the same results as operator using LevelImages()
% with the 'threshold' value for both the black_point and the white_point.
%
*/
diff --git a/MagickCore/version.h b/MagickCore/version.h
index c704891..fdb711e 100644
--- a/MagickCore/version.h
+++ b/MagickCore/version.h
@@ -27,7 +27,7 @@
*/
#define MagickPackageName "ImageMagick"
#define MagickCopyright "Copyright (C) 1999-2011 ImageMagick Studio LLC"
-#define MagickSVNRevision "4693"
+#define MagickSVNRevision "exported"
#define MagickLibVersion 0x700
#define MagickLibVersionText "7.0.0"
#define MagickLibVersionNumber 5,0,0