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.

psf2otf

Convierte la función punto-extendida a la función óptica de la transferencia

Sintaxis

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

Descripción

OTF = psf2otf(PSF) computa la transformación rápida de Fourier (FFT) de la matriz de función de dispersión de puntos (PSF) y crea la matriz de funciones de transferencia óptica, OTF, que no está influida por el PSF fuera de centrar. De forma predeterminada, el array OTF tiene el mismo tamaño que el array PSF .

OTF = psf2otf(PSF,OUTSIZE) convierte el array PSF en un array OTF , donde OUTSIZE especifica el tamaño de la matriz OTF . OUTSIZE no puede ser menor que el tamaño de la matriz PSF en cualquier dimensión.

Para asegurarse de que el OTF no es alterado debido a PSF fuera de centrar, psf2otf postpads el array PSF (abajo o a la derecha) con 0 para que coincida con las cotas especificadas en OUTSIZE, luego desplaza circularmente los valores de la matriz PSF hacia arriba (o a la izquierda) hasta que el píxel central alcance la posición (1, 1).

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

Soporte de Class

PSF puede ser cualquier matriz numérica que no sea Sparse. OTF 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]);

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

Consulte también

| |

Introducido antes de R2006a