I have a question about the "best practices" for inputs into topup and eddy with a specific multishell acquisition. We obtained six hemisphere (not full sphere) scans in the following order:
1) 96 direction 3000 bvalue blip-up scan (first volume is b0 => 97 total volumes)
2) 96 direction 2500 bvalue blip-up scan (first volume is b0 => 97 total volumes)
3) 96 direction 2000 bvalue blip-up scan (first volume is b0 => 97 total volumes)
4) 96 direction 1500 bvalue blip-up scan (first volume is b0 => 97 total volumes)
5) 96 direction 1000 bvalue blip-up scan (first volume is b0 => 97 total volumes)
6) blip-down b0 (just 1 volume)
What I did was grabbed the b0s from each scan:
all_b0s = [blip-up b0 (from bvalue = 3000), blip-up b0 (from bvalue = 2500), blip-up b0 (from bvalue = 2000), blip-up b0 (from bvalue = 1500), blip-up b0 (from bvalue = 1000), blip-down b0]
I fed these into topup with acqparams = [0 1 0 .1; 0 1 0 .1; 0 1 0 .1; 0 1 0 .1; 0 1 0 .1; 0 -1 0 .1]. The outputs looked correct when I checked the topup corrected b0s.
Then, I concatenated all the dwmri (scans 1-5), made an index file with [1...1 2...2 3...3 4...4 5...5] (length = 96*5) and fed both of these into eddy.
The problem is that the results looked incorrect. I actually reversed the scan order (1000 bvalue -> 1500 bvalue -> 2000 bvalue -> 2500 bvalue -> 3000 bvalue), reran topup and eddy, and the outputs looked correct.
Is the b-value ordering important for multshell scans in eddy? Also, is there a best practices for this type of acquisition (multishell hemisphere and only a single reverse phase encoded b0) for topup/eddy?
|