Мне нужна помощь с simpleITK, я работаю с файлами NII, чтобы вычислить поле деформации. Я использую Python и simpleITK (simpleitk 1.2.0rc2.dev1167 + gd4cf2). Я могу легко зарегистрировать свои изображения или объемы, но я не могу получить поле деформации! Когда я печатаю его в консоли, simpleITK сообщает мне, что вектор является изображением, как и было предсказано, но когда я пытаюсь сохранить его с помощью функции «WriteImage», которая является функцией-участником sitk, в изображении присутствует пустые значения
код, используемый для этого:
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, но тоже безуспешно. Я действительно не понимаю, что здесь происходит ... У кого-нибудь есть решение или такая же проблема? Я прочитал некоторые темы, но безуспешно Спасибо заранее :)