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)