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.

Transformación de radón

Nota

Para obtener información sobre cómo crear datos de proyección a partir de integrales de línea a lo largo de rutas que se irradian desde un único origen, denominado proyecciones de haz de ventilador, consulte .Proyección de haz de ventilador Para convertir datos de proyección de haz paralelo en datos de proyección de haz de ventilador, utilice la función.para2fan

La función calcula una matriz de imágenes a lo largo de las direcciones especificadas.radonProyecciones

Una proyección de una función bidimensional es un conjunto de integrales de línea.f(x,y) La función calcula las integrales de línea de varios orígenes a lo largo de rutas paralelas, o , en una dirección determinada.radonVigas Las vigas están separadas por 1 píxel. Para representar una imagen, la función toma varias proyecciones de haz paralelo de la imagen desde diferentes ángulos girando el origen alrededor del centro de la imagen.radon La figura siguiente muestra una sola proyección en un ángulo de rotación especificado.

Proyección de haz paralelo en el ángulo de rotación Theta

Por ejemplo, la línea integral de en la dirección vertical es la proyección de en el eje -; la línea integral en la dirección horizontal es la proyección del eje.f(x,y)f(x,y)xf(x,y)y La figura siguiente muestra proyecciones horizontales y verticales para una función bidimensional simple.

Proyecciones horizontales y verticales de una función simple

Las proyecciones se pueden calcular a lo largo de cualquier ángulo.Theta En general, la transformación de radón de es la línea integral de paralelo al ejef(x,y)fy

Rθ(x)=f(xcosθysinθ,xsinθ+ycosθ)dy

Dónde

[xy]=[ cosθsinθsinθcosθ][xy]

La siguiente figura ilustra la geometría de la transformación Radon.

Geometría de la transformación del radón

Trazar la transformación de radón de una imagen

En este ejemplo se muestra cómo calcular la transformación Radon de una imagen, , para un conjunto específico de ángulos, , utilizando la función.IThetaradon La función devuelve, , en el que las columnas contienen la transformación Radón para cada ángulo en .RTheta La función también devuelve el vector, , que contiene las coordenadas correspondientes a lo largo del eje X.xp El píxel central de se define como , que es el píxel en el eje X correspondiente a .Ifloor((size(I)+1)/2)x' = 0

Cree una pequeña imagen de ejemplo para este ejemplo que consta de un único objeto cuadrado y muéselo.

I = zeros(100,100); I(25:75,25:75) = 1; imshow(I)

Calcule la transformación de radón de la imagen para los ángulos 0 grados y 45 grados.

[R,xp] = radon(I,[0 45]);

Trazar la transformación durante 0 grados.

figure plot(xp,R(:,1)); title('Radon Transform of a Square Function at 0 degrees')

Trazar la transformación durante 45 grados.

figure plot(xp,R(:,2));  title('Radon Transform of a Square Function at 45 degrees')

Ver la transformación del radón como una imagen

La transformación Deradón para un gran número de ángulos se muestra a menudo como una imagen. En este ejemplo, la transformación de radón para la imagen cuadrada se calcula en ángulos de 0 a 180o, en incrementos de 1o.

theta = 0:180; [R,xp] = radon(I,theta); imagesc(theta,xp,R); title('R_{\theta} (X\prime)'); xlabel('\theta (degrees)'); ylabel('X\prime'); set(gca,'XTick',0:20:180); colormap(hot); colorbar

Transformación de radón con 180 proyecciones