This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Inverse fan-beam transform


I = ifanbeam(F,D)
I = ifanbeam(...,param1,val1,param2,val2,...)
[I,H] = ifanbeam(...)


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.




Range through which the beams are rotated, specified as one of the following:

'cycle' — Rotate through the full range [0,360). This is the default.

'minimal' — Rotate the minimum range necessary to represent the object.


Positive real scalar specifying the increment of the rotation angle of the fan-beam projections, measured in degrees. See fanbeam for details.


Positioning of sensors, specified as one of the following:

'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.


Positive real scalar specifying the spacing of the fan-beam sensors. Interpretation of the value depends on the setting of 'FanSensorGeometry'. If 'FanSensorGeometry' is set to 'arc' (the default), the value defines the angular spacing in degrees. Default value is 1. If 'FanSensorGeometry' is 'line', the value specifies the linear spacing. Default value is 1. See fanbeam for details.


Name of filter, specified as a character vector. See iradon for details.


Scalar in the range (0,1] that modifies the filter by rescaling its frequency axis. See iradon for details.


Type of interpolation used between the parallel-beam and fan-beam data, specified as one of the following:

'nearest' — Nearest-neighbor

'linear' — Linear (the default)

'spline' — Piecewise cubic spline

'pchip' —- Piecewise cubic Hermite (PCHIP)

'v5cubic' — The cubic interpolation from MATLAB® 5


Positive scalar specifying the number of rows and columns in the reconstructed image.

If 'OutputSize' is not specified, ifanbeam determines the size automatically.

If you specify 'OutputSize', ifanbeam reconstructs a smaller or larger portion of the image, but does not change the scaling of the data.

    Note:   If the projections were calculated with the 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.


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.


collapse all

Create a sample image. The phantom function creates a phantom head image.

ph = phantom(128);

Create a fan-beam transformation of the phantom head image.

d = 100;
F = fanbeam(ph,d);

Reconstitute the phantom head image from the fan-beam representation. Display the original image and the reconstituted image.

I = ifanbeam(F,d);


Create a sample image. The phantom function creates a phantom head image.

ph = phantom(128);

Create a radon transformation of the image.

P = radon(ph);

Convert the transformation from parallel beam projection to fan-beam projection.

[F,obeta,otheta] = para2fan(P,100,... 

Reconstitute the image from fan-beam data.

phReconstructed = ifanbeam(F,100,... 

Display the original and the transformed image.




[1] Kak, A. C., and M. Slaney, Principles of Computerized Tomographic Imaging, New York, NY, IEEE Press, 1988.

Introduced before R2006a

Was this topic helpful?