diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c
index daf0308..db36497 100644
--- a/MagickCore/enhance.c
+++ b/MagickCore/enhance.c
@@ -89,31 +89,34 @@
 %
 %  The format of the AutoGammaImage method is:
 %
-%      MagickBooleanType AutoGammaImage(Image *image)
+%      MagickBooleanType AutoGammaImage(Image *image,ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
 %    o image: The image to auto-level
 %
+%    o exception: return any errors or warnings in this structure.
+%
 */
-MagickExport MagickBooleanType AutoGammaImage(Image *image)
+MagickExport MagickBooleanType AutoGammaImage(Image *image,
+  ExceptionInfo *exception)
 {
-  MagickStatusType
-    status;
-
   double
     gamma,
     log_mean,
     mean,
     sans;
 
+  MagickStatusType
+    status;
+
   log_mean=log(0.5);
   if (image->sync != MagickFalse)
     {
       /*
         Apply gamma correction equally accross all given channels.
       */
-      (void) GetImageMean(image,&mean,&sans,&image->exception);
+      (void) GetImageMean(image,&mean,&sans,exception);
       gamma=log(mean*QuantumScale)/log_mean;
       return(LevelImage(image,0.0,(double) QuantumRange,gamma));
     }
@@ -124,7 +127,7 @@
   if ((GetPixelRedTraits(image) & UpdatePixelTrait) != 0)
     {
       PushPixelChannelMap(image,RedChannel);
-      (void) GetImageMean(image,&mean,&sans,&image->exception);
+      (void) GetImageMean(image,&mean,&sans,exception);
       gamma=log(mean*QuantumScale)/log_mean;
       status=status && LevelImage(image,0.0,(double) QuantumRange,gamma);
       PopPixelChannelMap(image);
@@ -132,7 +135,7 @@
   if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0)
     {
       PushPixelChannelMap(image,GreenChannel);
-      (void) GetImageMean(image,&mean,&sans,&image->exception);
+      (void) GetImageMean(image,&mean,&sans,exception);
       gamma=log(mean*QuantumScale)/log_mean;
       status=status && LevelImage(image,0.0,(double) QuantumRange,gamma);
       PopPixelChannelMap(image);
@@ -140,7 +143,7 @@
   if ((GetPixelBlueTraits(image) & UpdatePixelTrait) != 0)
     {
       PushPixelChannelMap(image,BlueChannel);
-      (void) GetImageMean(image,&mean,&sans,&image->exception);
+      (void) GetImageMean(image,&mean,&sans,exception);
       gamma=log(mean*QuantumScale)/log_mean;
       status=status && LevelImage(image,0.0,(double) QuantumRange,gamma);
       PopPixelChannelMap(image);
@@ -149,7 +152,7 @@
       (image->colorspace == CMYKColorspace))
     {
       PushPixelChannelMap(image,BlackChannel);
-      (void) GetImageMean(image,&mean,&sans,&image->exception);
+      (void) GetImageMean(image,&mean,&sans,exception);
       gamma=log(mean*QuantumScale)/log_mean;
       status=status && LevelImage(image,0.0,(double) QuantumRange,gamma);
       PopPixelChannelMap(image);
@@ -158,7 +161,7 @@
       (image->matte == MagickTrue))
     {
       PushPixelChannelMap(image,AlphaChannel);
-      (void) GetImageMean(image,&mean,&sans,&image->exception);
+      (void) GetImageMean(image,&mean,&sans,exception);
       gamma=log(mean*QuantumScale)/log_mean;
       status=status && LevelImage(image,0.0,(double) QuantumRange,gamma);
       PopPixelChannelMap(image);
@@ -182,16 +185,19 @@
 %
 %  The format of the LevelImage method is:
 %
-%      MagickBooleanType AutoLevelImage(Image *image)
+%      MagickBooleanType AutoLevelImage(Image *image,ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
 %    o image: The image to auto-level
 %
+%    o exception: return any errors or warnings in this structure.
+%
 */
-MagickExport MagickBooleanType AutoLevelImage(Image *image)
+MagickExport MagickBooleanType AutoLevelImage(Image *image,
+  ExceptionInfo *exception)
 {
-  return(MinMaxStretchImage(image,0.0,0.0));
+  return(MinMaxStretchImage(image,0.0,0.0,exception));
 }
 
 /*
diff --git a/MagickCore/enhance.h b/MagickCore/enhance.h
index 9fbb6f9..8fc92e0 100644
--- a/MagickCore/enhance.h
+++ b/MagickCore/enhance.h
@@ -23,8 +23,8 @@
 #endif
 
 extern MagickExport MagickBooleanType
-  AutoGammaImage(Image *),
-  AutoLevelImage(Image *),
+  AutoGammaImage(Image *,ExceptionInfo *),
+  AutoLevelImage(Image *,ExceptionInfo *),
   BrightnessContrastImage(Image *,const double,const double),
   ClutImage(Image *,const Image *),
   ColorDecisionListImage(Image *,const char *),
diff --git a/MagickCore/histogram.c b/MagickCore/histogram.c
index f477e70..a8087a3 100644
--- a/MagickCore/histogram.c
+++ b/MagickCore/histogram.c
@@ -965,7 +965,7 @@
 %  The format of the MinMaxStretchImage method is:
 %
 %      MagickBooleanType MinMaxStretchImage(Image *image,const double black,
-%        const double white)
+%        const double white,ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
@@ -974,9 +974,11 @@
 %    o black, white:  move the black / white point inward from the minimum and
 %      maximum points by this color value.
 %
+%    o exception: return any errors or warnings in this structure.
+%
 */
 MagickExport MagickBooleanType MinMaxStretchImage(Image *image,
-  const double black,const double white)
+  const double black,const double white,ExceptionInfo *exception)
 {
   double
     min,
@@ -991,7 +993,7 @@
       /*
         Auto-level all channels equally.
       */
-      (void) GetImageRange(image,&min,&max,&image->exception);
+      (void) GetImageRange(image,&min,&max,exception);
       min+=black;
       max-=white;
       if (fabs(min-max) >= MagickEpsilon)
@@ -1004,7 +1006,7 @@
   if ((GetPixelRedTraits(image) & UpdatePixelTrait) != 0)
     {
       PushPixelChannelMap(image,RedChannel);
-      (void) GetImageRange(image,&min,&max,&image->exception);
+      (void) GetImageRange(image,&min,&max,exception);
       min+=black;
       max-=white;
       if (fabs(min-max) >= MagickEpsilon)
@@ -1014,7 +1016,7 @@
   if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0)
     {
       PushPixelChannelMap(image,GreenChannel);
-      (void) GetImageRange(image,&min,&max,&image->exception);
+      (void) GetImageRange(image,&min,&max,exception);
       min+=black;
       max-=white;
       if (fabs(min-max) >= MagickEpsilon)
@@ -1024,7 +1026,7 @@
   if ((GetPixelBlueTraits(image) & UpdatePixelTrait) != 0)
     {
       PushPixelChannelMap(image,BlueChannel);
-      (void) GetImageRange(image,&min,&max,&image->exception);
+      (void) GetImageRange(image,&min,&max,exception);
       min+=black;
       max-=white;
       if (fabs(min-max) >= MagickEpsilon)
@@ -1035,7 +1037,7 @@
        (image->colorspace == CMYKColorspace))
     {
       PushPixelChannelMap(image,BlackChannel);
-      (void) GetImageRange(image,&min,&max,&image->exception);
+      (void) GetImageRange(image,&min,&max,exception);
       min+=black;
       max-=white;
       if (fabs(min-max) >= MagickEpsilon)
@@ -1046,7 +1048,7 @@
        (image->matte == MagickTrue))
     {
       PushPixelChannelMap(image,AlphaChannel);
-      (void) GetImageRange(image,&min,&max,&image->exception);
+      (void) GetImageRange(image,&min,&max,exception);
       min+=black;
       max-=white;
       if (fabs(min-max) >= MagickEpsilon)
diff --git a/MagickCore/histogram.h b/MagickCore/histogram.h
index a86f0fc..5789029 100644
--- a/MagickCore/histogram.h
+++ b/MagickCore/histogram.h
@@ -31,7 +31,7 @@
 extern MagickExport MagickBooleanType
   IsHistogramImage(const Image *,ExceptionInfo *),
   IsPaletteImage(const Image *,ExceptionInfo *),
-  MinMaxStretchImage(Image *,const double,const double);
+  MinMaxStretchImage(Image *,const double,const double,ExceptionInfo *);
 
 extern MagickExport size_t
   GetNumberColors(const Image *,FILE *,ExceptionInfo *);
diff --git a/MagickCore/magick-config.h b/MagickCore/magick-config.h
index f21ee5d..500da0b 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
@@ -78,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
@@ -432,15 +436,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 */
@@ -1163,7 +1167,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
@@ -1192,7 +1198,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
@@ -1204,7 +1212,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 */
@@ -1255,7 +1263,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
@@ -1310,7 +1320,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
@@ -1447,7 +1459,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 */
@@ -1456,7 +1470,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/threshold.c b/MagickCore/threshold.c
index ee204e6..7ce060e 100644
--- a/MagickCore/threshold.c
+++ b/MagickCore/threshold.c
@@ -397,29 +397,18 @@
       }
     for (x=0; x < (ssize_t) image->columns; x++)
     {
-      if ((GetPixelRedTraits(image) & UpdatePixelTrait) != 0)
-        SetPixelRed(image,(Quantum) ((MagickRealType)
-          GetPixelRed(image,q) <= threshold ? 0 : QuantumRange),q);
-      if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0)
-        SetPixelGreen(image,(Quantum) ((MagickRealType)
-          GetPixelGreen(image,q) <= threshold ? 0 : QuantumRange),q);
-      if ((GetPixelBlueTraits(image) & UpdatePixelTrait) != 0)
-        SetPixelBlue(image,(Quantum) ((MagickRealType)
-          GetPixelBlue(image,q) <= threshold ? 0 : QuantumRange),q);
-      if (((GetPixelBlackTraits(image) & UpdatePixelTrait) != 0) &&
-          (image->colorspace == CMYKColorspace))
-        SetPixelBlack(image,(Quantum) ((MagickRealType)
-          GetPixelBlack(image,q) <= threshold ? 0 : QuantumRange),q);
-      if ((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0)
-        {
-          if (image->matte == MagickFalse)
-            SetPixelAlpha(image,(Quantum) ((MagickRealType)
-              GetPixelAlpha(image,q) <= threshold ? 0 : QuantumRange),q);
-          else
-            SetPixelAlpha(image,(Quantum) ((MagickRealType)
-              GetPixelAlpha(image,q) >= threshold ? OpaqueAlpha :
-              TransparentAlpha),q);
-        }
+      register ssize_t
+        i;
+
+      for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+      {
+        PixelTrait
+          traits;
+
+        traits=GetPixelChannelMapTraits(image,(PixelChannel) i);
+        if ((traits & UpdatePixelTrait) != 0)
+          q[i]=q[i] <= threshold ? 0 : QuantumRange;
+      }
       q+=GetPixelChannels(image);
     }
     if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)
diff --git a/MagickCore/version.h b/MagickCore/version.h
index fdc2f1b..8ca58aa 100644
--- a/MagickCore/version.h
+++ b/MagickCore/version.h
@@ -27,14 +27,14 @@
 */
 #define MagickPackageName "ImageMagick"
 #define MagickCopyright  "Copyright (C) 1999-2011 ImageMagick Studio LLC"
-#define MagickSVNRevision  "4861"
+#define MagickSVNRevision  "exported"
 #define MagickLibVersion  0x700
 #define MagickLibVersionText  "7.0.0"
 #define MagickLibVersionNumber  5,0,0
 #define MagickLibAddendum  "-0"
 #define MagickLibInterface  5
 #define MagickLibMinInterface  5
-#define MagickReleaseDate  "2011-08-05"
+#define MagickReleaseDate  "2011-08-09"
 #define MagickChangeDate   "20110801"
 #define MagickAuthoritativeURL  "http://www.imagemagick.org"
 #if defined(MAGICKCORE_OPENMP_SUPPORT)