def makeRotMatrix(motionParams, simDirClusterDirection):
#Make three rotation matrices
call(["makerot", "-t", str(motionParams[4]), "-a", "1,0,0", "--cov="+simDirClusterDirection+ "/brain.nii.gz", "-o", "rotx.mat"])
call(["makerot", "-t", str(motionParams[5]), "-a", "0,1,0", "--cov="+simDirClusterDirection+ "/brain.nii.gz", "-o", "roty.mat"])
call(["makerot", "-t", str(motionParams[6]), "-a", "0,0,1", "--cov="+simDirClusterDirection+ "/brain.nii.gz", "-o", "rotz.mat"])
#Concatenate
call(["convert_xfm", "-omat", "rotxy.mat","-concat", "roty.mat", "rotx.mat"])
call(["convert_xfm", "-omat", "rotxyz.mat","-concat", "rotz.mat", "rotxy.mat"])
#Add translations
rot = np.loadtxt('rotxyz.mat')
rot[0,3] += motionParams[1]
rot[1,3] += motionParams[2]
rot[2,3] += motionParams[3]
np.savetxt('trans.mat', rot )
#Tidy up
call(["rm","rotx.mat","roty.mat","rotz.mat","rotxy.mat","rotxyz.mat",])
评论列表
文章目录