Image Processing Toolbox User's Guide |
Syntax
Description
I = ifanbeam(F,D)
reconstructs the image I from projection data in the two-dimensional array F
. Each column of F
contains fan-beam projection data at one rotation angle. ifanbeam
assumes that the center of rotation is the center point of the projections, which is defined as ceil(size(F,1)/2)
.
The fan-beam spread angles are assumed to be the same increments as the input rotation angles split equally on either side of zero. The input rotation angles are assumed to be stepped in equal increments to cover [0:359]
degrees.
D
is the distance from the fan-beam vertex to the center of rotation.
I = ifanbeam(...,param1,val1,param2,val2,...)
specifies parameters that control various aspects of the ifanbeam
reconstruction, described in the following table. Parameter names can be abbreviated, and case does not matter. Default values are in braces ({}
).
Parameter |
Description |
'FanCoverage' |
String specifying the range through which the beams are rotated.
'minimal' -- Rotate the minimum range necessary to represent the object. |
'FanRotationIncrement' |
Positive real scalar specifying the increment of the rotation angle of the fan-beam projections, measured in degrees. See fanbeam for details. |
'FanSensorGeometry' |
String specifying how sensors are positioned.'arc' -- Sensors are spaced equally along a circular arc at distance D from the center of rotation. Default value is 'arc' 'line' -- Sensors are spaced equally along a line, the closest point of which is distance D from the center of rotation.See fanbeam for details. |
'FanSensorSpacing' |
Positive real scalar specifying the spacing of the fan-beam sensors. Interpretation of the value depends on the setting of If 'FanSensorGeometry' is 'line' , the value specifies the linear spacing. Default value is 1. See fanbeam for details. |
'Filter' |
String specifying the name of a filter. See iradon for details. |
'FrequencyScaling' |
Scalar in the range (0,1] that modifies the filter by rescaling its frequency axis. See iradon for details. |
'Interpolation' |
Text string specifying the type of interpolation used between the parallel-beam and fan-beam data.
|
'OutputSize' |
Positive scalar specifying the number of rows and columns in the reconstructed image. If If you specify fanbeam function, the reconstructed image might not be the same size as the original image. |
[I,H] = ifanbeam(...)
returns the frequency response of the filter in the vector H
.
Notes
ifanbeam
converts the fan-beam data to parallel beam projections and then uses the filtered back projection algorithm to perform the inverse Radon transform. The filter is designed directly in the frequency domain and then multiplied by the FFT of the projections. The projections are zero-padded to a power of 2 before filtering to prevent spatial domain aliasing and to speed up the FFT.
Class Support
The input arguments, F
and D
, can be double
or single
. All other numeric input arguments must be double
. The output arguments are double
.
Example
ph = phantom(128); d = 100; F = fanbeam(ph,d); I = ifanbeam(F,d,'FanSensorSpacing',0.5); imshow(ph), figure, imshow(I);
See Also
fan2para
, fanbeam
, iradon
, para2fan
, phantom
, radon
References
[1] Kak, A. C., and M. Slaney, Principles of Computerized Tomographic Imaging, New York, NY, IEEE Press, 1988.
idct2 | ifft2 |
© 1994-2005 The MathWorks, Inc.