diff --git a/MagickCore/compare.c b/MagickCore/compare.c
index 9d177c6..1575b06 100644
--- a/MagickCore/compare.c
+++ b/MagickCore/compare.c
@@ -73,19 +73,18 @@
 %                                                                             %
 %                                                                             %
 %                                                                             %
-%   C o m p a r e I m a g e C h a n n e l s                                   %
+%   C o m p a r e I m a g e                                                   %
 %                                                                             %
 %                                                                             %
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  CompareImageChannels() compares one or more image channels of an image
-%  to a reconstructed image and returns the difference image.
+%  CompareImages() compares one or more pixel channels of an image to a 
+%  reconstructed image and returns the difference image.
 %
-%  The format of the CompareImageChannels method is:
+%  The format of the CompareImages method is:
 %
-%      Image *CompareImageChannels(const Image *image,
-%        const Image *reconstruct_image,const ChannelType channel,
+%      Image *CompareImages(const Image *image,const Image *reconstruct_image,
 %        const MetricType metric,double *distortion,ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
@@ -94,8 +93,6 @@
 %
 %    o reconstruct_image: the reconstruct image.
 %
-%    o channel: the channel.
-%
 %    o metric: the metric.
 %
 %    o distortion: the computed distortion between the images.
@@ -103,22 +100,9 @@
 %    o exception: return any errors or warnings in this structure.
 %
 */
-
 MagickExport Image *CompareImages(Image *image,const Image *reconstruct_image,
   const MetricType metric,double *distortion,ExceptionInfo *exception)
 {
-  Image
-    *highlight_image;
-
-  highlight_image=CompareImageChannels(image,reconstruct_image,CompositeChannels,
-    metric,distortion,exception);
-  return(highlight_image);
-}
-
-MagickExport Image *CompareImageChannels(Image *image,
-  const Image *reconstruct_image,const ChannelType channel,
-  const MetricType metric,double *distortion,ExceptionInfo *exception)
-{
   CacheView
     *highlight_view,
     *image_view,
@@ -155,8 +139,8 @@
   if ((reconstruct_image->columns != image->columns) ||
       (reconstruct_image->rows != image->rows))
     ThrowImageException(ImageError,"ImageSizeDiffers");
-  status=GetImageChannelDistortion(image,reconstruct_image,channel,metric,
-    distortion,exception);
+  status=GetImageDistortion(image,reconstruct_image,metric,distortion,
+    exception);
   if (status == MagickFalse)
     return((Image *) NULL);
   difference_image=CloneImage(image,0,0,MagickTrue,exception);
@@ -244,7 +228,7 @@
       SetPixelInfo(image,p,&pixel);
       SetPixelInfo(reconstruct_image,q,&reconstruct_pixel);
       difference=MagickFalse;
-      if (channel == CompositeChannels)
+      if (image->sync == MagickTrue)
         {
           if (IsFuzzyEquivalencePixelInfo(&pixel,&reconstruct_pixel) == MagickFalse)
             difference=MagickTrue;
@@ -297,20 +281,20 @@
 %                                                                             %
 %                                                                             %
 %                                                                             %
-%   G e t I m a g e C h a n n e l D i s t o r t i o n                         %
+%   G e t I m a g e D i s t o r t i o n                                       %
 %                                                                             %
 %                                                                             %
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  GetImageChannelDistortion() compares one or more image channels of an image
-%  to a reconstructed image and returns the specified distortion metric.
+%  GetImageDistortion() compares one or more pixel channels of an image to a 
+%  reconstructed image and returns the specified distortion metric.
 %
-%  The format of the CompareImageChannels method is:
+%  The format of the CompareImages method is:
 %
-%      MagickBooleanType GetImageChannelDistortion(const Image *image,
-%        const Image *reconstruct_image,const ChannelType channel,
-%        const MetricType metric,double *distortion,ExceptionInfo *exception)
+%      MagickBooleanType GetImageDistortion(const Image *image,
+%        const Image *reconstruct_image,const MetricType metric,
+%        double *distortion,ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
@@ -318,8 +302,6 @@
 %
 %    o reconstruct_image: the reconstruct image.
 %
-%    o channel: the channel.
-%
 %    o metric: the metric.
 %
 %    o distortion: the computed distortion between the images.
@@ -328,21 +310,8 @@
 %
 */
 
-MagickExport MagickBooleanType GetImageDistortion(Image *image,
-  const Image *reconstruct_image,const MetricType metric,double *distortion,
-  ExceptionInfo *exception)
-{
-  MagickBooleanType
-    status;
-
-  status=GetImageChannelDistortion(image,reconstruct_image,CompositeChannels,
-    metric,distortion,exception);
-  return(status);
-}
-
 static MagickBooleanType GetAbsoluteDistortion(const Image *image,
-  const Image *reconstruct_image,const ChannelType channel,double *distortion,
-  ExceptionInfo *exception)
+  const Image *reconstruct_image,double *distortion,ExceptionInfo *exception)
 {
   CacheView
     *image_view,
@@ -431,8 +400,7 @@
   return(status);
 }
 
-static size_t GetNumberChannels(const Image *image,
-  const ChannelType channel)
+static size_t GetNumberChannels(const Image *image)
 {
   size_t
     channels;
@@ -454,8 +422,7 @@
 }
 
 static MagickBooleanType GetFuzzDistortion(const Image *image,
-  const Image *reconstruct_image,const ChannelType channel,
-  double *distortion,ExceptionInfo *exception)
+  const Image *reconstruct_image,double *distortion,ExceptionInfo *exception)
 {
   CacheView
     *image_view,
@@ -560,17 +527,15 @@
   if (((GetPixelAlphaTraits(image) & ActivePixelTrait) != 0) &&
       ((image->matte != MagickFalse) ||
       (reconstruct_image->matte != MagickFalse)))
-    distortion[CompositeChannels]/=(double)
-      (GetNumberChannels(image,channel)-1);
+    distortion[CompositeChannels]/=(double) (GetNumberChannels(image)-1);
   else
-    distortion[CompositeChannels]/=(double) GetNumberChannels(image,channel);
+    distortion[CompositeChannels]/=(double) GetNumberChannels(image);
   distortion[CompositeChannels]=sqrt(distortion[CompositeChannels]);
   return(status);
 }
 
 static MagickBooleanType GetMeanAbsoluteDistortion(const Image *image,
-  const Image *reconstruct_image,const ChannelType channel,
-  double *distortion,ExceptionInfo *exception)
+  const Image *reconstruct_image,double *distortion,ExceptionInfo *exception)
 {
   CacheView
     *image_view,
@@ -670,13 +635,12 @@
   image_view=DestroyCacheView(image_view);
   for (i=0; i <= (ssize_t) CompositeChannels; i++)
     distortion[i]/=((double) image->columns*image->rows);
-  distortion[CompositeChannels]/=(double) GetNumberChannels(image,channel);
+  distortion[CompositeChannels]/=(double) GetNumberChannels(image);
   return(status);
 }
 
 static MagickBooleanType GetMeanErrorPerPixel(Image *image,
-  const Image *reconstruct_image,const ChannelType channel,double *distortion,
-  ExceptionInfo *exception)
+  const Image *reconstruct_image,double *distortion,ExceptionInfo *exception)
 {
   CacheView
     *image_view,
@@ -805,8 +769,7 @@
 }
 
 static MagickBooleanType GetMeanSquaredDistortion(const Image *image,
-  const Image *reconstruct_image,const ChannelType channel,
-  double *distortion,ExceptionInfo *exception)
+  const Image *reconstruct_image,double *distortion,ExceptionInfo *exception)
 {
   CacheView
     *image_view,
@@ -907,13 +870,13 @@
   image_view=DestroyCacheView(image_view);
   for (i=0; i <= (ssize_t) CompositeChannels; i++)
     distortion[i]/=((double) image->columns*image->rows);
-  distortion[CompositeChannels]/=(double) GetNumberChannels(image,channel);
+  distortion[CompositeChannels]/=(double) GetNumberChannels(image);
   return(status);
 }
 
 static MagickBooleanType GetNormalizedCrossCorrelationDistortion(
-  const Image *image,const Image *reconstruct_image,const ChannelType channel,
-  double *distortion,ExceptionInfo *exception)
+  const Image *image,const Image *reconstruct_image,double *distortion,
+  ExceptionInfo *exception)
 {
 #define SimilarityImageTag  "Similarity/Image"
 
@@ -1048,7 +1011,7 @@
     distortion[CompositeChannels]+=distortion[BlackChannel]*
       distortion[BlackChannel];
   distortion[CompositeChannels]=sqrt(distortion[CompositeChannels]/
-    GetNumberChannels(image,channel));
+    GetNumberChannels(image));
   /*
     Free resources.
   */
