Python

Python 使用 yt 模組分析、顯示三維立體資料教學與範例

介紹如何使用 Python 的 yt 模組,分析與顯示三維立體資料,並繪製立體渲染圖形。

yt 是一套 Python 的三維立體資料分析與顯示模組,主要用於物理與工程相關領域,以下是簡單的安裝使用範例,詳細的操作說明可參考 yt 的官方網站

安裝 yt

yt 可以直接透過 pip 來安裝:

pip3 install yt

通常大型的三維立體資料都會以 HDF5 格式來儲存,所以也會需要使用到 h5py 模組,建議一起安裝:

pip3 install h5py

若要顯示互動式的三維立體圖形,還會需要 cyglfw3PyOpenGL 兩個 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 官方說明文件

Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

1 年 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

1 年 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

1 年 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

1 年 ago