exponenta event banner

otf2psf

Преобразование оптической передаточной функции в функцию точечного расширения

Описание

пример

PSF = otf2psf(OTF) вычисляет обратное быстрое преобразование Фурье оптической передаточной функции (OTF) и создает функцию разброса точек (PSF), с центром в начале координат.

PSF = otf2psf(OTF,sz) задает размер, sz, функции расширения точки вывода.

Примеры

свернуть все

Создайте функцию распределения точек (PSF).

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

Преобразование PSF в оптическую передаточную функцию (OTF).

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

Преобразуйте OTF обратно в PSF.

PSF2 = otf2psf(OTF,size(PSF));

Постройте график PSF и OTF.

subplot(1,2,1)
surf(abs(OTF))
title('|OTF|');
axis square
axis tight
subplot(1,2,2)
surf(PSF2)
title('Corresponding PSF');
axis square
axis tight

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

Входные аргументы

свернуть все

Оптическая передаточная функция, заданная как числовой массив любого размера.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Поддержка комплексного номера: Да

Размер выходной функции разброса точек PSF, указанный как вектор положительных целых чисел. Размер PSF не должно превышать размер OTF в любом измерении. По умолчанию PSF имеет тот же размер, что и OTF.

Типы данных: double

Выходные аргументы

свернуть все

Функция разброса точек, центрированная в начале координат, возвращается в виде числового массива размера sz.

Типы данных: double
Поддержка комплексного номера: Да

Совет

  • Для центрирования PSF в начале координат otf2psf циклически сдвигает значения выходного массива вниз (или вправо) до тех пор, пока (1,1) элемент не достигнет центрального положения, а затем высаживает результат в соответствии с размерами, заданными sz.

  • Эта функция используется в свертке изображения и деконволюции, когда операции включают в себя БПФ.

Представлен до R2006a