@@ -1060,8 +1023,7 @@
 }
 
 static MagickBooleanType GetPeakAbsoluteDistortion(const Image *image,
-  const Image *reconstruct_image,const ChannelType channel,
-  double *distortion,ExceptionInfo *exception)
+  const Image *reconstruct_image,double *distortion,ExceptionInfo *exception)
 {
   CacheView
     *image_view,
@@ -1172,14 +1134,12 @@
 }
 
 static MagickBooleanType GetPeakSignalToNoiseRatio(const Image *image,
-  const Image *reconstruct_image,const ChannelType channel,
-  double *distortion,ExceptionInfo *exception)
+  const Image *reconstruct_image,double *distortion,ExceptionInfo *exception)
 {
   MagickBooleanType
     status;
 
-  status=GetMeanSquaredDistortion(image,reconstruct_image,channel,distortion,
-    exception);
+  status=GetMeanSquaredDistortion(image,reconstruct_image,distortion,exception);
   if ((GetPixelRedTraits(image) & ActivePixelTrait) != 0)
     distortion[RedChannel]=20.0*log10((double) 1.0/sqrt(
       distortion[RedChannel]));
@@ -1203,14 +1163,12 @@
 }
 
 static MagickBooleanType GetRootMeanSquaredDistortion(const Image *image,
-  const Image *reconstruct_image,const ChannelType channel,
-  double *distortion,ExceptionInfo *exception)
+  const Image *reconstruct_image,double *distortion,ExceptionInfo *exception)
 {
   MagickBooleanType
     status;
 
-  status=GetMeanSquaredDistortion(image,reconstruct_image,channel,distortion,
-    exception);
+  status=GetMeanSquaredDistortion(image,reconstruct_image,distortion,exception);
   if ((GetPixelRedTraits(image) & ActivePixelTrait) != 0)
     distortion[RedChannel]=sqrt(distortion[RedChannel]);
   if ((GetPixelGreenTraits(image) & ActivePixelTrait) != 0)
@@ -1227,9 +1185,9 @@
   return(status);
 }
 
