줄리아, 매트랩, 파이썬에서 Shepp-Logan 팬텀 쓰는 법
줄리아1
단층촬영 패키지 Tomography.jl
에서 phantom()
함수를 사용하면 된다.
phantom(m,n=1)
: $m\times m$ 크기의 Shepp-Logan 팬텀을 생성한다.n=1
일 때는 Shepp-Logan 팬텀,n=2
일 때는 Modified Shepp-Logan 팬텀을 생성한다.
using Tomography
using Plots
# 팬텀 생성
p = phantom(256,2)
# 그림 출력
heatmap(reverse(p, dims=1))
환경
- OS: Windows10
- Version: Julia 1.7.1, Tomography 0.1.5
매트랩2
phantom
으로 Shepp-Logan 팬텀을 생성할 수 있다. 아무런 변수도 입력하지 않으면 $256 \times 256$의 배열이 만들어진다. 첫번째 변수에는 팬텀의 종류, 두번째 변수에는 크기를 입력하여 임의의 팬텀을 생성할 수 있다. 아래는 예제코드와 실행결과이다.
%팬텀 생성
p1 = phantom();
p2 = phantom('Modified Shepp-Logan',2^10);
%그림 출력
figure()
%첫번째 그림 p1
subplot(1,2,1)
imagesc(p1)
colorbar
title('p1')
%두번째 그림 p2
subplot(1,2,2)
imagesc(p2)
colorbar
title('p2')
환경
- OS: Windows10
- Version: R2020b
파이썬3
사이킷이미지 패키지 skimage
의 data
모듈에서 shepp_logan_phantom
함수를 쓰면 된다. $400 \times 400$ 크기의 팬텀을 생성한다. 크기를 변경하려면 resize
를 쓰면 된다. 아래는 예제코드와 실행결과이다.
import matplotlib.pyplot as plt
from skimage.data import shepp_logan_phantom
# 팬텀 생성
P = shepp_logan_phantom() #default size=(400,400)
# 그림 출력
plt.imshow(P)
plt.show()
# 사이즈 변경
from skimage.transform import resize
P = shepp_logan_phantom()
P = resize(P, (256,256))
환경
- OS: Windows10
- Version: Python 3.9.2, scikit-image 0.18.1