Radon transform

`R = radon(I, theta)`

[R,xp] = radon(...)

[___]= radon(gpuarrayI,theta)

`R = radon(I, theta)`

returns
the Radon transform `R`

of the intensity image `I`

for
the angle `theta`

degrees.

The Radon transform is the projection of the image intensity
along a radial line oriented at a specific angle. If `theta`

is
a scalar, `R`

is a column vector containing the Radon
transform for `theta`

degrees. If `theta`

is
a vector, `R`

is a matrix in which each column is
the Radon transform for one of the angles in `theta`

.
If you omit `theta`

, it defaults to 0:179.

`[R,xp] = radon(...)`

returns
a vector `xp`

containing the radial coordinates corresponding
to each row of `R`

.

The radial coordinates returned in `xp`

are
the values along the *x**'*-axis,
which is oriented at `theta`

degrees counterclockwise
from the *x*-axis. The origin of both axes is the
center pixel of the image, which is defined as

floor((size(I)+1)/2)

For example, in a 20-by-30 image, the center pixel is (10,15).

`[___]= radon(gpuarrayI,theta)`

performs
the Radon transform on a GPU. The input image and the return values
are 2-D gpuArrays. `theta`

can be a `double`

or
gpuArray of underlying class `double`

. This syntax
requires the Parallel Computing Toolbox™.

`I`

can be of class `double`

, `logical`

,
or any integer class. All other inputs and outputs are of class `double`

.
Neither of the inputs can be sparse.

`gpuarrayI`

is a gpuArray with underlying class `uint8`

, `uint16`

, `uint32`

, `int8`

, `int16`

, `int32`

, `logical`

, `single`

or `double`

and
must be two-dimensional. `theta`

is a `double`

vector
or gpuArray vector of underlying class `double`

.

Bracewell, Ronald N., *Two-Dimensional Imaging*,
Englewood Cliffs, NJ, Prentice Hall, 1995, pp. 505-537.

Lim, Jae S., *Two-Dimensional Signal and Image Processing*,
Englewood Cliffs, NJ, Prentice Hall, 1990, pp. 42-45.

Was this topic helpful?