라돈 변환
참고
단일 소스에서 방사되는 경로를 따라 선적분을 통해 투영 데이터를 생성하는 방법(부채꼴 빔 투영이라고 함)에 대한 자세한 내용은 Fan-Beam Projection 항목을 참조하십시오. 평행 빔 투영 데이터를 부채꼴 빔 투영 데이터로 변환하려면 para2fan 함수를 사용합니다.
radon 함수는 지정된 방향을 따라 영상 행렬의 투영을 계산합니다.
2차원 함수 f(x,y)의 투영은 일련의 선적분입니다. radon 함수는 여러 소스로부터 특정 방향으로 평행 경로, 즉 빔을 따라 선적분을 계산합니다. 빔은 1픽셀 단위 간격으로 배치됩니다. radon 함수는 영상을 표현하기 위해 영상의 중심을 기준으로 소스를 회전시켜 여러 각도에서 여러 개의 평행 빔으로 영상을 투영합니다. 다음 그림은 지정된 회전 각도에서의 단일 투영을 보여줍니다.
회전 각도 Theta에서의 평행 빔 투영

예를 들어, 세로 방향에서의 f(x,y)에 대한 선적분은 f(x,y)를 x축으로 투영하는 것이고, 가로 방향에서의 선적분은 f(x,y)를 y축으로 투영하는 것입니다. 다음 그림은 간단한 2차원 함수의 가로 투영과 세로 투영을 보여줍니다.
간단한 함수의 가로 투영 및 세로 투영

투영은 임의의 각도 theta(θ)를 따라 계산할 수 있습니다. 일반적으로 f(x,y)의 라돈 변환은 y´축에 평행한 f의 선적분입니다.
여기서
다음 그림은 라돈 변환의 기하를 보여줍니다.
라돈 변환의 기하

영상의 라돈 변환 플로팅하기
이 예제에서는 radon 함수를 사용하여 특정 회전 각도 세트에서 영상의 라돈 변환을 계산하는 방법을 보여줍니다.
단일 정사각 객체로 구성된 작은 샘플 영상을 생성하고 표시합니다.
I = zeros(100,100); I(25:75,25:75) = 1; imshow(I)

영상에 대해 0°와 30° 각도에서 라돈 변환을 계산합니다. 이 함수는 R을 반환하며, 열에는 theta의 각 각도에 대한 라돈 변환이 포함됩니다. 또한 x축을 따라 대응하는 좌표가 포함된 벡터 xp도 반환합니다. I의 중심 픽셀은 floor((size(I)+1)/2)로 정의되며, 이는 x' = 0에 대응하는 x축상의 픽셀입니다.
theta = [0 30]; [R,xp] = radon(I,theta);
0°에서 변환을 플로팅합니다.
figure
plot(xp,R(:,1))
title("Radon Transform of Square Function at 0 Degrees")
30°에서 변환을 플로팅합니다.
plot(xp,R(:,2));
title("Radon Transform of Square Function at 30 Degrees")
라돈 변환은 종종 여러 각도에서 계산되며 영상으로 표시됩니다. 정사각 영상에 대해 0°에서 180°까지 1° 간격으로 라돈 변환을 계산합니다.
theta = 0:180; [R,xp] = radon(I,theta);
2차원 라돈 변환을 사이노그램(sinogram)으로 표시합니다.
figure imagesc(theta,xp,R) title("R_{\theta} (X\prime)") xlabel("\theta (degrees)") ylabel("X\prime") set(gca,"XTick",0:20:180) colormap(hot) colorbar
