iFOD2 might be failed to track the simulation fiber bundle


#1

Hi MRtrix Users,

I am wondering the tracking error with iFOD2.
I made one fiber bundle and simulated the DWI ( 60 gradient directions and b=1000).
The DWI was added Rician noise with High SNR.
The fODF was estimated and I qualified it and confirm it was correctly estimated.
SD_Streem algorithm could track the fiber properly, but iFOD2 could not generate proper fibers.

Does anyone have an idea?

Here is all the data I used.

The command is below.

dwi2response tax dwi.mif rf.txt
dwi2fod csd dwi.mif rf.txt fod.mif 
tckgen -algorithm SD_STREAM fod.mif track_SD.tck -seed_image seed.mif -select 2000
tckgen -algorithm iFOD2 fod.mif track_iFOD2.tck -seed_image seed.mif -select 2000

The simulation fiber bundle is below.

The reconstruct fODF is below.

The result with SD_Streem is below.

The result with iFOD2 is below.

Seed region is below.


#2

I finally got a good parameter that cutoff is above 0.075, and I got the proper fiber bundle.

tckgen -algorithm iFOD2 -cutoff 0.075 fod.mif track_iFOD1.tck -seed_image seed.mif -select 2000


#3

Glad you got to the bottom of it. Indeed, the cutoff is going to be critical here. The default is set assuming your fODF has been estimated using (MSMT-)CSD with an appropriately calibrated response function, and/or intensity normalised using mtnormalise. This being simulated data, there’s a good chance the scaling differs from what’s expected, which would require a different cutoff.

Otherwise, if you used regular CSD (not the MSMT variant), the default cutoff is probably now too low for noisy data, especially if unconstrained using ACT – similar issue to this thread.


#4

Or if you’re really interested in the interaction between CSD algorithm / tracking cutoff and tracking outcomes, check out this monster figure I made when we were in the process of revising the default cutoff.