Dear FSL expert,
I have been confused with the nonlinear transformation.
(1) Assume that (x,y,z) is in the original image in ”mm coordinates”.
(x’,y’,z’,1).T = A*(x,y,z,1).T
Where A is the 4*4 affine matrix, and .T denotes the transpose.
So far, (x’,y’,z’) is at the reference image space but only affine transformed, and it corresponds to the index (i’,j’,k’) in “voxel coordinates”.
(2) Then we need to update them with the displacements field.
(x'’,y'’,z'’,1).T = (x’,y’,z’,1).T + (dx(i’,j’,k’),dy(i’,j’,k’),dz(i’,j’,k’),0).T
where d is the displacements field (without affine component) read from the output nii of ‘fnirtfileutils’.
(3) Then the (x’’,y’’,z’’) is the final location in the non-linear transformed image corresponding to the original location (x,y,z), that is, the values in the two locations are the same.
So am I correct? If that’s correct, is there any method to verify above procedure?
I would be grateful if you could give some suggestions.
xuemei
|