RETRO commands


PROGRAM NAME

vspeckle - Reduce Speckle Noise Using the Crimmins Algorithm (K1)

DESCRIPTION

vspeckle reduces the "speckle" noise from an image. It uses the "eight hull algorithm" developed by T. R. Crimmins to perform this reduction.

The function takes one argument: n which determines how many times the image is to be sent through the speckle reducing filter. This filter uses the complementary hulling technique to reduce the speckle index of an image.

Each pixel in the image is compared with all eight of its surrounding pixels. The pixels above and below the pixel are the N-S pair, the pixels on either side are the E-W pair, those on the diagonals are the NW-SE and NE-SW pair. The image and a pair of pixels are sent to the symmetric hull function which in turn sends the image to the positive hull function and to the negative hull function. The positive and negative hull functions are called twice; the first time the neighboring pair of pixels is sent and the second time the complement of the pixels is sent. The positive hull function replaces each "middle pixel" with the result of a several comparisons. These comparison are a combination of maximums and minimums. The final comparison is a maximum for the positive hull algorithm. The image is then sent to the negative hull function where the middle pixel is replaced with the result of more comparisons. The final comparison for the negative hull algorithm is a minimum. The result of all these replacements has the effect of reducing the undesired speckle noise while preserving the edges of the original image. The Geometric filter for speckle reduction is described in Applied Optics, Vol. 24, No. 10, 15 May 1985, Geometric fileter for speckle reduction, by Thomas R Crimmins. Another reference is Optical Engineering, May 1986 p653.

REQUIRED ARGUMENTS

-i
type: infile
desc: input image
-o
type: outfile
desc: output image

OPTIONAL ARGUMENTS

-n
type: integer
desc: Iterations
default: 1
bounds: 1 < [-n] < 20

EXAMPLES

vspeckle -i image1 -o image2 -n 2

This command sends the image through the geometric filter twice. Most of the speckle noise is removed from image1 and the result is stored in image2.

SEE ALSO

lvspeckle(3)

RESTRICTIONS

vspeckle accepts only BYTE images. The number of iterations is limited to 20.

REFERENCES

COPYRIGHT

Copyright (C) 1993 - 1997, Khoral Research, Inc. ("KRI") All rights reserved.