rock art petroglyph and pictograph educational articles


Using Decorrelation Stretch to Enhance Rock Art Images
 Jon Harman, Ph.D.

Presented at the Society for California Archaeology, April 23, 2005.

Decorrelation stretch, an image enhancement technique first used in remote sensing, can be usefully applied to rock art.  In pictograph images from Baja California, California, and Nevada I demonstrate its ability to bring out elements nearly invisible to the eye and to improve visualization of difficult sites.  A decorrelation stretch plugin to the imaging program ImageJ is available from the author, free for personal use.

Decorrelation stretch has been used in remote sensing to enhance multispectral images.   NASA has used it to enhance Mars Rover images.

I have implemented this technique in the DStretch plugin to ImageJ [1].  The plugin has options intended to be useful in rock art research.

DStretch can be a useful tool for archaeologists.  The enhancement techniques can bring out very faint pictographs almost invisible to the eye, Figures 1-2.  Subtle differences in hue are enhanced which can give clues to superposition. Pictographs can be enhanced for publication or presentation to viewers not capable (or inclined) to puzzle out faint elements.  I have had better results on pictograph images than petroglyphs.  Use of DStretch can be as simple as just hitting a button, but it also contains features that will be appreciated by more sophisticated users. 

pictograph candidate for DStretch DStretch pictograph
Figure 1.  Photograph of a difficult to see pictograph Figure 2.  Same photograph enhanced with DStretch

The technique consists of applying a Karhunen-Loeve transform to the colors of the image.  This diagonalizes the covariance (or optionally the correlation) matrix of the colors.  Next the contrast for each color is stretched to equalize the color variances.  At this point the colors are uncorrelated and fill the colorspace.  Finally the inverse transform is used to map the colors back to an approximation of the original.  Other names for related techniques are Principal Components Analysis and Hotelling transformation 
[2] [3].  The decorrelation stretch calculation produces a 3x3 matrix that is then applied to the colors in the image.  A color digital image is stored in RGB format.  DStretch supports several different colorspaces (see below).  The image is converted to the colorspace, the calculation and enhancement is performed, and then the colors are converted back to RGB.

Program Features
ImageJ is a full-featured imaging program.  Information on its capabilities can be found at [1].  This section will focus on the DStretch plugin features.

If an area selection is made within the image the input to the decorrelation will be restricted to the colors inside the area.  The enhancement will be applied to the entire image.  This allows the exclusion of parts of the image that may have little to do with the area of interest, say a green bush at the side of a pictograph panel.  Different decorrelation results are possible by selecting different parts of the image.

Mapping back is optional.  This can create more colorful enhancements, but the colors will have little resemblance to the original.  When not mapped back the colors in the image are decorrelated.  If decorrelation is tried again unpredictable results occur that can switch colors and sometimes create better contrasts. 

Different colorspaces give different results, especially when not mapped back, so I have implemented the algorithm in RGB, YCbCr, YUV and XYZ colorspaces.  Artifacts from JPEG compression can be a problem; using YCbCr colorspace lessens the artifacts, Figures 3-6.

ayers_rock_bighorn bighorn_1_RGB_enhanced bighorn_1_YCbCr_enhanced
Figure 3.  Bighorn sheep photograph Figure 4.  Enhanced with algorithm RGB Figure 5.  Enhanced with algorithm YCbCr

The enhanced image is false color, i.e. the colors in it can be radically different from the original, especially if not mapped back.  DStretch has the ability to shift the hues in the enhanced image to increase contrast.

Each image enhances differently, depending on its own unique distribution of colors.  For consistency it is possible to save an enhancement matrix that was calculated on one image and apply it to others.  I have saved one matrix that I have found useful for each colorspace.  Choosing custom in the matrix chooser can access these matrices.  A dialogue pops up and allows for user modification of the default matrices.

Another useful enhancement technique, not related to decorrelation stretch, is the manipulation of the hue and saturation of the image.  DStretch can do hue histogram equalization and saturation stretching.

DStretch also contains a tool that allows a region of the enhanced image to be isolated by hue and then added back to the original image.  This can be used to isolate an enhanced element and display it in the original image.

My tool is a plugin to ImageJ:
If you are interested, then first get ImageJ to work and then send me an email for the plugin: 

DStretch Help

[1] ImageJ web site:

[2] Gillespie, et al. 1986: Color enhancement of highly correlated images. I. Decorrelation and HSI contrast stretches. Rem. Sens. Environ., 20, 209-235.

[3] Gonzalez and Wintz, 1977: "Digital Image Processing", Addison-Wesley, Reading, MA.

Thanks to Bob Mark for the suggestion to investigate decorrelation stretch and for help in program debugging.  Thanks to Sheila Harman for advice and support.

Back to Top  

Visit Sand Carved Designs to see
 Petroglyph art for your home or office.
Opens a new window


2005  All rights reserved. This article printed by permission of Jon Harman, Ph.D. author. 
Reproduction, distribution or other use of images or text without permission from the author is prohibited.
For comments about this article email the author