我正在寻求有关 simpleITK 的帮助,我正在使用 NII 文件来计算变形场。我使用 Python 和 simpleITK(simpleitk 1.2.0rc2.dev1167+gd4cf2)。我可以轻松注册我的图像或卷,但我无法获得变形场!
当我在控制台中打印它时,simpleITK 告诉我该向量是预测的图像,但是当我尝试使用作为 sitk 成员函数的“WriteImage”保存它时,写入的图像充满了空值
用于执行此操作的代码:
def RegistrationGel(pathImage1,pathImage2):
elastixImageFilter = sitk.ElastixImageFilter()
elastixImageFilter.SetFixedImage(sitk.ReadImage(pathImage1))
elastixImageFilter.SetMovingImage(sitk.ReadImage(pathImage2))
parameterMapVector = sitk.VectorOfParameterMap()
parameterMapVector.append(sitk.GetDefaultParameterMap("affine"))
#parameterMapVector.append(sitk.GetDefaultParameterMap("bspline"))
elastixImageFilter.SetParameterMap(parameterMapVector)
elastixImageFilter.Execute()
sitk.WriteImage(elastixImageFilter.GetResultImage(),"C:/Users/Armand/Desktop/RecalageGel/Output/resultImageGel.nii")
transformixImageFilter = sitk.TransformixImageFilter()
transformixImageFilter.SetMovingImage(sitk.ReadImage(pathImage2))
transformixImageFilter.ComputeDeformationFieldOn()
#transformixImageFilter.SetOutputDirectory("C:/Users/Armand/Desktop/RecalageGel/Output/DeformationFIELD.nii")
transformixImageFilter.SetTransformParameterMap(elastixImageFilter.GetTransformParameterMap())
transformixImageFilter.Execute()
sitk.WriteImage(transformixImageFilter.GetDeformationField(),"C:/Users/Armand/Desktop/RecalageGel/Output/OutputDef.nii")
我也尝试设置 transformixImageFilter 的输出目录,但也没有成功。我真的不明白这里发生了什么......有没有人有解决方案或同样的问题?我已经阅读了一些相关主题,但没有任何成功