RADON Function
Computes the forward radon transform of an image.
Usage
result = RADON(image)
Input Parameters
image—A 2D or 3D array containing an image; or image, row or pixel-interleaved images.
Returned Value
result—A 2D or 3D array containing the radon transformation. If image is a byte or integer data type, result is a long; otherwise, result is a double array.
For a 2D
image input parameter,
result is a 2D long array whose dimensions are the diagonal of the original image by the value of the
N_Angles keyword.
For a 3D
image array (an array of 2D images),
result is a 3D long array whose dimensions are the diagonal of the original image by the value of the
N_Angles keyword by the number of images in the array,
p.
Keywords
Intleave—A scalar string indicating the type of interleaving of 3D input image arrays. Valid strings and the corresponding interleaving methods are:
'pixel'—The input array arrangement is (
p,
x,
y) for
p pixel-interleaved images of
x-by-
y.
'row'—The 3D
image array arrangement is (
x,
p,
y) for
p row-interleaved images of
x-by-
y.
'image'—The 3D
image array arrangement is (
x,
y,
p) for
p image-interleaved images of
x-by-
y.
N_Angles—Specifies the number of angles, between 0 and 360, to quantize in the transform calculation. (Default: 360)
Discussion
The Radon transform is composed of the combined projections of an image over all possible angles. Specifically, the image is rotated about its center by a rotation angle. The columns of the rotated image are then summed to form the radon transform result for that particular rotation angle. The rotation angle begins at zero degrees and is increased on each iteration by the angle step size, where the step size is the number of requested angles (N_Angles) divided by 360. The rotation and summing technique is continued until the rotation angle reaches 360 degrees. The Radon transform is commonly used in image reconstruction and machine vision.
Example
; Threshold image and compute Radon trans. over 180 projections.
image = IMAGE_READ(!IP_Data + 'blobs.tif')
image('pixels') = THRESHOLD(image('pixels'), 30, 40, /Binary)
radon_image = RADON(image('pixels'), N_Angles = 180)
TVSCL, radon_image
See Also