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)
将xy转xz和yz
最新推荐文章于 2022-03-26 11:35:41 发布