无法使用 scipy.ndimage.interpolation.affine_transform 翻译图片

Unable to translate image using scipy.ndimage.interpolation.affine_transform

我有一张图片要翻译。我正在尝试使用 scipy 的仿射变换函数。当我尝试使用该函数时,出现错误提示“仿射矩阵的行数错误。我试过谷歌搜索,但没有任何运气。任何调试帮助都会非常有帮助。

    import numpy as np
    import scipy.ndimage as nd

    translation_matrix = [[1,0,0],
                          [0,1,0],
                         [tx,ty,1]] 
    output = nd.interpolation.affine_transform(input_image,translation_matrix,order=3,mode='nearest')

我在这里遇到错误。

编辑:关于我的问题的更多细节。我的 MR 图像中有某些切片有肿瘤。我知道哪些切片含有肿瘤,哪些不含。肿瘤需要居中以进行进一步分析。因此,我想到的解决方案是计算特定切片中肿瘤的质心坐标。然后将质心坐标作为新图像的中心。我需要对所有有肿瘤的切片执行此操作。

对我来说,以下作品。使用线性(非仿射)矩阵并单独指定偏移量:

transformed = nd.interpolation.affine_transform(picture,((np.cos(ph), np.sin(ph)), (-np.sin(ph), np.cos(ph))), offset=(4,-2),order=3,mode='nearest')