ジュリア、MATLAB、Pythonで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
scikit-imageパッケージ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