主要内容

psf2otf

将点扩散函数转换为光学传递函数

说明

OTF = psf2otf(PSF) 计算点扩散函数 (PSF) 数组的快速傅里叶变换 (FFT),并创建不受 PSF 中心偏移影响的光学传递函数数组 OTF

示例

OTF = psf2otf(PSF,sz) 指定光学传递函数的大小 sz

示例

全部折叠

创建一个点扩散函数 (PSF)。

PSF = fspecial("gaussian",13,1);

将 PSF 转换为光学传递函数 (OTF)。

OTF = psf2otf(PSF,[31 31]);

绘制 PSF 和 OTF 的幅值。

tiledlayout(1,2)
nexttile
surf(PSF)
title("PSF")
axis square
axis tight

nexttile
surf(abs(OTF))
title("|OTF|")
axis square
axis tight

Figure contains 2 axes objects. Axes object 1 with title PSF contains an object of type surface. Axes object 2 with title |OTF| contains an object of type surface.

输入参数

全部折叠

点扩散函数,指定为任意维度的数值数组。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
复数支持:

输出光学传递函数 OTF 的大小,指定为正整数向量。OTF 在所有维度上的大小必须大于或等于 PSF 的大小。默认情况下,OTFPSF 的大小相同。

数据类型: double

输出参量

全部折叠

光学传递函数,以大小为 sz 的数值数组形式返回。

数据类型: double
复数支持:

提示

  • 为确保 OTF 不受 PSF 偏心的影响,psf2otf0PSF 进行后置填充(向下或向右)以匹配 sz 指定的维度。然后,psf2otfPSF 的值进行向上(或向左)循环移位,直到中心像素到达 (1,1) 位置。

  • 当运算涉及 FFT 时,此函数用于图像卷积和反卷积。

扩展功能

全部展开

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2006a 之前推出

全部展开