psf2otf

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

Описание

пример

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

OTF = psf2otf(PSF,sz) задает размер, sz, оптической передаточной функции.

Примеры

свернуть все

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

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

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

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

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

Входные параметры

свернуть все

Функция расширения точек, заданная как числовой массив любой размерности.

Пример: PSF = fspecial('gaussian',13,1);

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

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

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

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

свернуть все

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

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

Совет

  • Чтобы гарантировать, что OTF не изменяется из-за PSF off-centering, psf2otf postpads PSF (вниз или вправо) с 0s, чтобы соответствовать размерностям, заданным в sz. Затем psf2otf кругово смещает значения PSF вверх (или налево) до тех пор, пока центральный пиксель не достигнет (1,1) положения.

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

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