Main Content

iradon

我nverse Radon transform

Description

例子

= iradon(r,,,,Thetareconstructs the image从投影数据中r以投影角捕获Theta

= iradon(r,,,,Theta,,,,Interp,,,,Filter,,,,频率_SCALING,,,,output_size指定要在反radtry变换中使用的参数。您可以指定最后四个参数的任何组合。iradon对您省略的参数使用默认值。

[[,,,,H] = iradon(___还返回过滤器的频率响应,H

Examples

collapse all

创建幻影的图像。显示图像。

P = phantom(128); imshow(P) title('Original image'

图包含一个轴对象。带有标题原始图像的轴对象包含类型图像的对象。

Perform a Radon transform of the image.

r = ra(p,0:179);

执行过滤后的反射。

i1 = iradon(r,0:179);

Perform unfiltered backprojection.

i2 = iradon(r,0:179,“线性”,,,,'没有任何');

显示重建的图像。

Figure subplot(1,2,1) imshow(I1,[]) title('Filtered Backprojection')subplot(1,2,2) imshow(I2,[]) title('Unfiltered Backprojection'

图包含2个轴对象。轴对象1带有标题过滤的反向投影包含类型图像的对象。轴对象2带有未经过滤的反向投影的对象包含类型图像的对象。

创建幻影的图像。

P = phantom(128);

Perform a Radon transform of the image, then get the projection vector corresponding to a projection at a 45 degree angle.

r = ra(p,0:179);r45 = R(:,46);

Perform the inverse Radon transform of this single projection vector. Theiradonsyntax does not allow you to do this directly, because ifTheta是标量,它被视为增量。您可以通过将投影向量的两个副本传递,然后将结果除以2来完成任务。

我= iradon([[r45 r45], [45 45])/2;

显示结果。

imshow(i,[])标题(“ 45度的重投影”

图包含一个轴对象。The axes object with title Backprojection from 45 degrees contains an object of type image.

我nput Arguments

collapse all

Parallel beam projection data, specified as one of the following.

  • 我FTheta是标量,然后指定r作为包含ra transfort的数字柱向量Theta学位。

  • 我FTheta是向量,然后指定r作为一个二维矩阵,其中每列是其中一个角度的ra转换Theta

数据类型:单身的|double|int8|int16|int32|int64|UINT8|uint16|UINT32|Uint64|逻辑

投影角(in degrees), specified as one of the following.

Value Description
numeric vector 投影角。角度之间必须具有相等的间距。
numeric scalar 我ncremental angle between projections. Projections are taken at anglesm*theta,,,,wherem = 0,1,2,...,大小(r,2)-1
[[] Automatically set the incremental angle between projections to180/大小(R,2)

数据类型:double

用于在背部投影中使用的插值类型,指定为这些值之一,以提高准确性和计算复杂性的顺序列出。

Value

Description

'nearest'

Nearest-neighbor interpolation

“线性”

Linear interpolation

'spline'

Spline interpolation

'pchip' 保存形状的分段立方插值
'v5cubic' MATLAB中使用的立方卷积®5

数据类型:char|细绳

筛选to use for frequency domain filtering, specified as one of these values.

Value

Description

'Ram-Lak'

裁剪的拉姆拉克或坡道过滤器。该过滤器的频率响应是|F|。Because this filter is sensitive to noise in the projections, one of the filters listed below might be preferable. These filters multiply the Ram-Lak filter by a window that de-emphasizes high frequencies.

'Shepp-logan'

Multiplies the Ram-Lak filter by aSINCFunction

'Cosine'

Multiplies the Ram-Lak filter by acosineFunction

“锤”

通过锤子窗口将Ram-Lak过滤器乘以

'Hann'

将拉姆拉克过滤器乘以汉恩窗口

'None' No filtering.iradon返回未经过滤的反向投影数据。

数据类型:char|细绳

缩放频率轴的比例因子,该频率轴(指定为正数(0,1)。频率_SCALING小于1,然后压缩过滤器以适合频率范围[0,频率_SCALING],,,,in normalized frequencies; all frequencies above频率_SCALING设置为0

重建图像中的行和列数,,,,specified as a positive integer. Ifoutput_size未指定,大小是根据以下投影的长度确定的:

output_size= 2*floor(size(r,1)/(2*SQRT(2)))

我Fyou specifyoutput_size, 然后iradon重建图像的较小或较大部分,但不会改变数据的缩放。如果预测是用Function, then the reconstructed image might not be the same size as the original image.

输出参数

collapse all

灰度图像,作为数字矩阵返回。如果输入投影数据r是数据类型单身的, 然后is单身的; otherwiseisdouble

数据类型:单身的|double

Frequency response of the filter, returned as a numeric vector.

数据类型:double

Algorithms

iradonassumes that the center of rotation is the center point of the projections, which is defined asceil(大小(R,1)/2)

iradon使用过滤后的投影算法执行逆radon变换。该过滤器直接在频域中设计,然后乘以投影的FFT。在过滤之前,将投影零填充到2的功率,以防止空间域别名并加速FFT。

references

[1] Kak,A。C.和M. Slaney,计算机断层扫描成像原理,纽约,纽约,IEEE出版社,1988年。

扩展功能

版本历史记录

我ntroduced before R2006a