当前位置:   article > 正文

nii文件的裁剪

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

裁剪前:
请添加图片描述

裁剪后:
请添加图片描述

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号