Lena_wang1218 2022-10-04 18:55 采纳率: 66.7%
浏览 33
已结题

怎样用python-nibabel批量处理并保存nii图像?

怎样用python-nibabel批量处理并保存nii图像?
我有一批病人,每个人都做了fMRI,一共180期。我需要把这些人的左右脑翻转过来,我现在已经会了单个人的nii图像翻转,现在想批量把180期的nii图像都处理并保存。
这是现在的代码,已经实现了批量读取文件,处理文件,就是最后一步分别保存文件我不会,请帮我看看应该怎么写这个部分?

list = get_filelist(NII_DIR, [])
print(len(list))
type(list)

for i in list:
    def read_nii_file1(nii_path):
        nii_img=nib.load(nii_path)
        return nii_img
    nii_img=read_nii_file1(os.path.join(i))

    from nilearn.image import new_img_like
    print(nii_img.affine.shape)
    print(nii_img.affine)

    def flip_image(image, axis):
        try:
            new_data = np.copy(image.get_fdata())
            for axis_index in axis:
                new_data = np.flip(new_data, axis=axis_index)
        except TypeError:
            new_data = np.flip(image.get_fdata(), axis=axis)
        return new_img_like(image, data=new_data)

    new_image = flip_image(nii_img, axis=[0])

    affine = new_image.affine.copy()
    hdr = new_image.header.copy()

    new_data = new_image.get_fdata()
    new_nii = nib.Nifti1Image(new_data, affine, hdr)

#就是后面这个地方我不知道怎么分别保存处理之后的nii图像
    New_NII_DIR = ('/Users/lena/test_new/001.nii')
    nib.save(new_nii, New_NII_DIR)

img

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 10月14日
      • 已采纳回答 10月6日
      • 创建了问题 10月4日

      悬赏问题

      • ¥15 在线教育培训平台,主要以点播视频和在线练习测试为主,除将视频做切片外,有其他哪种方式降低流量?(关键词-带宽速率)
      • ¥20 用c语音或c++实现银行叫号系统
      • ¥15 人工智能 规则正向演绎和推理
      • ¥20 基于STM32F401的电子密码锁设计
      • ¥15 famamacbeth回归中遇到only size-1 arrays can be converted to Python scalars,求解答
      • ¥15 单片机多个自锁按键的编程实践
      • ¥15 用python操作redis存储中文后,再取出的数据变成了乱码怎么办?
      • ¥15 C语言简单排序问题有偿求解
      • ¥20 请问图片的代码什么意思
      • ¥15 coq问题求带,有偿