How to Use the Shepp-Logan Phantom in Julia, MATLAB, and Python
Julia1
To use the Tomography package Tomography.jl
, you can use the phantom()
function.
phantom(m,n=1)
: Generates a Shepp-Logan phantom of size . Whenn=1
, it generates a Shepp-Logan phantom, and whenn=2
, it generates a Modified Shepp-Logan phantom.
using Tomography
using Plots
# 팬텀 생성
p = phantom(256,2)
# 그림 출력
heatmap(reverse(p, dims=1))
Environment
- OS: Windows10
- Version: Julia 1.7.1, Tomography 0.1.5
MATLAB2
You can create a Shepp-Logan phantom with phantom
. Without any arguments, an array of size is created. The first argument specifies the type of phantom, and the second argument specifies the size to generate an arbitrary phantom. Below are the example code and the result.
%팬텀 생성
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')
Environment
- OS: Windows10
- Version: R2020b
Python3
In the scikit-image package skimage
’s data
module, you can use the shepp_logan_phantom
function. It generates a phantom of size . To change the size, you can use resize
. Below are the example code and the result.
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))
Environment
- OS: Windows10
- Version: Python 3.9.2, scikit-image 0.18.1