User's Guide

GPYRAMID

Creates an element (image) of a Gaussian Pyramid

Function:

Creates an element (image) of a Gaussian Pyramid. The result is a subsampled image in which the power spectrum is more closely approximated.

Parameters:

IN
Input image. This is the image to be downsampled using the Gaussian-like weighting function.

OUT
Output image. The output image has half the number of lines and samples as the input image.

WEIGHT(0.4)
Weight scale. The value which determines the shape of the weight functions used in the low pass filter (convolution) process. Refer to the algorithm section for a definition of how WEIGHT affects the weight functions.

Examples:

  1. LAS> gpyramid in=image.dat out=image.out

    IMAGE.OUT is created with half the lines and samples that IMAGE.DAT has. The image is low pass filtered (smoothed) with a Gaussian-like weighting function.

Description/Algorithm:

A 5 x 5 low pass filter is set up. The user controls the shape of the convolution weight function with WEIGHT. A value of 0.4 is normally used to create a Gaussian-like weight function. A value of 0.3 is broader than Gaussian, a value of 0.5 is triangular, and a value of 0.6 is trimodal. The convolution weights are separable, normalized, symmetric, and have equal contribution (all nodes at a given level contribute the same total weight to the nodes at the next higher level).

Following are the convolution weights for values of WEIGHT:


         w(-2) = 0.25 - WEIGHT/2
         w(-1) = 0.25
         w(0) =  WEIGHT  
         w(1) =  0.25
         w(2) =  0.25 - WEIGHT/2

These weights are applied in the sample direction, then in the line direction. The image is then decimated by a factor of two, resulting in an image which is one-fourth the size of the input image. Refer to the references in the user notes for an in-depth explanation of this process.

Nonfatal Error Message:

  1. [gpyramid-warn] Nonfatal error encountered

    A nonfatal error was encountered during processing. The message displayed immediately preceding this error message is the specific error encountered. Processing continues.

Fatal Error Messages:

  1. [gpyramid-alloc] Error allocating memory

    An error occurred allocating memory. Re-run the function, and if the error persists, contact the system manager.

  2. [gpyramid-fatal] Fatal error encountered

    A fatal error was encountered during processing. The error message displayed immediately preceding this message is the specific error encountered. Processing is terminated.

User Notes:

  1. This function can be used to create an element of a Gaussian Pyramid. It can also be used in conjunction with EXPYRAMID to create a Laplacian Pyramid.

  2. In general, pyramids are used to reduce images by a factor of two in both the line and sample dimensions. It is more robust (from a signal processing point of view) than just using decimation (downsampling without interpolation) like ZOOM-REDUCE does.

  3. A typical use of this process is data compression.

  4. For further information on this process, refer to "The Laplacian Pyramid as a Compact Image Code" by P. Burt and E. Adelson in the IEEE Transactions on Communications Volume COM-31, Number 4, April 1983.