Hello to all FSL-ers,
I would like to provide for public use two bash scripts (attached), which I
wrote for the purpose of rotating the bvecs after ecc/motion correction in
FDT. Most of the people (including me) neglect this issue. However, it was
brought to the attention by people around Prof. Derek Jones on the ISMRM 2008
that particularly in tracking application a substantial error may accumulate
along distance of the track. I was also motivated to write the scripts, when
this fact was pointed out by a reviewer of my manuscript.
The first script (ecclog2mat.sh) takes as an input the log file resulting from
ecc/motion correction and generates number of the FSL mat files and a list of
these files with default name mat.list.
The second script (rotbvecs) is based on the script written by Matt Glasser,
(thanks Matt), and it takes as arguments the original bvecs, the name of a
new_bvecs and the mat.list file, which is an output from ecclog2mat.
I have tested the functionality of the scripts by rotating motion corrected
data, nodif, and nodif_brain_mask using Nudge by relatively large angles,
about 25 degrees in x, y, z, xy, xz, yz, and xyz directions, and fed the
rotbvecs with the multiple matrices (# = number of diffusion direction),
obtained from Nudge.
Saad, took the trouble looking at the scripts and results of the Nudge (thanks
again Saad), and he agrees that the scripts should be doing the job. We had an
idea that there could a radio button (possibly default On) in the ecc/motion
correction GUI calling this functionality automatically.
It would be interesting to compare bedpostx results with and without rotation
of the bvecs, but I haven't had the time to look at that yet.
Looking forward to hearing your comments and happy tracking.
Martin
|