使用 Nipy 在 python 中对 mri T1 图像进行下采样
Down-sample mri T1 image in python with Nipy
我有一个 T1 图像 (NIFTI),已经对齐,尺寸为 121 x 145 x 121。
图片由 nibabel 加载。体素大小为 1.5 x 1.5 x 1.5 mm。
我想将其下采样为分辨率为 2.0 x 2.0 x 2.0 毫米的图像并保持图像对齐。
我对MRI图像处理知之甚少。
我找不到清晰的教程。
我该怎么做?
如果您知道任何其他 Python 库可以做到这一点,它也可以。
我建议使用 Nibabel。它可以在几行内对你的 nifti 文件进行下采样。
将图像重新采样为 2x2x2 体素大小的示例:
import nibabel
import nibabel.processing
input_path = r'/input/path/input_img.nii.gz'
output_path = r'/output/path/output_img.nii.gz'
voxel_size = [2, 2, 2]
input_img = nibabel.load(input_path)
resampled_img = nibabel.processing.resample_to_output(input_img, voxel_size)
nibabel.save(resampled_img, output_path)
只需更新 input_path
和 output_path
即可反映您的文件。 resample_to_output 函数 (voxel_size
) 中的第二个参数需要匹配输入的维度或者是单个值,然后 nibabel 将假定您希望所有维度的体素大小相同。
尼巴贝尔信息:
文档:http://nipy.org/nibabel/。
安装说明:https://anaconda.org/conda-forge/nibabel
我有一个 T1 图像 (NIFTI),已经对齐,尺寸为 121 x 145 x 121。
图片由 nibabel 加载。体素大小为 1.5 x 1.5 x 1.5 mm。
我想将其下采样为分辨率为 2.0 x 2.0 x 2.0 毫米的图像并保持图像对齐。
我对MRI图像处理知之甚少。 我找不到清晰的教程。
我该怎么做? 如果您知道任何其他 Python 库可以做到这一点,它也可以。
我建议使用 Nibabel。它可以在几行内对你的 nifti 文件进行下采样。
将图像重新采样为 2x2x2 体素大小的示例:
import nibabel
import nibabel.processing
input_path = r'/input/path/input_img.nii.gz'
output_path = r'/output/path/output_img.nii.gz'
voxel_size = [2, 2, 2]
input_img = nibabel.load(input_path)
resampled_img = nibabel.processing.resample_to_output(input_img, voxel_size)
nibabel.save(resampled_img, output_path)
只需更新 input_path
和 output_path
即可反映您的文件。 resample_to_output 函数 (voxel_size
) 中的第二个参数需要匹配输入的维度或者是单个值,然后 nibabel 将假定您希望所有维度的体素大小相同。
尼巴贝尔信息:
文档:http://nipy.org/nibabel/。
安装说明:https://anaconda.org/conda-forge/nibabel