Hi, Jesper
Many thanks for your reply.
I have read “Understanding fnirt displacements” (Dec 2010) in mail lists. In that mail, you mentioned that
(1)“if we assume (x,y,z) are in "mm coordinates" and corresponds to the index (i,j,k) in the reference image , then the transform is given by
(x',y',z',1).T() = A.inv()*(x,y,z,1).T() + (d_x(i,j,k),d_y(i,j,k),d_z(i,j,k),0).T()”
Where A.inv() denotes the inverse of the affine matrix.
But in FSL website, the nonlinear transformation is given by
(x',y',z',1).T() = A*(x,y,z,1).T() + (dx,dy,dz,0).T()
What’s the difference of the two formulas?
(2)“A.inv() denotes the inverse of the affine matrix stored in the header of the warp file. An easier option is to use the --withaff option when you run fnirtfileutils, which means that the affine component gets added to the displacements.”
Is ‘A’ the same as the 4*4 affine matrix derived from ‘flirt’?
All the best.
xuemei
|