介紹如何使用 Python 的 yt 模組,分析與顯示三維立體資料,並繪製立體渲染圖形。
yt 是一套 Python 的三維立體資料分析與顯示模組,主要用於物理與工程相關領域,以下是簡單的安裝使用範例,詳細的操作說明可參考 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 官方說明文件。