diff --git a/coders/ps2.c b/coders/ps2.c
index 6731b7f..ae734eb 100644
--- a/coders/ps2.c
+++ b/coders/ps2.c
@@ -39,34 +39,36 @@
 /*
   Include declarations.
 */
-#include "magick/studio.h"
-#include "magick/blob.h"
-#include "magick/blob-private.h"
-#include "magick/cache.h"
-#include "magick/color.h"
-#include "magick/color-private.h"
-#include "magick/compress.h"
-#include "magick/constitute.h"
-#include "magick/draw.h"
-#include "magick/exception.h"
-#include "magick/exception-private.h"
-#include "magick/geometry.h"
-#include "magick/image.h"
-#include "magick/image-private.h"
-#include "magick/list.h"
-#include "magick/magick.h"
-#include "magick/memory_.h"
-#include "magick/monitor.h"
-#include "magick/monitor-private.h"
-#include "magick/monitor-private.h"
-#include "magick/option.h"
-#include "magick/resource_.h"
-#include "magick/property.h"
-#include "magick/quantum-private.h"
-#include "magick/static.h"
-#include "magick/string_.h"
-#include "magick/module.h"
-#include "magick/utility.h"
+#include "MagickCore/studio.h"
+#include "MagickCore/attribute.h"
+#include "MagickCore/blob.h"
+#include "MagickCore/blob-private.h"
+#include "MagickCore/cache.h"
+#include "MagickCore/color.h"
+#include "MagickCore/color-private.h"
+#include "MagickCore/compress.h"
+#include "MagickCore/constitute.h"
+#include "MagickCore/draw.h"
+#include "MagickCore/exception.h"
+#include "MagickCore/exception-private.h"
+#include "MagickCore/geometry.h"
+#include "MagickCore/image.h"
+#include "MagickCore/image-private.h"
+#include "MagickCore/list.h"
+#include "MagickCore/magick.h"
+#include "MagickCore/memory_.h"
+#include "MagickCore/monitor.h"
+#include "MagickCore/monitor-private.h"
+#include "MagickCore/monitor-private.h"
+#include "MagickCore/option.h"
+#include "MagickCore/pixel-accessor.h"
+#include "MagickCore/property.h"
+#include "MagickCore/quantum-private.h"
+#include "MagickCore/resource_.h"
+#include "MagickCore/static.h"
+#include "MagickCore/string_.h"
+#include "MagickCore/module.h"
+#include "MagickCore/utility.h"
 
 /*
   Define declarations.
@@ -419,10 +421,7 @@
     media_info,
     page_info;
 
-  register const IndexPacket
-    *indexes;
-
-  register const PixelPacket
+  register const Quantum
     *p;
 
   register ssize_t
@@ -723,7 +722,7 @@
       ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed");
     if ((compression == FaxCompression) || (compression == Group4Compression) ||
         ((image_info->type != TrueColorType) &&
-         (IsGrayImage(image,&image->exception) != MagickFalse)))
+         (IsImageGray(image,&image->exception) != MagickFalse)))
       {
         (void) FormatLocaleString(buffer,MaxTextExtent,"%.20g %.20g\n1\n%d\n",
           (double) image->columns,(double) image->rows,(int)
@@ -781,12 +780,12 @@
             {
               p=GetVirtualPixels(image,0,y,image->columns,1,
                 &image->exception);
-              if (p == (const PixelPacket *) NULL)
+              if (p == (const Quantum *) NULL)
                 break;
               for (x=0; x < (ssize_t) image->columns; x++)
               {
-                *q++=ScaleQuantumToChar(PixelIntensityToQuantum(p));
-                p++;
+                *q++=ScaleQuantumToChar(GetPixelIntensity(image,p));
+                p+=GetPixelChannels(image);
               }
               progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
                 image->rows);
@@ -816,13 +815,13 @@
             {
               p=GetVirtualPixels(image,0,y,image->columns,1,
                 &image->exception);
-              if (p == (const PixelPacket *) NULL)
+              if (p == (const Quantum *) NULL)
                 break;
               for (x=0; x < (ssize_t) image->columns; x++)
               {
                 Ascii85Encode(image,ScaleQuantumToChar(
-                  PixelIntensityToQuantum(p)));
-                p++;
+                  GetPixelIntensity(image,p)));
+                p+=GetPixelChannels(image);
               }
               progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType)
                 y,image->rows);
@@ -878,13 +877,12 @@
               {
                 p=GetVirtualPixels(image,0,y,image->columns,1,
                   &image->exception);
-                if (p == (const PixelPacket *) NULL)
+                if (p == (const Quantum *) NULL)
                   break;
-                indexes=GetVirtualIndexQueue(image);
                 for (x=0; x < (ssize_t) image->columns; x++)
                 {
                   if ((image->matte != MagickFalse) &&
-                      (GetPixelOpacity(p) == (Quantum) TransparentOpacity))
+                      (GetPixelAlpha(image,p) == (Quantum) TransparentAlpha))
                     {
                       *q++=ScaleQuantumToChar((Quantum) QuantumRange);
                       *q++=ScaleQuantumToChar((Quantum) QuantumRange);
@@ -893,19 +891,18 @@
                   else
                     if (image->colorspace != CMYKColorspace)
                       {
-                        *q++=ScaleQuantumToChar(GetPixelRed(p));
-                        *q++=ScaleQuantumToChar(GetPixelGreen(p));
-                        *q++=ScaleQuantumToChar(GetPixelBlue(p));
+                        *q++=ScaleQuantumToChar(GetPixelRed(image,p));
+                        *q++=ScaleQuantumToChar(GetPixelGreen(image,p));
+                        *q++=ScaleQuantumToChar(GetPixelBlue(image,p));
                       }
                     else
                       {
-                        *q++=ScaleQuantumToChar(GetPixelRed(p));
-                        *q++=ScaleQuantumToChar(GetPixelGreen(p));
-                        *q++=ScaleQuantumToChar(GetPixelBlue(p));
-                        *q++=ScaleQuantumToChar(GetPixelIndex(
-                          indexes+x));
+                        *q++=ScaleQuantumToChar(GetPixelRed(image,p));
+                        *q++=ScaleQuantumToChar(GetPixelGreen(image,p));
+                        *q++=ScaleQuantumToChar(GetPixelBlue(image,p));
+                        *q++=ScaleQuantumToChar(GetPixelBlack(image,p));
                       }
-                  p++;
+                  p+=GetPixelChannels(image);
                 }
                 progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType)
                   y,image->rows);
@@ -935,13 +932,12 @@
               {
                 p=GetVirtualPixels(image,0,y,image->columns,1,
                   &image->exception);
-                if (p == (const PixelPacket *) NULL)
+                if (p == (const Quantum *) NULL)
                   break;
-                indexes=GetVirtualIndexQueue(image);
                 for (x=0; x < (ssize_t) image->columns; x++)
                 {
                   if ((image->matte != MagickFalse) &&
-                      (GetPixelOpacity(p) == (Quantum) TransparentOpacity))
+                      (GetPixelAlpha(image,p) == (Quantum) TransparentAlpha))
                     {
                       Ascii85Encode(image,ScaleQuantumToChar((Quantum)
                         QuantumRange));
@@ -954,24 +950,24 @@
                     if (image->colorspace != CMYKColorspace)
                       {
                         Ascii85Encode(image,ScaleQuantumToChar(
-                          GetPixelRed(p)));
+                          GetPixelRed(image,p)));
                         Ascii85Encode(image,ScaleQuantumToChar(
-                          GetPixelGreen(p)));
+                          GetPixelGreen(image,p)));
                         Ascii85Encode(image,ScaleQuantumToChar(
-                          GetPixelBlue(p)));
+                          GetPixelBlue(image,p)));
                       }
                     else
                       {
                         Ascii85Encode(image,ScaleQuantumToChar(
-                          GetPixelRed(p)));
+                          GetPixelRed(image,p)));
                         Ascii85Encode(image,ScaleQuantumToChar(
-                          GetPixelGreen(p)));
+                          GetPixelGreen(image,p)));
                         Ascii85Encode(image,ScaleQuantumToChar(
-                          GetPixelBlue(p)));
+                          GetPixelBlue(image,p)));
                         Ascii85Encode(image,ScaleQuantumToChar(
-                          GetPixelIndex(indexes+x)));
+                          GetPixelBlack(image,p)));
                       }
-                  p++;
+                  p+=GetPixelChannels(image);
                 }
                 progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType)
                   y,image->rows);
@@ -1031,11 +1027,13 @@
               {
                 p=GetVirtualPixels(image,0,y,image->columns,1,
                   &image->exception);
-                if (p == (const PixelPacket *) NULL)
+                if (p == (const Quantum *) NULL)
                   break;
-                indexes=GetVirtualIndexQueue(image);
                 for (x=0; x < (ssize_t) image->columns; x++)
-                  *q++=(unsigned char) GetPixelIndex(indexes+x);
+                {
+                  *q++=(unsigned char) GetPixelIndex(image,p);
+                  p+=GetPixelChannels(image);
+                }
                 progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType)
                   y,image->rows);
                 if (progress == MagickFalse)
@@ -1064,12 +1062,13 @@
               {
                 p=GetVirtualPixels(image,0,y,image->columns,1,
                   &image->exception);
-                if (p == (const PixelPacket *) NULL)
+                if (p == (const Quantum *) NULL)
                   break;
-                indexes=GetVirtualIndexQueue(image);
                 for (x=0; x < (ssize_t) image->columns; x++)
-                  Ascii85Encode(image,(unsigned char) GetPixelIndex(
-                    indexes+x));
+                {
+                  Ascii85Encode(image,(unsigned char) GetPixelIndex(image,p));
+                  p+=GetPixelChannels(image);
+                }
                 progress=SetImageProgress(image,SaveImageTag,(MagickOffsetType)
                   y,image->rows);
                 if (progress == MagickFalse)