介紹如何使用 Python 的 yt 模組,分析與顯示三維立體資料,並繪製立體渲染圖形。
yt 是一套 Python 的三維立體資料分析與顯示模組,主要用於物理與工程相關領域,以下是簡單的安裝使用範例,詳細的操作說明可參考 yt 的官方網站。
安裝 yt
yt 可以直接透過 pip 來安裝:
pip3 install yt
通常大型的三維立體資料都會以 HDF5 格式來儲存,所以也會需要使用到 h5py 模組,建議一起安裝:
pip3 install h5py
若要顯示互動式的三維立體圖形,還會需要 cyglfw3 與 PyOpenGL 兩個 Python 模組,若在 Ubuntu Linux 中則會需要先安裝好 libglfw3-dev 系統套件之後,才能安裝 cyglfw3 這個 Python 模組:
sudo apt install libglfw3-dev
pip3 install cyglfw3 PyOpenGL
範例資料
這裡使用到的範例資料可以從 yt 的官方網站下載:
投影圖
這是一個簡單的投影圖(projection plot)範例。
import yt
# 載入資料集
ds = yt.load("IsolatedGalaxy/galaxy0030/galaxy0030")
# 建立投影圖
p = yt.ProjectionPlot(ds, "z", "density", width = (100, 'kpc'))
# 設定 color map 為 dusk
p.set_cmap(field = "density", cmap = 'dusk')
# 儲存為圖檔
p.save('projection.png')

立體渲染圖
這是一個簡單的立體渲染圖(volume rendering)範例,輸出圖檔的時候,搭配 sigma_clip 增強影像的對比。
import yt
# 載入資料集
ds = yt.load("enzo_tiny_cosmology/RD0009/RD0009")
# 建立立體渲染圖
sc = yt.create_scene(ds, field=('gas', 'density'))
sc.render()
# 儲存為圖檔
sc.save('volume.png', sigma_clip=2)

關於立體渲染圖的繪製,可以參考 yt 官方說明文件。
