Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

otf2psf

Convertir la función de transferencia óptica a la función de punto de propagación

Sintaxis

PSF = otf2psf(OTF)
PSF = otf2psf(OTF, OUTSIZE)

Descripción

PSF = otf2psf(OTF) calcula la transformación de Fourier rápida inversa (IFFT) de la matriz de la función de transferencia óptica (OTF) y crea una función de dispersión de puntos (PSF), centrada en el origen. De forma predeterminada, el PSF es del mismo tamaño que el OTF.

PSF = otf2psf(OTF, OUTSIZE) convierte la matriz OTF en una matriz PSF , donde OUTSIZE especifica el tamaño de la función de propagación de puntos de salida. El tamaño de la matriz de salida no debe exceder el tamaño de la matriz OTF en ninguna dimensión.

Para centrar el PSF en el origen, otf2psf desplaza de forma circular los valores de la matriz de salida hacia abajo (o a la derecha) hasta que el elemento (1, 1) alcance la posición central, y luego cosecha el resultado para que coincida con las dimensiones especificadas por OUTSIZE.

Tenga en cuenta que esta función se utiliza en la circunvolución/decircunvolución de la imagen cuando las operaciones implican la FFT.

Soporte de Class

OTF puede ser cualquier matriz numérica que no sea Sparse. PSF es de clase double.

Ejemplos

contraer todo

Crear una función de dispersión de puntos (PSF).

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

Convierta el PSF en una función de transferencia óptica (OTF).

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

Convierte el OTF de nuevo en un PSF.

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

Traza el PSF y el 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

Consulte también

| |

Introducido antes de R2006a