diff --git a/magick/cache.c b/magick/cache.c
index f187793..80b7466 100644
--- a/magick/cache.c
+++ b/magick/cache.c
@@ -2692,7 +2692,7 @@
% %
% %
% %
-+ G e t P i x e l C a c h e S t o r a e C l a s s %
++ G e t P i x e l C a c h e S t o r a g e C l a s s %
% %
% %
% %
@@ -2730,6 +2730,89 @@
% %
% %
% %
++ G e t P i x e l C a c h e T i l e S i z e %
+% %
+% %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% GetPixelCacheTileSize() returns the pixel cache tile size.
+%
+% The format of the GetPixelCacheTileSize() method is:
+%
+% void GetPixelCacheTileSize(const Image *image,unsigned long *width,
+% unsigned long *height)
+%
+% A description of each parameter follows:
+%
+% o image: the image.
+%
+% o width: the optimize cache tile width in pixels.
+%
+% o height: the optimize cache tile height in pixels.
+%
+*/
+MagickExport void GetPixelCacheTileSize(const Image *image,unsigned long *width,
+ unsigned long *height)
+{
+ CacheInfo
+ *cache_info;
+
+ assert(image != (Image *) NULL);
+ assert(image->signature == MagickSignature);
+ if (image->debug != MagickFalse)
+ (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
+ assert(image->cache != (Cache) NULL);
+ cache_info=(CacheInfo *) image->cache;
+ assert(cache_info->signature == MagickSignature);
+ *width=2048UL/sizeof(PixelPacket);
+ if (GetPixelCacheType(image) == DiskCache)
+ *width=8196UL/sizeof(PixelPacket);
+ *height=(*width);
+}
+
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% %
+% %
++ G e t P i x e l C a c h e T y p e %
+% %
+% %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% GetPixelCacheType() returns the pixel cache type (e.g. memory, disk, etc.).
+%
+% The format of the GetPixelCacheType() method is:
+%
+% CacheType GetPixelCacheType(const Image *image)
+%
+% A description of each parameter follows:
+%
+% o image: the image.
+%
+*/
+MagickExport CacheType GetPixelCacheType(const Image *image)
+{
+ CacheInfo
+ *cache_info;
+
+ assert(image != (Image *) NULL);
+ assert(image->signature == MagickSignature);
+ if (image->debug != MagickFalse)
+ (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
+ assert(image->cache != (Cache) NULL);
+ cache_info=(CacheInfo *) image->cache;
+ assert(cache_info->signature == MagickSignature);
+ return(cache_info->type);
+}
+
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% %
+% %
+ G e t P i x e l C a c h e V i r t u a l M e t h o d %
% %
% %