对PET的nii图像进行插值成256×256×256并保存代码
时间: 2024-01-12 17:05:10 浏览: 157
好的,以下是Python代码实现:
```python
import nibabel as nib
import numpy as np
# 读取nii文件
img = nib.load('path/to/your/PET.nii')
# 获取原始数据和空间信息
data = img.get_fdata()
affine = img.affine
# 计算原始数据的形状
original_shape = data.shape
# 定义新的形状
new_shape = (256, 256, 256)
# 计算每个维度的缩放比例
scale_x = new_shape[0] / original_shape[0]
scale_y = new_shape[1] / original_shape[1]
scale_z = new_shape[2] / original_shape[2]
# 生成新的空间信息
new_affine = np.copy(affine)
new_affine[:3, :3] = np.diag([scale_x, scale_y, scale_z])
# 使用线性插值对原始数据进行重采样
new_data = nib.processing.resample_to_output(data, new_affine, new_shape)
# 保存为nii文件
new_img = nib.Nifti1Image(new_data, new_affine)
nib.save(new_img, 'path/to/your/resampled_PET.nii')
```
需要注意的是,这里使用了Nibabel库来读取和保存nii文件,以及对数据进行重采样。如果你还没有安装这个库,可以通过以下命令来进行安装:
```python
pip install nibabel
```
另外,需要将代码中的`path/to/your/PET.nii`和`path/to/your/resampled_PET.nii`替换为你自己的文件路径。
阅读全文