exponenta event banner

psf2otf

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

Описание

пример

OTF = psf2otf(PSF) вычисляет быстрое преобразование Фурье (БПФ) функции точечного расширения (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 нецентровка, psf2otf постподушки PSF (вниз или вправо) с 0s для соответствия размерам, указанным в sz. Тогда psf2otf циклически сдвигает значения PSF вверх (или влево) до тех пор, пока центральный пиксель не достигнет положения (1,1).

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

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