将xy转xz和yz

def write_xz(src, dsc):
    img_itk = sitk.ReadImage(src)
    
    arr = sitk.GetArrayFromImage(img_itk)  # (160, 384_1, 384_2)
    spacing = img_itk.GetSpacing()
    origin = img_itk.GetOrigin()
    direction = img_itk.GetDirection()
    
    tranposed_arr = np.transpose(arr, (1, 0, 2))  # (384_1, 160, 384_2)
    
    new_img_itk = sitk.GetImageFromArray(tranposed_arr)
    # (0.3645833432674408, 0.699999988079071, 0.3645833432674408)
    # -(2, 1, 0) -> (0.3645833432674408, 0.699999988079071, 0.3645833432674408)
    new_img_itk.SetSpacing((0.3645833432674408, 0.699999988079071, 0.3645833432674408))    
    new_img_itk.SetOrigin((-89.69206237792969, 21.475051879882812, 55.4721565246582))
    new_img_itk.SetDirection(direction)

    sitk.WriteImage(new_img_itk, dsc)

def write_yz(src, dsc):
    img_itk = sitk.ReadImage(src)
    
    arr = sitk.GetArrayFromImage(img_itk)  # (160, 384_1, 384_2)
    spacing = img_itk.GetSpacing()
    origin = img_itk.GetOrigin()
    direction = img_itk.GetDirection()
    
    tranposed_arr = np.transpose(arr, (2, 1, 0))  # (384_1, 160, 384_2)
    
    new_img_itk = sitk.GetImageFromArray(tranposed_arr)
    # (0.3645833432674408, 0.699999988079071, 0.3645833432674408)
    # -(2, 1, 0) -> (0.3645833432674408, 0.699999988079071, 0.3645833432674408)
    new_img_itk.SetSpacing((0.3645833432674408, 0.699999988079071, 0.3645833432674408))    
    new_img_itk.SetOrigin((-89.69206237792969, 21.475051879882812, 55.4721565246582))
    new_img_itk.SetDirection(direction)

    sitk.WriteImage(new_img_itk, dsc)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值