NOISE_RAYLEIGH Function
Generates an array of Rayleigh distribution noise.
Usage
result = NOISE_RAYLEIGH(variance, d1[, d2, ... , d8])
Input Parameters
variance—The desired noise variance.
d1, ..., d8—The dimensions of the result array.
Returned Value
result—An array of Rayleigh-distributed random numbers. The result array data type is set using the Type keyword.
Keywords
Seed—A scalar long value specifying the seed used for the random number generator.
Type—A string indicating the desired data type of result. Valid strings include: 'byte', 'fix', 'long', 'float', or 'double'. (Default: 'byte')
Discussion
Rayleigh noise is derived from uniform noise and is commonly seen in radar and velocity images. The probability density function for Rayleigh noise is:
NOISE_RAYLEIGH computes a Rayleigh distributed noise array from a uniform noise array as follows:
Example
; Read an image.
image = IMAGE_READ(!IP_Data + 'objects.tif')
; Generate some Rayleigh noise with a variance of 15.0.
noise = NOISE_RAYLEIGH(15.0, image('width'), image('height'))
; Add the noise to the image.
noise_image = IPMATH(noise + 128.0, '+', image('pixels'), $
/No_Clip)
; Test the MMSE filter for removing the noise.
filt_image = FILT_MMSE(noise_image, 15.0, 3, 3, Edge = 'copy')
; Display the filtered image.
TVSCL, filt_image
See Also