줄리아, 매트랩 파이썬에서 라돈 변환 쓰는 법

줄리아, 매트랩 파이썬에서 라돈 변환 쓰는 법

줄리아에서

지원하지 않는다.

매트랩

라돈변환 radon과 라돈역변환 iradon을 지원한다.

p=phantom(); %팬텀 생성
Rp=radon(p); %라돈변환 계산
IRp=iradon(Rp,0:179); %라돈역변환 계산

%그림 그리기
figure()

%첫번째 그림 팬텀
subplot(2,2,1)
imagesc(p)
colorbar
title('Phantom')

%두번째 그림 라돈변환
subplot(2,2,2)
imagesc(Rp)
colorbar
title('Radon Transform of p')

%세번째 그림 라돈역변환
subplot(2,2,3)
imagesc(IRp)
colorbar
title('Reconstruction Image')

Matlab.png

환경

파이썬

사이킷이미지 패키지 skimagetransform 모듈에서 radon, iradon 매트랩과는 다르게 변환과 역변환 모두 각도를 대입하지 않으면 0:179로 실행한다.

import matplotlib.pyplot as plt

from skimage.data import shepp_logan_phantom
from skimage.transform import radon, iradon

#Phantom 생성
p = shepp_logan_phantom() #default size=(400,400)

#라돈변환 계산
Rp = radon(p)

#라돈역변환 계산
IRp = iradon(Rp)

#그림 그리기
fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(12, 4.5))

#첫번째 그림 Phantom
ax1.set_title("Phantom")
ax1.imshow(p)

#두번째 그림 라돈변환
ax2.set_title("Radon transform of p")
ax2.set_xlabel("Projection angle (deg)")
ax2.set_ylabel("Projection position (pixels)")
ax2.imshow(sinogram)

#세번째 그림 라돈역변환
ax3.set_title("Reconstruction Image")
ax3.imshow(IRp)

#그림 출력
fig.tight_layout()
plt.show()

Python.png

환경

댓글