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.

deconvblind

Imagen de desenfoque mediante decircunvolución ciega

Sintaxis

[J,psfr] = deconvblind(I,psfi)
[J,psfr] = deconvblind(I,psfi,iter)
[J,psfr] = deconvblind(I,psfi,iter,dampar)
[J,psfr] = deconvblind(I,psfi,iter,dampar,weight)
[J,psfr] = deconvblind(I,psfi,iter,dampar,weight,readout)
[J,psfr] = deconvblind(___,fun)

Descripción

[J,psfr] = deconvblind(I,psfi) deconvolves Image I utilizando el algoritmo de máxima verosimilitud y una estimación inicial de la función de dispersión de puntos (PSF), psfi. La función deconvblind devuelve tanto el J de imagen desenfocado como un PSF restaurado, psfr.

Para mejorar la restauración, deconvblind soporta varios parámetros opcionales, descritos a continuación. Utilice [] como marcador de puesto si no especifica un parámetro intermedio.

[J,psfr] = deconvblind(I,psfi,iter) especifica el número de iteraciones, iter.

[J,psfr] = deconvblind(I,psfi,iter,dampar) controla la amplificación de ruido mediante la supresión de iteraciones para píxeles que se desvían de una pequeña cantidad en comparación con el ruido, especificado por el umbral de amortiguación dampar. De forma predeterminada, no se produce ninguna amortiguación.

ejemplo

[J,psfr] = deconvblind(I,psfi,iter,dampar,weight) Especifica qué píxeles de la imagen de entrada I se consideran en la restauración. El valor de un elemento de la matriz weight determina cuánto se considera el píxel en la posición correspondiente de la imagen de entrada. Por ejemplo, para excluir un píxel de la consideración, asigne un valor de 0 en la matriz weight . Puede ajustar el valor de peso asignado a cada píxel de acuerdo con la cantidad de corrección de campo plano.

[J,psfr] = deconvblind(I,psfi,iter,dampar,weight,readout) especifica el ruido aditivo (por ejemplo, Fondo, ruido de primer plano) y la variación del ruido de la cámara de lectura, readout.

[J,psfr] = deconvblind(___,fun), donde fun es un identificador de una función que describe las restricciones adicionales en el PSF. fun se llama al final de cada iteración. Para obtener más información acerca de los identificadores de función, consulte Crear identificador de función (MATLAB).

Ejemplos

contraer todo

Crear una imagen de ejemplo con ruido.

% Set the random number generator back to its default settings for % consistency in results. rng default;  I = checkerboard(8); PSF = fspecial('gaussian',7,10); V = .0001; BlurredNoisy = imnoise(imfilter(I,PSF),'gaussian',0,V);

Cree una matriz de peso para especificar los píxeles que se incluyen en el procesamiento.

WT = zeros(size(I)); WT(5:end-4,5:end-4) = 1; INITPSF = ones(size(PSF));

Realizar descircunvolución ciega.

[J P] = deconvblind(BlurredNoisy,INITPSF,20,10*sqrt(V),WT);

Mostrar los resultados.

subplot(221);imshow(BlurredNoisy); title('A = Blurred and Noisy'); subplot(222);imshow(PSF,[]); title('True PSF'); subplot(223);imshow(J); title('Deblurred Image'); subplot(224);imshow(P,[]); title('Recovered PSF');

Argumentos de entrada

contraer todo

Imagen borrosa, especificada como una matriz numérica de cualquier dimensión. También puede especificar la imagen como una matriz de celdas para habilitar iteraciones interrumpidas. Para obtener más información, consulte Consejos.

Tipos de datos: single | double | int16 | uint8 | uint16

Estimación inicial de PSF, especificada como un array numérico. La restauración del PSF es afectada fuertemente por el tamaño de la conjetura inicial psfi y menos por los valores que contiene. Por esta razón, especifique una matriz de 1s como su psfi.

También puede especificar psfi como una matriz de celdas para habilitar iteraciones interrumpidas. Para obtener más información, consulte Consejos.

Tipos de datos: single | double | int16 | uint8 | uint16

Número de iteraciones, especificada como un entero positivo.

Tipos de datos: double

Umbral para amortiguación, especificado como escalar numérico. La amortiguación se produce para los píxeles cuya desviación entre iteraciones es menor que el umbral. dampar tiene el mismo tipo de datos que I.

Valor de peso de cada píxel, especificado como una matriz numérica con valores en el intervalo [0,1]. weight tiene el mismo tamaño que la imagen de entrada, I. De forma predeterminada, todos los elementos de weight tienen el valor 1, por lo que todos los píxeles se consideran igualmente en la restauración.

Tipos de datos: double

Ruido, especificado como una matriz numérica escalar o numérica. El valor de readout corresponde al ruido aditivo (como el ruido desde el primer plano y el fondo) y la variación del ruido de la cámara de lectura. readout tiene el mismo tipo de datos que I.

Identificador de función, especificado como identificador. fun debe aceptar el PSF como su primer argumento. La función debe devolver un argumento: un PSF que tenga el mismo tamaño que el PSF original y que satisfaga las restricciones de positividad y normalización.

Argumentos de salida

contraer todo

Imagen desenfocada, devuelta como una matriz numérica o una matriz de celdas de 1 por 4. J (o J{1} cuando J es una matriz de celdas) tiene el mismo tipo de datos que I. Para obtener más información acerca de cómo devolver J como una matriz de celdas para iteraciones interrumpidas, consulte Consejos.

Restaurado PSF, devuelto como una matriz de números positivos o una matriz de celdas 1 por 4. psfr tiene el mismo tamaño que la estimación inicial del PSF, psfi, y se normaliza por lo que la suma de los elementos es 1. Para obtener más información acerca de cómo devolver psfr como una matriz de celdas para iteraciones interrumpidas, consulte Consejos.

Tipos de datos: double

Sugerencias

  • Puede utilizar deconvblind para realizar una decircunvolución que comienza donde se detuvo una decircunvolución anterior. Para utilizar esta función, pase la imagen de entrada I y la conjetura inicial en el PSF, psfi, como arrays de celdas: {I} y {psfi}. Cuando lo hace, la función deconvblind devuelve la imagen de salida J y la función de propagación de puntos restaurada, psfr, como matrices de celdas, que se pueden pasar como matrices de entrada en la siguiente llamada a deconvblind . El array de celdas de salida J contiene cuatro elementos:

    J{1} contiene I, la imagen original.

    J{2} contiene el resultado de la última iteración.

    J{3} contiene el resultado de la iteración siguiente a la última.

    J{4} es una matriz generada por el algoritmo iterativo.

  • La imagen de la salida J podía exhibir sonar introducido por el Fourier discreto transforma utilizado en el algoritmo. Para reducir el timbrado, use I = edgetaper(I,psfi) antes de llamar a deconvblind.

Referencias

[1] D.S.C. Biggs and M. Andrews, Acceleration of iterative image restoration algorithms, Applied Optics, Vol. 36, No. 8, 1997.

[2] R.J. Hanisch, R.L. White, and R.L. Gilliland, Deconvolutions of Hubble Space Telescope Images and Spectra, Deconvolution of Images and Spectra, Ed. P.A. Jansson, 2nd ed., Academic Press, CA, 1997.

[3] Timothy J. Holmes, et al, Light Microscopic Images Reconstructed by Maximum Likelihood Deconvolution, Handbook of Biological Confocal Microscopy, Ed. James B. Pawley, Plenum Press, New York, 1995.

Introducido antes de R2006a