nii文件的裁剪

对于感兴趣区域很小的情况下,需要裁剪图片

def get_and_crop_nii(file_path):

    img = load(file_path)
    img1 = torch.tensor(img.get_fdata())
    print("img = ", type(img), " img1 = ", img1.shape)

    voxel_size = img.header['pixdim'][1:] * [0] + img.header['pixdim'][:-1][::-1]
    print("Voxel size (mm):", voxel_size)

    start_x = 75  # x轴起始索引
    end_x = 350  # x轴结束索引

    start_y = 149  # y轴起始索引
    end_y = 244  # y轴结束索引

    start_z = 84  # z轴起始索引
    end_z = 160  # z轴结束索引

    new_data = img.get_fdata()[start_x: end_x + 1, start_y: end_y + 1, start_z: end_z + 1]

    print("Cropped image shape:", new_data.shape)
    """350-75 = 275 
       244-149 = 95
       160-84 = 76"""
    # Cropped image shape: (235, 96, 77)

    cropped_img = nib.Nifti1Image(new_data, img.affine)

    # nib.save(img, 'filename.nii')
    nib.save(cropped_img, "nii_crop/crop_2.nii")

    return cropped_img

裁剪前:
请添加图片描述

裁剪后:
请添加图片描述

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值