You are here : matlabImage Processingpsf2otf

psf2otf() - Image Processing

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.


Syntax

OTF = psf2otf(PSF)OTF = psf2otf(PSF,OUTSIZE)


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


Output / Return Value


Limitations


Alternatives / See Also


Reference