-MagickExport MagickBooleanType GetImageChannelDistortion(Image *image,
-  const Image *reconstruct_image,const ChannelType channel,
-  const MetricType metric,double *distortion,ExceptionInfo *exception)
+MagickExport MagickBooleanType GetImageDistortion(Image *image,
+  const Image *reconstruct_image,const MetricType metric,double *distortion,
+  ExceptionInfo *exception)
 {
   double
     *channel_distortion;
@@ -1267,31 +1225,31 @@
   {
     case AbsoluteErrorMetric:
     {
-      status=GetAbsoluteDistortion(image,reconstruct_image,channel,
-        channel_distortion,exception);
+      status=GetAbsoluteDistortion(image,reconstruct_image,channel_distortion,
+        exception);
       break;
     }
     case FuzzErrorMetric:
     {
-      status=GetFuzzDistortion(image,reconstruct_image,channel,
-        channel_distortion,exception);
+      status=GetFuzzDistortion(image,reconstruct_image,channel_distortion,
+        exception);
       break;
     }
     case MeanAbsoluteErrorMetric:
     {
-      status=GetMeanAbsoluteDistortion(image,reconstruct_image,channel,
+      status=GetMeanAbsoluteDistortion(image,reconstruct_image,
         channel_distortion,exception);
       break;
     }
     case MeanErrorPerPixelMetric:
     {
-      status=GetMeanErrorPerPixel(image,reconstruct_image,channel,
-        channel_distortion,exception);
+      status=GetMeanErrorPerPixel(image,reconstruct_image,channel_distortion,
+        exception);
       break;
     }
     case MeanSquaredErrorMetric:
     {
-      status=GetMeanSquaredDistortion(image,reconstruct_image,channel,
+      status=GetMeanSquaredDistortion(image,reconstruct_image,
         channel_distortion,exception);
       break;
     }
@@ -1299,24 +1257,24 @@
     default:
     {
       status=GetNormalizedCrossCorrelationDistortion(image,reconstruct_image,
-        channel,channel_distortion,exception);
+        channel_distortion,exception);
       break;
     }
     case PeakAbsoluteErrorMetric:
     {
-      status=GetPeakAbsoluteDistortion(image,reconstruct_image,channel,
+      status=GetPeakAbsoluteDistortion(image,reconstruct_image,
         channel_distortion,exception);
       break;
     }
     case PeakSignalToNoiseRatioMetric:
     {
-      status=GetPeakSignalToNoiseRatio(image,reconstruct_image,channel,
+      status=GetPeakSignalToNoiseRatio(image,reconstruct_image,
         channel_distortion,exception);
       break;
     }
     case RootMeanSquaredErrorMetric:
     {
-      status=GetRootMeanSquaredDistortion(image,reconstruct_image,channel,
+      status=GetRootMeanSquaredDistortion(image,reconstruct_image,
         channel_distortion,exception);
       break;
     }
@@ -1331,19 +1289,19 @@
 %                                                                             %
 %                                                                             %
 %                                                                             %
-%   G e t I m a g e C h a n n e l D i s t o r t i o n s                       %
+%   G e t I m a g e D i s t o r t i o n s                                     %
 %                                                                             %
 %                                                                             %
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  GetImageChannelDistrortion() compares the image channels of an image to a
+%  GetImageDistrortion() compares the pixel channels of an image to a
 %  reconstructed image and returns the specified distortion metric for each
 %  channel.
 %
-%  The format of the CompareImageChannels method is:
+%  The format of the CompareImages method is:
 %
-%      double *GetImageChannelDistortions(const Image *image,
+%      double *GetImageDistortions(const Image *image,
 %        const Image *reconstruct_image,const MetricType metric,
 %        ExceptionInfo *exception)
 %
@@ -1358,7 +1316,7 @@
 %    o exception: return any errors or warnings in this structure.
 %
 */
-MagickExport double *GetImageChannelDistortions(Image *image,
+MagickExport double *GetImageDistortions(Image *image,
   const Image *reconstruct_image,const MetricType metric,
   ExceptionInfo *exception)
 {
@@ -1401,31 +1359,31 @@
   {
     case AbsoluteErrorMetric:
     {
-      status=GetAbsoluteDistortion(image,reconstruct_image,CompositeChannels,
-        channel_distortion,exception);
+      status=GetAbsoluteDistortion(image,reconstruct_image,channel_distortion,
+        exception);
       break;
     }
     case FuzzErrorMetric:
     {
-      status=GetFuzzDistortion(image,reconstruct_image,CompositeChannels,
-        channel_distortion,exception);
+      status=GetFuzzDistortion(image,reconstruct_image,channel_distortion,
+        exception);
       break;
     }
     case MeanAbsoluteErrorMetric:
     {
-      status=GetMeanAbsoluteDistortion(image,reconstruct_image,CompositeChannels,
+      status=GetMeanAbsoluteDistortion(image,reconstruct_image,
         channel_distortion,exception);
       break;
     }
     case MeanErrorPerPixelMetric:
     {
-      status=GetMeanErrorPerPixel(image,reconstruct_image,CompositeChannels,
-        channel_distortion,exception);
+      status=GetMeanErrorPerPixel(image,reconstruct_image,channel_distortion,
+        exception);
       break;
     }
     case MeanSquaredErrorMetric:
     {
-      status=GetMeanSquaredDistortion(image,reconstruct_image,CompositeChannels,
+      status=GetMeanSquaredDistortion(image,reconstruct_image,
         channel_distortion,exception);
       break;
     }
@@ -1433,24 +1391,24 @@
     default:
     {
       status=GetNormalizedCrossCorrelationDistortion(image,reconstruct_image,
-        CompositeChannels,channel_distortion,exception);
+        channel_distortion,exception);
       break;
     }
     case PeakAbsoluteErrorMetric:
     {
-      status=GetPeakAbsoluteDistortion(image,reconstruct_image,CompositeChannels,
+      status=GetPeakAbsoluteDistortion(image,reconstruct_image,
         channel_distortion,exception);
       break;
     }
     case PeakSignalToNoiseRatioMetric:
     {
-      status=GetPeakSignalToNoiseRatio(image,reconstruct_image,CompositeChannels,
+      status=GetPeakSignalToNoiseRatio(image,reconstruct_image,
         channel_distortion,exception);
       break;
     }
     case RootMeanSquaredErrorMetric:
     {
-      status=GetRootMeanSquaredDistortion(image,reconstruct_image,CompositeChannels,
+      status=GetRootMeanSquaredDistortion(image,reconstruct_image,
         channel_distortion,exception);
       break;
     }
diff --git a/MagickCore/compare.h b/MagickCore/compare.h
index bccb133..714fea4 100644
--- a/MagickCore/compare.h
+++ b/MagickCore/compare.h
@@ -39,20 +39,15 @@
 } MetricType;
 
 extern MagickExport double
-  *GetImageChannelDistortions(Image *,const Image *,const MetricType,
-    ExceptionInfo *);
+  *GetImageDistortions(Image *,const Image *,const MetricType,ExceptionInfo *);
 
 extern MagickExport Image
-  *CompareImageChannels(Image *,const Image *,const ChannelType,
-    const MetricType,double *,ExceptionInfo *),
   *CompareImages(Image *,const Image *,const MetricType,double *,
     ExceptionInfo *),
   *SimilarityImage(Image *,const Image *,RectangleInfo *,double *,
     ExceptionInfo *);
 
 extern MagickExport MagickBooleanType
-  GetImageChannelDistortion(Image *,const Image *,const ChannelType,
-    const MetricType,double *,ExceptionInfo *),
   GetImageDistortion(Image *,const Image *,const MetricType,double *,
     ExceptionInfo *),
   IsImagesEqual(Image *,const Image *);
diff --git a/MagickCore/layer.c b/MagickCore/layer.c
index b4e440d..2c90494 100644
--- a/MagickCore/layer.c
+++ b/MagickCore/layer.c
@@ -508,7 +508,7 @@
 %  ComparePixels() Compare the two pixels and return true if the pixels
 %  differ according to the given LayerType comparision method.
 %
-%  This currently only used internally by CompareImageBounds(). It is
+%  This currently only used internally by CompareImagesBounds(). It is
 %  doubtful that this sub-routine will be useful outside this module.
 %
 %  The format of the ComparePixels method is:
@@ -572,16 +572,16 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  CompareImageBounds() Given two images return the smallest rectangular area
+%  CompareImagesBounds() Given two images return the smallest rectangular area
 %  by which the two images differ, accourding to the given 'Compare...'
 %  layer method.
 %
 %  This currently only used internally in this module, but may eventually
 %  be used by other modules.
 %
-%  The format of the CompareImageBounds method is:
+%  The format of the CompareImagesBounds method is:
 %
-%      RectangleInfo *CompareImageBounds(const ImageLayerMethod method,
+%      RectangleInfo *CompareImagesBounds(const ImageLayerMethod method,
 %        const Image *image1, const Image *image2, ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
@@ -595,7 +595,7 @@
 %
 */
 
-static RectangleInfo CompareImageBounds(const Image *image1,const Image *image2,
+static RectangleInfo CompareImagesBounds(const Image *image1,const Image *image2,
   const ImageLayerMethod method,ExceptionInfo *exception)
 {
   RectangleInfo
@@ -725,7 +725,7 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  CompareImageLayers() compares each image with the next in a sequence and
+%  CompareImagesLayers() compares each image with the next in a sequence and
 %  returns the minimum bounding region of all the pixel differences (of the
 %  ImageLayerMethod specified) it discovers.
 %
@@ -736,9 +736,9 @@
 %  No GIF dispose methods are applied, so GIF animations must be coalesced
 %  before applying this image operator to find differences to them.
 %
-%  The format of the CompareImageLayers method is:
+%  The format of the CompareImagesLayers method is:
 %
-%      Image *CompareImageLayers(const Image *images,
+%      Image *CompareImagesLayers(const Image *images,
 %        const ImageLayerMethod method,ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
@@ -752,7 +752,7 @@
 %
 */
 
-MagickExport Image *CompareImageLayers(const Image *image,
+MagickExport Image *CompareImagesLayers(const Image *image,
   const ImageLayerMethod method, ExceptionInfo *exception)
 {
   Image
@@ -818,7 +818,7 @@
       }
     (void) CompositeImage(image_a,CopyCompositeOp,next,next->page.x,
                            next->page.y);
-    bounds[i]=CompareImageBounds(image_b,image_a,method,exception);
+    bounds[i]=CompareImagesBounds(image_b,image_a,method,exception);
 
     image_b=DestroyImage(image_b);
     i++;
@@ -1014,7 +1014,7 @@
   (void) FormatLocaleFile(stderr, "frame %.20g :-\n", (double) i);
 #endif
   disposals[0]=NoneDispose;
-  bounds[0]=CompareImageBounds(prev_image,curr,CompareAnyLayer,exception);
+  bounds[0]=CompareImagesBounds(prev_image,curr,CompareAnyLayer,exception);
 #if DEBUG_OPT_FRAME
   (void) FormatLocaleFile(stderr, "overlay: %.20gx%.20g%+.20g%+.20g\n\n",
     (double) bounds[i].width,(double) bounds[i].height,
@@ -1039,7 +1039,7 @@
     /*
       Assume none disposal is the best
     */
-    bounds[i]=CompareImageBounds(curr->previous,curr,CompareAnyLayer,exception);
+    bounds[i]=CompareImagesBounds(curr->previous,curr,CompareAnyLayer,exception);
     cleared=IsBoundsCleared(curr->previous,curr,&bounds[i],exception);
     disposals[i-1]=NoneDispose;
 #if DEBUG_OPT_FRAME
@@ -1069,7 +1069,7 @@
         /*
           Compare a none disposal against a previous disposal
         */
-        try_bounds=CompareImageBounds(prev_image,curr,CompareAnyLayer,exception);
+        try_bounds=CompareImagesBounds(prev_image,curr,CompareAnyLayer,exception);
         try_cleared=IsBoundsCleared(prev_image,curr,&try_bounds,exception);
 #if DEBUG_OPT_FRAME
     (void) FormatLocaleFile(stderr, "test_prev: %.20gx%.20g%+.20g%+.20g%s\n",
@@ -1108,9 +1108,9 @@
                 prev_image=DestroyImage(prev_image);
                 return((Image *) NULL);
               }
-            dup_bounds=CompareImageBounds(dup_image,curr,CompareClearLayer,exception);
+            dup_bounds=CompareImagesBounds(dup_image,curr,CompareClearLayer,exception);
             ClearBounds(dup_image,&dup_bounds);
-            try_bounds=CompareImageBounds(dup_image,curr,CompareAnyLayer,exception);
+            try_bounds=CompareImagesBounds(dup_image,curr,CompareAnyLayer,exception);
             if ( cleared ||
                    dup_bounds.width*dup_bounds.height
                       +try_bounds.width*try_bounds.height
@@ -1140,7 +1140,7 @@
           }
         bgnd_bounds=bounds[i-1]; /* interum bounds of the previous image */
         ClearBounds(bgnd_image,&bgnd_bounds);
-        try_bounds=CompareImageBounds(bgnd_image,curr,CompareAnyLayer,exception);
+        try_bounds=CompareImagesBounds(bgnd_image,curr,CompareAnyLayer,exception);
         try_cleared=IsBoundsCleared(bgnd_image,curr,&try_bounds,exception);
 #if DEBUG_OPT_FRAME
     (void) FormatLocaleFile(stderr, "background: %s\n",
@@ -1154,7 +1154,7 @@
               include the pixels that are cleared.  This guaranteed
               to work, though may not be the most optimized solution.
             */
-            try_bounds=CompareImageBounds(curr->previous,curr,CompareClearLayer,exception);
+            try_bounds=CompareImagesBounds(curr->previous,curr,CompareClearLayer,exception);
 #if DEBUG_OPT_FRAME
             (void) FormatLocaleFile(stderr, "expand_clear: %.20gx%.20g%+.20g%+.20g%s\n",
                 (double) try_bounds.width,(double) try_bounds.height,
@@ -1211,18 +1211,18 @@
  * to see, or writet he image at this point it is hard to tell what is wrong!
  * Only CompareOverlay seemed to return something sensible.
  */
-            try_bounds=CompareImageBounds(bgnd_image,curr,CompareClearLayer,exception);
+            try_bounds=CompareImagesBounds(bgnd_image,curr,CompareClearLayer,exception);
             (void) FormatLocaleFile(stderr, "expand_ctst: %.20gx%.20g%+.20g%+.20g\n",
                 (double) try_bounds.width,(double) try_bounds.height,
                 (double) try_bounds.x,(double) try_bounds.y );
-            try_bounds=CompareImageBounds(bgnd_image,curr,CompareAnyLayer,exception);
+            try_bounds=CompareImagesBounds(bgnd_image,curr,CompareAnyLayer,exception);
             try_cleared=IsBoundsCleared(bgnd_image,curr,&try_bounds,exception);
             (void) FormatLocaleFile(stderr, "expand_any : %.20gx%.20g%+.20g%+.20g%s\n",
                 (double) try_bounds.width,(double) try_bounds.height,
                 (double) try_bounds.x,(double) try_bounds.y,
                 try_cleared?"   (pixels cleared)":"");
 #endif
-            try_bounds=CompareImageBounds(bgnd_image,curr,CompareOverlayLayer,exception);
+            try_bounds=CompareImagesBounds(bgnd_image,curr,CompareOverlayLayer,exception);
 #if DEBUG_OPT_FRAME
             try_cleared=IsBoundsCleared(bgnd_image,curr,&try_bounds,exception);
             (void) FormatLocaleFile(stderr, "expand_test: %.20gx%.20g%+.20g%+.20g%s\n",
@@ -1609,7 +1609,7 @@
     if ( curr->columns != next->columns || curr->rows != next->rows
          || curr->page.x != next->page.x || curr->page.y != next->page.y )
       continue;
-    bounds=CompareImageBounds(curr,next,CompareAnyLayer,exception);
+    bounds=CompareImagesBounds(curr,next,CompareAnyLayer,exception);
     if ( bounds.x < 0 ) {
       /*
         the two images are the same, merge time delays and delete one.
diff --git a/MagickCore/layer.h b/MagickCore/layer.h
index 9da131c..20540db 100644
--- a/MagickCore/layer.h
+++ b/MagickCore/layer.h
@@ -57,7 +57,7 @@
 extern MagickExport Image
   *CoalesceImages(const Image *,ExceptionInfo *),
   *DisposeImages(const Image *,ExceptionInfo *),
-  *CompareImageLayers(const Image *,const ImageLayerMethod,ExceptionInfo *),
+  *CompareImagesLayers(const Image *,const ImageLayerMethod,ExceptionInfo *),
   *MergeImageLayers(Image *,const ImageLayerMethod,ExceptionInfo *),
   *OptimizeImageLayers(const Image *,ExceptionInfo *),
   *OptimizePlusImageLayers(const Image *,ExceptionInfo *);
diff --git a/MagickCore/magick-config.h b/MagickCore/magick-config.h
index 9002a55..2f9648e 100644
--- a/MagickCore/magick-config.h
+++ b/MagickCore/magick-config.h
@@ -12,9 +12,7 @@
 /* #undef AUTOTRACE_DELEGATE */
 
 /* Define if coders and filters are to be built as modules. */
-#ifndef MAGICKCORE_BUILD_MODULES
-#define MAGICKCORE_BUILD_MODULES 1
-#endif
+/* #undef BUILD_MODULES */
 
 /* Define if you have the bzip2 library */
 #ifndef MAGICKCORE_BZLIB_DELEGATE
@@ -56,9 +54,7 @@
 #endif
 
 /* Define if you have DJVU library */
-#ifndef MAGICKCORE_DJVU_DELEGATE
-#define MAGICKCORE_DJVU_DELEGATE 1
-#endif
+/* #undef DJVU_DELEGATE */
 
 /* Directory where ImageMagick documents live. */
 #ifndef MAGICKCORE_DOCUMENTATION_PATH
@@ -80,9 +76,7 @@
 #endif
 
 /* Define if you have FFTW library */
-#ifndef MAGICKCORE_FFTW_DELEGATE
-#define MAGICKCORE_FFTW_DELEGATE 1
-#endif
+/* #undef FFTW_DELEGATE */
 
 /* Location of filter modules */
 #ifndef MAGICKCORE_FILTER_PATH
@@ -421,15 +415,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 +1146,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 +1175,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 +1187,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/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"
 #endif
 
 /* The archive extension */
@@ -1248,9 +1238,7 @@
 /* #undef NO_MINUS_C_MINUS_O */
 
 /* Define if you have OPENEXR library */
-#ifndef MAGICKCORE_OPENEXR_DELEGATE
-#define MAGICKCORE_OPENEXR_DELEGATE 1
-#endif
+/* #undef OPENEXR_DELEGATE */
 
 /* Define to the address where bug reports for this package should be sent. */
 #ifndef MAGICKCORE_PACKAGE_BUGREPORT
@@ -1305,9 +1293,7 @@
 #endif
 
 /* Define if you have RSVG library */
-#ifndef MAGICKCORE_RSVG_DELEGATE
-#define MAGICKCORE_RSVG_DELEGATE 1
-#endif
+/* #undef RSVG_DELEGATE */
 
 /* Define to the type of arg 1 for `select'. */
 #ifndef MAGICKCORE_SELECT_TYPE_ARG1
@@ -1444,9 +1430,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 */
@@ -1455,9 +1439,7 @@
 /* #undef WITH_DMALLOC */
 
 /* Define if you have WMF library */
-#ifndef MAGICKCORE_WMF_DELEGATE
-#define MAGICKCORE_WMF_DELEGATE 1
-#endif
+/* #undef WMF_DELEGATE */
 
 /* 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 bd545a1..c787e45 100644
--- a/MagickCore/methods.h
+++ b/MagickCore/methods.h
@@ -183,8 +183,8 @@
 #define CombineImages  PrependMagickMethod(CombineImages)
 #define CompareHashmapStringInfo  PrependMagickMethod(CompareHashmapStringInfo)
 #define CompareHashmapString  PrependMagickMethod(CompareHashmapString)
-#define CompareImageChannels  PrependMagickMethod(CompareImageChannels)
-#define CompareImageLayers  PrependMagickMethod(CompareImageLayers)
+#define CompareImages  PrependMagickMethod(CompareImages)
+#define CompareImagesLayers  PrependMagickMethod(CompareImagesLayers)
 #define CompareImages  PrependMagickMethod(CompareImages)
 #define CompareSplayTreeStringInfo  PrependMagickMethod(CompareSplayTreeStringInfo)
 #define CompareSplayTreeString  PrependMagickMethod(CompareSplayTreeString)
@@ -421,8 +421,8 @@
 #define GetImageAttribute  PrependMagickMethod(GetImageAttribute)
 #define GetImageBoundingBox  PrependMagickMethod(GetImageBoundingBox)
 #define GetImageDepth  PrependMagickMethod(GetImageDepth)
-#define GetImageChannelDistortion  PrependMagickMethod(GetImageChannelDistortion)
-#define GetImageChannelDistortions  PrependMagickMethod(GetImageChannelDistortions)
+#define GetImageDistortion  PrependMagickMethod(GetImageDistortion)
+#define GetImageDistortions  PrependMagickMethod(GetImageDistortions)
 #define GetImageChannelExtrema  PrependMagickMethod(GetImageChannelExtrema)
 #define GetImageChannelKurtosis  PrependMagickMethod(GetImageChannelKurtosis)
 #define GetImageChannelMean  PrependMagickMethod(GetImageChannelMean)
diff --git a/MagickCore/pixel.c b/MagickCore/pixel.c
index 489215d..325615c 100644
--- a/MagickCore/pixel.c
+++ b/MagickCore/pixel.c
@@ -4435,32 +4435,26 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 %  SetPixelComponentMap() sets the pixel component map from the specified
-%  string map.
+%  channel mask.
 %
 %  The format of the SetPixelComponentMap method is:
 %
-%      void SetPixelComponentMap(Image *image,const char *components)
+%      void SetPixelComponentMap(Image *image,const ChannelType channel)
 %
 %  A description of each parameter follows:
 %
 %    o image: the image.
 %
-%    o components: One or more pixel components separated by commas.
+%    o channel: the channel mask.
 %
 */
-MagickExport void SetPixelComponentMap(Image *image,const char *components)
+MagickExport void SetPixelComponentMap(Image *image,const ChannelType channel)
 {
   register ssize_t
     i;
 
-  ssize_t
-    channel;
-
   for (i=0; i < MaxPixelComponents; i++)
     image->component_map[i].traits=UndefinedPixelTrait;
-  channel=(ChannelType) ParseChannelOption(components);
-  if (channel < 0)
-    channel=DefaultChannels;
   image->sync=(channel & SyncChannels) != 0 ? MagickTrue : MagickFalse;
   if ((channel & RedChannel) != 0)
     SetPixelRedTraits(image,ActivePixelTrait);
diff --git a/MagickCore/pixel.h b/MagickCore/pixel.h
index 523bb2e..b614ea9 100644
--- a/MagickCore/pixel.h
+++ b/MagickCore/pixel.h
@@ -160,7 +160,7 @@
 extern MagickExport void
   StandardPixelComponentMap(Image *),
   GetPixelInfo(const Image *,PixelInfo *),
-  SetPixelComponentMap(Image *,const char *);
+  SetPixelComponentMap(Image *,const ChannelType);
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }
diff --git a/MagickCore/version.h b/MagickCore/version.h
index 5287591..aa2cfd8 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  "exported"
+#define MagickSVNRevision  "4693"
 #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-07-04"
+#define MagickReleaseDate  "2011-07-05"
 #define MagickChangeDate   "20110701"
 #define MagickAuthoritativeURL  "http://www.imagemagick.org"
 #if defined(MAGICKCORE_OPENMP_SUPPORT)