nipreps / mriqc

Automated Quality Control and visual reports for Quality Assessment of structural (T1w, T2w) and functional MRI of the brain
http://mriqc.readthedocs.io
Apache License 2.0
294 stars 130 forks source link

Allow DKI to be used in place of DTI? #1218

Closed arokem closed 6 months ago

arokem commented 6 months ago

Looks like we're allowing DTI and FWDTI here:

https://github.com/nipreps/mriqc/blob/61b59e01777fccd381fee9ac4ffc28a7b65c2f5c/mriqc/interfaces/diffusion.py#L462

DKI can also be used to calculate FA, and that might have advantages in some cases (generally more reliable, doesn't require excluding higher b-values ... to a point).

oesteban commented 6 months ago

Would DKI be substantially slower?

Regarding reliability, it depends on your definition:

I think we could actually have both. Since DTI is only used with the lower b-values, we are basically not looking into the high values' problems. It could make sense to use DTI for low b-values and also DKI for high b-values.

wdyt?

arokem commented 6 months ago

DKI is not substantially slower than DTI, because it's also solved as a linear set of equations.

I agree that it would be good to know about voxels with aphysical signals (which are a good canary in the coal mine), but I think that DKI would also report about those. The reliability I am referring to is consistency across different sets of b-values. As in this paper (Figure 9).

It would be interesting to produce both and see whether that's not overwhelming. Either way, I think that it would be easy to implement, but would require a slight adaptation of the API, because we'd want self.inputs.free_water_model to allow selection between the three different models.