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.

Radon Transform

Nota

Para obtener información sobre la creación de datos de proyección a partir de líneas integrales a lo largo de trazados que irradian desde un único origen, denominados proyecciones de vigas de ventilador, consulte.Proyección de haz de ventilador Para convertir datos de proyección de viga paralela en datos de proyección de vigas de ventilador, utilice la función.para2fan

La función calcula una matriz de imagen a lo largo de las direcciones especificadas.radonprojections

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 trazados paralelos o, en una dirección determinada.radonbeams Las vigas están separadas 1 unidad de píxel. Para representar una imagen, la función toma varias proyecciones de viga paralela de la imagen desde diferentes ángulos girando la fuente alrededor del centro de la imagen.radon La siguiente figura muestra una sola proyección en un ángulo de rotación especificado.

Proyección de viga paralela en ángulo de rotación Theta

Por ejemplo, la línea integral de en la dirección vertical es la proyección de sobre el eje; la línea integral en la dirección horizontal es la proyección de sobre el eje.f(x,y)f(x,y)xf(x,y)y La siguiente figura 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 transformada de radón es la integral de línea paralela al ejef(x,y)fy

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

Dónde

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

La figura siguiente ilustra la geometría de la transformada de radón.

La geometría de la transformada de radón

Trace la transformada de radón de una imagen

Este ejemplo muestra cómo calcular la transformada de radón de una imagen, para un conjunto específico de ángulos, utilizando la función.IThetaradon La función devuelve, en la que las columnas contienen la transformada de 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 para ser, que es el píxel en el eje x correspondiente a.Ifloor((size(I)+1)/2)x' = 0

Cree una imagen de muestra pequeña para este ejemplo que consta de un único objeto cuadrado y mostrarlo.

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

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

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

Trace la transformación para 0 grados.

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

Trace la transformación para 45 grados.

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

Ver la transformada de radón como una imagen

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

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 usando proyecciones 180