The NOISE_PICK function introduces noise into an image by picking randomly selected pixels to be replaced by a neighboring pixel from a random direction. The probability of replacing a pixel is controlled by a parameter which controls the amount of noise introduced into the image.
Example
This example introduces noise to a test image:
image = BYTSCL(DIST(400))
image_noisy = NOISE_PICK(image, 0.9, ITER=30)
IIMAGE, image, VIEW_GRID=[2,1], VIEW_TITLE='Original', $
DIMENSIONS=[850, 550], WINDOW_TITLE='NOISE_PICK Example', $
/NO_SAVEPROMPT
IIMAGE, image_noisy, /VIEW_NEXT, VIEW_TITLE='Noisy'
ISETPROPERTY, 'text*', FONT_SIZE=40
The resulting images appear:
Syntax
Result = NOISE_PICK(Image [, Randomization] [, ITERATIONS=value] [, SEED=value])
Return Value
Result is an array of the same type and dimensions as Image.
Arguments
Image
A two dimensional or three dimensional array containing the input image. Two-dimensional arrays are treated as single channel images. For three-dimensional arrays the first dimension contains the color channels forming a pixel (Pixel Interleave).
Randomization
A floating-point scalar in the range 0.0-1.0 that specifies the probability of picking each pixel for replacement. 0.0 means there is no chance of replacement and 1.0 means that the pixel is always replaced. The default value is 0.5.
Note: This value specifies the probability of replacement for each pixel. It does not necessarily mean that a particular percentage of the pixels are replaced.
Keywords
ITERATIONS
Set this keyword to the number of times to apply the noise generator. Increasing the number of iterations increases the distance pixels can move.
SEED
Set this keyword to the seed value for the random number generator. This keyword is used in the same way as the SEED argument for RANDOMU.
Version History