Python

Python SimpleITK 影像處理教學:讀取、寫入 NIfTI 影像

介紹如何在 Python 中使用 SimpleITK 讀取與寫入 NIfTI 影像檔案。

NIfTI 影像

NIfTI 影像格式全名為 Neuroimaging Informatics Technology Initiative,是一種專門為神經影像資料設計的格式,早期多應用於 fMRI 影像上。

NIfTI 目前有兩種版本,分別為 NIfTI-1NIfTI-2,NIfTI 官方網站上有提供 NIfTI-1 範例影像NIfTI-2 範例影像可做為測試使用。

讀取 NIfTI 影像

從 NIfTI 官方網站下載 NIfTI-1 測試影像檔案:

# 下載 NIfTI-1 測試影像檔案
wget https://nifti.nimh.nih.gov/nifti-1/data/avg152T1_LR_nifti.nii.gz

在 Python 中使用 SimpleITK 的 sitk.ReadImage() 函數讀取 NIfTI-1 影像檔案:

import SimpleITK as sitk

# 讀取 GZip 壓縮的 NIfTI 影像檔
image = sitk.ReadImage('avg152T1_LR_nifti.nii.gz')

sitk.ReadImage() 函數亦可讀取普通的 NIfTI 影像檔案:

# 讀取 NIfTI 影像檔
image = sitk.ReadImage('avg152T1_LR_nifti.nii')

以 SimpleITK 讀取影像之後,就可以依照 SimpleITK 的處理方式來處理影像:

# 影像維度
print(image.GetDimension())
3
# 影像大小
print(image.GetSize())
(91, 109, 91)

關於更多 SimpleITK 的影像處理方式,可以參考 Python SimpleITK 影像處理教學:基本影像讀取與檢視

寫入 NIfTI 影像

若要將 SimpleITK 的影像寫入壓縮的 NIfTI 檔案,可以直接使用 sitk.WriteImage() 函數來處理:

# 寫入 GZip 壓縮的 NIfTI 影像檔
sitk.WriteImage(image, "output.nii.gz")

若不想壓縮檔案,亦可以普通的 NIfTI 檔案來儲存:

# 寫入 NIfTI 影像檔
sitk.WriteImage(image, "output.nii")
Share
Published by
Office Guide

Recent Posts

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

本篇介紹如何在 Python ...

9 個月 ago

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

本篇介紹如何在 Ubuntu ...

9 個月 ago

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

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

9 個月 ago

Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例

本篇介紹如何在 Windows...

10 個月 ago

Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例

介紹如何在 Linux 中使用...

10 個月 ago

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

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

11 個月 ago