Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

deconvblind

Enfocar una imagen mediante deconvolución ciega

Descripción

[J,psfr] = deconvblind(I,psfi) deconvoluciona la imagen I utilizando el algoritmo de máxima verosimilitud y una estimación inicial de la función de dispersión puntual (PSF), psfi. La función deconvblind devuelve tanto la imagen enfocada J como una PSF restaurada, psfr.

Para mejorar la restauración, deconvblind admite varios parámetros opcionales, que se describen más abajo. Utilice [] como marcador de posición 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 del ruido suprimiendo las iteraciones para los píxeles que se desvían en pequeña medida en comparación con el ruido, especificado por el umbral de amortiguamiento dampar. De forma predeterminada, no se produce amortiguamiento.

ejemplo

[J,psfr] = deconvblind(I,psfi,iter,dampar,weight) especifica qué píxeles de la imagen de entrada I se tienen en cuenta en la restauración. El valor de un elemento del arreglo weight determina cuánto se considera el píxel en la posición correspondiente en la imagen de entrada. Por ejemplo, para excluir un píxel de la consideración, asígnele un valor de 0 en el arreglo weight. Puede ajustar el valor de ponderación asignado a cada píxel según la cantidad de corrección de campo plano.

[J,psfr] = deconvblind(I,psfi,iter,dampar,weight,readout) especifica el ruido aditivo (como el ruido de fondo y de primer plano) y la varianza del ruido de la cámara de lectura, readout.

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

Ejemplos

contraer todo

Cree una imagen de muestra 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 un arreglo de ponderaciones para especificar qué píxeles se incluyen en el procesamiento.

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

Realice la deconvolución ciega.

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

Muestre 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');

Figure contains 4 axes objects. Axes object 1 with title A = Blurred and Noisy contains an object of type image. Axes object 2 with title True PSF contains an object of type image. Axes object 3 with title Deblurred Image contains an object of type image. Axes object 4 with title Recovered PSF contains an object of type image.

Argumentos de entrada

contraer todo

Imagen borrosa, especificada como arreglo numérico de cualquier dimensión. También puede especificar la imagen como un arreglo de celdas para permitir iteraciones interrumpidas. Para obtener más información, consulte Consejos.

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

Estimación inicial de la PSF, especificada como arreglo numérico. La restauración de la PSF se ve muy afectada por el tamaño de la conjetura inicial psfi y menos por los valores que contiene. Por esta razón, especifique un arreglo de valores 1 como su psfi.

También puede especificar psfi como un arreglo de celdas para permitir iteraciones interrumpidas. Para obtener más información, consulte Consejos.

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

Número de iteraciones, especificado como entero positivo.

Tipos de datos: double

Umbral de amortiguamiento, especificado como escalar numérico. El amortiguamiento se produce en los píxeles cuya desviación entre iteraciones es inferior al umbral. dampar tiene el mismo tipo de datos que I.

Valor de la ponderación de cada píxel, especificado como arreglo numérico 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 por igual en la restauración.

Tipos de datos: double

Ruido, especificado como escalar numérico o arreglo numérico. El valor de readout corresponde al ruido aditivo (como el ruido de primer plano y de fondo) y a la varianza 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 la PSF como primer argumento. La función debe devolver un argumento: una PSF que tenga el mismo tamaño que la PSF original y que satisfaga las restricciones de positividad y normalización.

Argumentos de salida

contraer todo

Imagen enfocada, devuelta como arreglo numérico o arreglo de celdas de 1 por 4. J (o J{1} cuando J es un arreglo de celdas) tiene el mismo tipo de datos que I. Para obtener más información sobre la devolución de J como arreglo de celdas para iteraciones interrumpidas, consulte Consejos.

PSF restaurada, devuelta como arreglo de números positivos o arreglo de celdas de 1 por 4. psfr tiene el mismo tamaño que la estimación inicial de la PSF, psfi, y se normaliza para que la suma de elementos sea 1. Para obtener más información sobre la devolución de psfr como arreglo de celdas para iteraciones interrumpidas, consulte Consejos.

Tipos de datos: double

Sugerencias

  • Puede usar deconvblind para realizar una deconvolución que empiece donde se detuvo una anterior. Para utilizar esta funcionalidad, pase la imagen de entrada I y la conjetura inicial de la PSF, psfi, como arreglos de celdas: {I} y {psfi}. Al hacerlo, la función deconvblind devuelve la imagen de salida J y la función de dispersión puntual restaurada, psfr, como arreglos de celdas, que pueden pasarse como arreglos de entrada en la siguiente llamada a deconvblind. El arreglo 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 penúltima iteración.

    J{4} es un arreglo generado por el algoritmo iterativo.

  • La imagen de salida J podría mostrar artefactos de anillo introducidos por la transformada discreta de Fourier utilizada en el algoritmo. Para reducir la intensidad de los artefactos , utilice 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.

Historial de versiones

Introducido antes de R2006a