python怎么保存为nii文件_python实现批量nii文件转换为png图像
时间: 2023-10-13 12:06:40 浏览: 73
保存为NII文件:
要保存为NII文件,需要使用Python的nibabel模块。以下是一个示例代码:
```python
import numpy as np
import nibabel as nib
# 创建一个3D数组
data = np.zeros((10, 10, 10), dtype=np.float32)
# 创建一个空的Nifti1Image对象
img = nib.Nifti1Image(data, np.eye(4))
# 保存为NII文件
nib.save(img, 'example.nii')
```
批量NII文件转换为PNG图像:
要将NII文件转换为PNG图像,需要使用Python的SimpleITK模块。以下是一个示例代码:
```python
import os
import SimpleITK as sitk
# NII文件所在的文件夹
input_folder = 'input_folder'
# PNG文件保存的文件夹
output_folder = 'output_folder'
# 获取所有NII文件的路径
input_files = [os.path.join(input_folder, f) for f in os.listdir(input_folder) if f.endswith('.nii')]
# 遍历所有NII文件
for input_file in input_files:
# 读取NII文件
sitk_image = sitk.ReadImage(input_file)
# 获取像素数组
image_array = sitk.GetArrayFromImage(sitk_image)
# 遍历所有切片
for i in range(image_array.shape[0]):
# 创建一个SimpleITK图像对象
sitk_slice = sitk.GetImageFromArray(image_array[i])
# 保存为PNG文件
output_file = os.path.join(output_folder, '{}_{}.png'.format(os.path.basename(input_file), i))
sitk.WriteImage(sitk_slice, output_file)
```
这段代码将批量读取`input_folder`中的NII文件,并将每个切片保存为一个PNG文件,保存在`output_folder`中。文件名格式为`<NII文件名>_<切片序号>.png`。