【问题标题】:Down-sample mri T1 image in python with Nipy使用Nipy在python中下采样mri T1图像
【发布时间】:2019-05-07 15:37:23
【问题描述】:
我有一张 T1 图像 (NIFTI),已对齐,尺寸为 121 x 145 x 121。
图像由 nibabel 加载。体素大小为 1.5 x 1.5 x 1.5 毫米。
我想将其下采样为分辨率为 2.0 x 2.0 x 2.0 mm 的图像并保持图像对齐。
我对 MRI 图像处理知之甚少。
我找不到清晰的教程。
我该怎么做?
如果你知道任何其他 Python 库可以做到这一点,它也可以工作。
【问题讨论】:
标签:
python
image-processing
neuroscience
nipype
nibabel
【解决方案1】:
我建议使用 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