Print

Print


Thanks Jesper!

On Wed, Feb 1, 2017 at 11:56 AM, Jesper Andersson <[log in to unmask]> wrote:
Dear Mahmoud,


Could you please explain how to "  set any negative value to some very small positive value " using FSL commands?

First of all I _think_ this is not needed for the FSL tools. I _think_ that fdt, bedpost etc all does this internally. But maybe Stam or someone can confirm this?

So, the “setting” should only really be needed if you use non-FSL tools after topup/eddy. In that case something like

fslmaths my_data -mul -1 -bin -mul ‘some very small number’ to_add
fslmaths my_data -thr 0 -add to_add my_corrected_data

should do the trick.

Jesper


Thank you!
Mahmoud

On Wed, Feb 1, 2017 at 9:19 AM, Jesper Andersson <[log in to unmask]uk> wrote:
Dear Claire.


I've been using topup and eddy to correct my diffusion images. I noticed that the eddy corrected images contain some negative values. I decided to mask out (zero) any voxel that has a negative value in any of the diffusion image volumes (my data includes 11 b=0 images, 30 directions at b=1000 and 45 directions at b=3000). I then ran the images through DTI and NODDI (I used just the 30 directions at b=1000 for DTI, and all the directions for NODDI).

Many of the negative values introduced by topup and eddy were outside the brain, but some were inside the brain, so my FA and NODDI images contain some 0 values in regions that should have high values, e.g. the corpus callosum (there are more 0 values in the NODDI images than the FA images, as I used more directions for the NODDI images).  

I just wanted to ask if masking out the negative values is the best option? I noticed another suggestion on the topup website (http://fsl.fmrib.ox.ac.uk/fsl/fslwiki/topup/ApplyTopupUsersGuide) was to make the negative values positive (using fslmaths -abs). Or, I believe the negative values are introduced by spline interpolation, so I was wondering if I should try a different type of interpolation?

The negative values are caused by the spline interpolation. However, I would strongly advice against shifting to tri-linear as that introduces lots of smoothing to your data.

A negative value occurs when the “true” value is close to zero and where the associated uncertainty of that value will add/subtract some small value that may cause it to go negative. My suggested strategy is to simply set any negative value to some very small positive value, as that would be the closest “valid” value. That does not mean that you have to set that pixel to “some very small value”  in all your volumes. If you for example have a voxel with highly anisotropic diffusion you may find that in a volume acquired with the diffusion gradient along the principal diffusion direction you have a negative value. But in many of the other directions you will have values well into the positive domain, and these are all valid. The consequence of setting the negative value to “some very small value” will be a small underestimation of the true anisotropy in that particular voxel. But that is much preferable to smoothing all you your data with tri-linear interpolation.

Jesper
 

Any help would be greatly appreciated.

Kind regards,

Claire

Claire Kelly BSc (Hons)
Research Assistant 
Victorian Infant Brain Studies (VIBeS), Clinical Sciences
Murdoch Childrens Research Institute
The Royal Children’s Hospital
Flemington Rd Parkville, Victoria 3052 AUS
E: [log in to unmask]
www.mcri.edu.au    

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________