Dear Luke,
> 1) the field file has the same geometry as the reference image.
> 2) the value at every voxel is a vector in R3, describing the
> displacement
> (in mm) of that voxel. So a voxel at location p in the reference image
> corresponds to the voxel at p + d in the moving image.
that is correct. I am assuming we are talking about the "field-files"
as opposed to the "coefficient-files" here?
> My question concerns the frame of reference for the moving and
> reference
> images. I know that flirt does not use the nifti defined coordinate
> systems,
> it instead uses an internal coord system in mm(
> https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind0903&L=FSL&P=R93775&X=0E7A1860A6D859E991&Y=lbloy%40seas.upenn.edu
> ).
> Is this also true of fnirt?
That is true also for fnirt. MJ's description at the link pretty much
says it.
What you need to remember is that the values in the fnirt field-files
are in mm. So when a value e.g. in the x-component is 1 it means "move
sampling point 1mm" and NOT "move sampling point 1 voxel".
> What I would like is to be able to output a displacement field were
> the
> vectors are expressed in LPS, ie +x = Left, +y = Posterior etc. Any
> suggestions on how to go about that?
I think the easiest would be to use fsltools to
1. Split the field into three files using fslsplit
2. Scale the fields by multiplying each image with an appropriate
value using fslmaths. If all you want to do is to signswap, then you
multiply by -1. If you want to signswap and convert to voxel-
displacements you multiply by -1/voxel_size where voxel size is the
voxel size for the direction that that component pertains to.
3. Put the file back together using fslmerge
I hope that answers your question?
Jesper
|