Image Processing Toolbox User's Guide |
Convert point-spread function to optical transfer function
Syntax
Description
OTF = psf2otf(PSF)
computes the fast Fourier transform (FFT) of the point-spread function (PSF
) array and creates the optical transfer function array, OTF
, that is not influenced by the PSF
off-centering. By default, the OTF
array is the same size as the PSF
array.
OTF = psf2otf(PSF,OUTSIZE)
converts the PSF
array into an OTF
array, where OUTSIZE
specifies the size of the OTF
array. OUTSIZE
cannot be smaller than the PSF
array size in any dimension.
To ensure that the OTF
is not altered because of PSF
off-centering, psf2otf postpads the PSF
array (down or to the right) with 0's to match dimensions specified in OUTSIZE
, then circularly shifts the values of the PSF
array up (or to the left) until the central pixel reaches (1,1) position.
Note that this function is used in image convolution/deconvolution when the operations involve the FFT
.
Class Support
PSF
can be any nonsparse, numeric array. OTF
is of class double
.
Example
PSF = fspecial('gaussian',13,1); OTF = psf2otf(PSF,[31 31]); % PSF --> OTF subplot(1,2,1); surf(PSF); title('PSF'); axis square; axis tight subplot(1,2,2); surf(abs(OTF)); title('Corresponding |OTF|'); axis square; axis tight
See Also
poly2mask | qtdecomp |
© 1994-2005 The MathWorks, Inc.