import SimpleITK as sitk
import numpy as np
itkimage=sitk.ReadImage("MRBrainTumor1.nrrd")
#先转成list,再由list转为numpy
numpyOrigin = np.array(list(itkimage.GetOrigin()))
numpyOrigin[0]=-numpyOrigin[0]
numpyOrigin[1]=-numpyOrigin[1]
numpySpacing= np.array(list(itkimage.GetSpacing()))
numpyDirection= np.array(list(itkimage.GetDirection())).reshape(3,3)
numpyDirection[0,0]=-numpyDirection[0,0]
numpyDirection[1,1]=-numpyDirection[1,1]
def RAS_to_IJK(ras, origin, direction, spacing):
ras = ras - origin
ras = np.matmul(np.linalg.inv(direction), ras)
ijk = ras / spacing
return ijk
def IJK_to_RAS(ijk, origin, direction, spacing):
ras = ijk * spacing
ras = np.matmul(direction, ras)
ras = ras + origin
return ras
在SimpleITK形式下,将RAS和IJK坐标系互转
最新推荐文章于 2024-06-28 09:48:33 发布